問題タブ [static-code-analysis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
795 参照

verification - MISRA-2004のコードチェックツールを検証するためのCファイルを作成した人はいますか?

MISRA-2004に準拠しているかどうかソースをコードチェックするためにPC-Lintを使用しています。これは安全関連のプロジェクトであり、TUVによる証明書を目指しているため、ツールに対する信頼の証拠を示す必要があります(「何度も使用した」などは受け入れません)。

私たちの目的は、ネガティブテストの完全なセットを用意し、MISRA-2004セットの各ルールについてツールをチェックし、それを破り、ツールによってエラーまたは警告を強制することです。

誰かがすでにこれを行っており、あなたはあなたの結果/ Cコードを共有する用意がありますか?

0 投票する
1 に答える
1397 参照

c# - .NetMVCの静的コードレビューシステムを探しています

私は小さなチームの一員であり、少しのダウンタイムが発生している間、プロジェクトチームのTFS/SharePointなどの再構築を支援する任務を負っています。経営陣から、静的コードレビューツールとしてSONARを使用する必要があるとの連絡がありました。プロジェクトにC#/ ASP.Net / MVCを使用しているため、これはやや面白いです...一方、SONARはJava用に設計されており、C#を処理できるのはプラグインのみです。

それで、私自身の直感と何人かの上級チームメンバーの推薦によって、私は代替案を探しています。

.Netフレームワークで動作するように設計されたそのようなシステムを誰かが私に勧めることができますか?実行時にコードをターゲットにできるFxCopが存在することは知っていますが、コンパイルされていないソースコードで機能するものが望ましいでしょう。

ご入力いただきありがとうございます。

0 投票する
4 に答える
1682 参照

plsql - 重複するソース コードを見つける

私はいくつかのレガシーコードを分析しています。これは約 80.000 行の古い plsql コードです。一見すると、ソースにはかなりの重複があり、削除する必要があります。diff のマニュアルを実行して各ファイルを確認する代わりに、ソース コードの重複行を検出するためのツール/コマンドライン confu が必要です。

私の目標は、ソースの書き換えの最小サイズと、このプログラムに取り込まれる実際の知識の量について、経験に基づいた推測を行うことです。各ファイル内の制御ステートメント IF ELSE FOR などと関数の量を見つけるために、いくつかの基本的な静的コード アナライザーを作成しました。しかし、重複したコードは統計から削除する必要があります。

0 投票する
1 に答える
562 参照

code-analysis - 飲み込まれた例外を検出するための FxCop ルール

飲み込まれた例外を見つけるための FxCop ルールはありますか?

この記事http://mystuffisallhere.com/blog/post/2006/01/02/An-FxCop-rule-to-detect-swallowed-exceptions.aspxを見つけましたが、これを行うコードまたは dll が見つかりません。仕事。

ありがとうアルミール

0 投票する
2 に答える
481 参照

lint - インクリメンタル ビルドの PC Lint - 最新コードからのエラーあり


インクリメンタル ビルドで CI をセットアップしています。静的チェックの一環として、インクリメンタル PC Lint レポートを構成する予定です。このレポートは、以前のすべての Lint レポートを無視して、新しいコードで発生したエラーのみを提供する必要があります。これを行うツールはありますか?

探索する相対的な領域に関するヒントは、私たちを助けるでしょう.


レポートの差分をとってみました。ただし、行番号は最後のチェックインとは異なるため、実際の増分エラーは発生しません。

プロジェクトのビルドには Linux を使用し、PC Lint レポートの生成には Windows を使用しています。

よろしく、

0 投票する
2 に答える
3855 参照

xcode - Xcode 3でclang静的コード分析からの警告をエラーとして扱う方法は?

質問

RUN_CLANG_STATIC_ANALYZER (「Run Static Analyzer」) プロジェクト設定により、プロジェクトで重要な問題が検出されました。私たちはそれらに対処しており、将来の問題が忍び寄るのを防ぎたいと考えています.

私たちは、clang 分析の警告をエラーとして扱い、ビルドを中断させようとしています。-Werror (「警告をエラーとして扱う」) が有効になっているにもかかわらず、これまでのところ成功していません。

問題の例

Xcode 内で生成された次の分析呼び出し:

/Developer/usr/bin/clang -x Objective-c [...] --analyze [...]/TroubledCode.m -o [...]/TroubledTarget.build/StaticAnalyzer/normal/i386/TroubledCode. plist

静的コード分析の警告が生成されます。

しかし、Xcodeは「ビルドに成功しました... 1つのアナライザー結果」を報告します。私たちが探している解決策は、上記の例で「Build Failed」を生成することです。


解決

Jim のアドバイスを受けて、ビルド スクリプトを作成しました。

誤報を避けるために、無関係な分析残留物を無視するように苦労しました。このソリューションは、Xcode IDE からビルドする場合、および を使用してプロジェクトをビルドする場合に機能するはずxcodebuildです。

Xcode 3 解析の警告をビルド エラーに変えるには:

  • 問題のプロジェクトまたはターゲットをダブルクリックします。
  • [ビルド] タブで、[設定] > [リンク] > [リンク マップ ファイルの書き込み] の下のボックスをオンにします。

その設定は とも呼ばれLD_GENERATE_MAP_FILEます。

  • [グループとファイル] > [ターゲット] の下で、この機能を追加するターゲットの開閉用三角ボタンをクリックします。
  • 「Link Binary With Libraries」フェーズを右クリックします。
  • [追加] > [新しいビルド フェーズ] > [新しい実行スクリプト ビルド フェーズ] を選択します。
  • オプション: 追加したばかりの「Run Script」フェーズの名前を「Treat Clang Warnings as Errors」に変更します。
  • まだ開いていない場合は、新しいスクリプト フェーズをダブルクリックします。

以下の内容をコピーして、「スクリプト」セクションに貼り付けます。

アップデート

Mike Vossellerは、Xcode 5 用のこのスクリプトのアップグレード版を持っています。

0 投票する
1 に答える
3636 参照

java - Javaでバイトコードからプログラム依存グラフ(PDG)を生成する方法

さらにプログラムによる分析のために、Javaバイトコードからプログラム依存グラフ(PDG)を生成したいと思います。これは古く(論文は'87年のもの)、おそらくよく知られている技術なので、適切なツールがすぐに利用できると思いました---しかし、それらを見つけることができませんでした。

実際、広範囲にわたる検索では、わずかな結果しか見つかりませんでした。

だから私の質問は次のとおりです:そこに生きていて維持されている実装はありますか?前述のプロジェクトのいずれかで経験を積んだ人はいますか?あなたは何をお勧めします?

すでにご意見をありがとうございました、それは非常にありがたいです!

0 投票する
4 に答える
1752 参照

r - R lint プログラムの作成

Python でプログラミングする場合、pylint を使用すると非常に便利です。しかし、R でプログラミングする場合、これに匹敵するものはありません。

小さなサイド プロジェクトとして、小さな lint プログラムを書いてみるのは楽しいだろうと思いました。派手すぎるものはありません。次のようなものです。

  • 関数名がキャメルケースであることを確認する
  • 関数の平均長
  • 未使用変数の検出
  • 間隔。たとえば、function(x=1, y=2)代わりにfunction(x=1,y=2)

ただし、開始方法がわかりません(pylint soureコードを調べ始めました)。

どのように始めればよいですか?このタイプのプロジェクトに標準的なプログラミング手法はありますか? 検討すべき良いリソースはありますか?

プロジェクト全体をRで書きたいと思います。

0 投票する
1 に答える
241 参照

c# - ジェンダームの安全でないコードの検出

Gendarme に精通している人は、C# の安全でないコードを検出するルールを作成できるかどうかを知っていますか?

0 投票する
2 に答える
105 参照

java - コード スニペットが Java クラスのセットに常に存在することを強制する

コードのスニペットが、特定のパッケージの下にあるクラスのすべてのパブリック メソッドで実行されるようにする必要があります。

コードのスニペットが各パブリック メソッドの最初の行として常に存在することを保証するための最良の方法は何でしょうか?

PMD などの静的コード分析ツールの使用を検討しました。また、コンパイル時の AOP が役立つと思います。他にアイデアはありますか?

そのためにアスペクトを使用できることを知っています。問題は、アプリケーションが Spring を使用しているが、「チェック」する必要があるクラスが Spring で管理されていないことです。また、サーバーの起動オプションを変更して、Spring アノテーション ベースのランタイム ウィービングを有効にすることは避けたいと考えています。

編集: コードを適用する必要があるクラスは、Akka Typed Actors です。