問題タブ [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.
c++ - Cppcheckがこの明らかな配列の範囲外エラーを検出しないのはなぜですか?
C ++プロジェクトの静的コード分析用にCppcheckツールをインストールしましたが、パフォーマンスが低いと感じました。たとえば、Cppcheckが次のコードで配列の範囲外エラーを見つけられない理由を誰かに教えてもらえますか?
このコードをCppcheckを使用して簡単にチェックできるオンラインデモがあります。4行目でのメモリリークだけで、バッファオーバーフローの兆候は見られません。
c# - 静的チェッカーは、特定の条件下で決定論的動作を評価できませんか?
私はこれを次のテストケースに要約することができましたが、これがC#コードコントラクトの静的チェッカーの制限なのか、それとも私が見逃しているものなのか疑問に思っています。あるスタイルのコードを使用してコントラクトを証明しようとすると、不変の証明されていない警告がスローされますが、それでも(私が思うに)それを証明する同等の方法は問題なく機能します。
当初、これはPureプロパティを持つオブジェクトを使用していなかったため(したがって、コードコントラクトはプロパティが決定論的であるかどうかを評価できなかったため)、オブジェクトの周りにPureラッパーを作成したためだと思いました(Nullable <Int64>になる可能性があります)助けにはならなかった。
最初のテストケースと3番目のテストケースに違いはありますか、それとも同等であると信じて正しいのでしょうか。静的チェッカーが3番目のケースを正しく評価できないというだけですか。
c++ - 推奨される一般的な C++ コードの静的チェック ツールはありますか?
私たちのチームには何人かの新しい C++ の人が働いているので、毎日醜いコードが多すぎます! 読み取り専用の文字列、STL コンテナーをパラメーターとして使用する関数を嫌いますが、const 参照はありません!!! 私は夢中だ!!!
これらの醜いコードを見つけることができる静的コードチェッカーはありますか? 私たちのメイクファイルで使用されるそのようなツールが必要です。
javascript - カスタムオプションを使用してコンソールからJSlintを実行しますか?
前の質問で、ChromeまたはFirefoxのデバッグコンソールから.jsファイルでJSLintを実行する方法を、コンソールまたはノードからJSLintを実行する方法を学びました。
JSLintを(上記の質問に対する回答のようなJavaScriptコードから)実行する方法はありますが、カスタムオプションを使用します。たとえば、jQuery(JQueryを使用したJavascriptのJSLint検証)を含むコードの場合、オプションはブラウザーを想定し、 jQueryと$をパラメーターとして持つオプションの定義済みセクション?
c - 汚染分析の実行方法を添え木
Splintを使用して汚染分析を実行するにはどうすればよいですか?
Ubuntu12.04にSplintをインストールしました。以下のような小さなテストケースを作成しました。
また、次の内容でsplint.xhファイルを作成しました。
また、以下の内容でsplint.mtsファイルを作成しました。
次に、最後に次のコマンドでスプリントツールを実行しました。
prg001.cがサンプル入力である場合、「splint」はsplint.mtsおよびsplint.xhファイルを指します。すべてのファイルは現在のディレクトリにあります。
私が受け取った出力は次のとおりです。
スプリント3.1.2---2012年8月21日
prg001.c :(関数main内)prg001.c:6:1:printfへのフォーマット文字列パラメーターはコンパイル時定数ではありません:フォーマットパラメーターはコンパイル時に不明です。引数は型チェックできないため、これはセキュリティの脆弱性につながる可能性があります。(警告を禁止するには-formatconstを使用します)prg001.c:3:14:パラメーターargcは使用されません関数パラメーターは関数の本体で使用されません。型の互換性や将来の計画のために引数が必要な場合は、引数の宣言で/ @ unused@ /を使用してください。(警告を禁止するには-paramuseを使用します)
チェックが終了しました---2つのコード警告
出力に汚染分析のヒントはありません。Splintを使用して汚染分析を行う方法について誰かが私を助けてくれますか?
ありがとう
memory-leaks - メモリリークのJavaコードを見つけることができるJava静的コードアナライザーはありますか?
メモリ リークを引き起こす可能性のあるコードを検出できる Java Static Code Analyzer はありますか? JVM プロファイラーがこの目的で使用されることは理解していますが、それでは開発中にチェックポイントを設定することはできません。
ベスト プラクティスについて開発者を教育することは一方的な側面ですが、ここでチェックポイントとして自動化されたプロセスをどのように配置すればよいでしょうか?
ご意見やご提案は大歓迎です。
code-analysis - 静的および動的コード分析
このトピックに関するいくつかの質問を見つけましたが、それらすべてに多くの参考文献が含まれていますが、参考文献のほとんどは具体的なツールについて述べており、一般的な分析の概念については述べていないため、まだ明確な考えがありません。したがって、いくつか質問があります。
静的分析について: 1. どの手法が成功しており、現在より関連性が高いかについての参考文献または概要を知りたいです。2. バグを発見することに関して、彼らは実際に何ができるでしょうか? 要約を作成できますか? それはツールに依存していますか?
シンボリック実行について: 1. シンボリック実行をどこで囲むことができますか? アプローチに応じて、それらが動的分析なのか、それとも静的分析と動的分析の混合なのかを判断できる場合は知りたいと思います。
ツールの 2 つの異なる手法を区別する問題を見つけましたが、理論的な違いはわかっていると思います。
私は実際にCで作業しています事前に感謝します
c - C 構文パーサー
C 構文を解析できるライブラリはありますか?
たとえば、c 構文を指定して c ファイルを分析する独自のコード/スクリプトを作成したいと考えています。関数/ファイルごとの「if」ステートメントの数、関数内のコード行ごとのコメント行など...
パーサーから開始する代わりに、ジャンプ スタートに使用できるライブラリが既にある場合は、このすべてのカスタム コードを簡単に作成したかっただけで、問題はありません。
ありがとう!
c# - NDependを介して特別なクラスでのみ使用されるコードを検索する
NDependを使用して、コードベースのデッドコードを削除しようとしています。依存性注入を使用しているので、レジストリベースから派生したクラスでのみ使用されるインターフェイス(および実装)を見つけたいと思います。
これを行う方法はありますか?
ありがとう!