問題タブ [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.
verification - MISRA-2004のコードチェックツールを検証するためのCファイルを作成した人はいますか?
MISRA-2004に準拠しているかどうかソースをコードチェックするためにPC-Lintを使用しています。これは安全関連のプロジェクトであり、TUVによる証明書を目指しているため、ツールに対する信頼の証拠を示す必要があります(「何度も使用した」などは受け入れません)。
私たちの目的は、ネガティブテストの完全なセットを用意し、MISRA-2004セットの各ルールについてツールをチェックし、それを破り、ツールによってエラーまたは警告を強制することです。
誰かがすでにこれを行っており、あなたはあなたの結果/ Cコードを共有する用意がありますか?
c# - .NetMVCの静的コードレビューシステムを探しています
私は小さなチームの一員であり、少しのダウンタイムが発生している間、プロジェクトチームのTFS/SharePointなどの再構築を支援する任務を負っています。経営陣から、静的コードレビューツールとしてSONARを使用する必要があるとの連絡がありました。プロジェクトにC#/ ASP.Net / MVCを使用しているため、これはやや面白いです...一方、SONARはJava用に設計されており、C#を処理できるのはプラグインのみです。
それで、私自身の直感と何人かの上級チームメンバーの推薦によって、私は代替案を探しています。
.Netフレームワークで動作するように設計されたそのようなシステムを誰かが私に勧めることができますか?実行時にコードをターゲットにできるFxCopが存在することは知っていますが、コンパイルされていないソースコードで機能するものが望ましいでしょう。
ご入力いただきありがとうございます。
plsql - 重複するソース コードを見つける
私はいくつかのレガシーコードを分析しています。これは約 80.000 行の古い plsql コードです。一見すると、ソースにはかなりの重複があり、削除する必要があります。diff のマニュアルを実行して各ファイルを確認する代わりに、ソース コードの重複行を検出するためのツール/コマンドライン confu が必要です。
私の目標は、ソースの書き換えの最小サイズと、このプログラムに取り込まれる実際の知識の量について、経験に基づいた推測を行うことです。各ファイル内の制御ステートメント IF ELSE FOR などと関数の量を見つけるために、いくつかの基本的な静的コード アナライザーを作成しました。しかし、重複したコードは統計から削除する必要があります。
code-analysis - 飲み込まれた例外を検出するための FxCop ルール
飲み込まれた例外を見つけるための FxCop ルールはありますか?
この記事http://mystuffisallhere.com/blog/post/2006/01/02/An-FxCop-rule-to-detect-swallowed-exceptions.aspxを見つけましたが、これを行うコードまたは dll が見つかりません。仕事。
ありがとうアルミール
lint - インクリメンタル ビルドの PC Lint - 最新コードからのエラーあり
インクリメンタル ビルドで CI をセットアップしています。静的チェックの一環として、インクリメンタル PC Lint レポートを構成する予定です。このレポートは、以前のすべての Lint レポートを無視して、新しいコードで発生したエラーのみを提供する必要があります。これを行うツールはありますか?
探索する相対的な領域に関するヒントは、私たちを助けるでしょう.
レポートの差分をとってみました。ただし、行番号は最後のチェックインとは異なるため、実際の増分エラーは発生しません。
プロジェクトのビルドには Linux を使用し、PC Lint レポートの生成には Windows を使用しています。
よろしく、
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」に変更します。
- まだ開いていない場合は、新しいスクリプト フェーズをダブルクリックします。
以下の内容をコピーして、「スクリプト」セクションに貼り付けます。
アップデート
java - Javaでバイトコードからプログラム依存グラフ(PDG)を生成する方法
さらにプログラムによる分析のために、Javaバイトコードからプログラム依存グラフ(PDG)を生成したいと思います。これは古く(論文は'87年のもの)、おそらくよく知られている技術なので、適切なツールがすぐに利用できると思いました---しかし、それらを見つけることができませんでした。
実際、広範囲にわたる検索では、わずかな結果しか見つかりませんでした。
- 2006年に放棄されたバンデラプロジェクト。
- 2009年にオープンソース化されたことを除けば、2007年以来何の努力も受けていないように思われるIndusプロジェクト。
- Moose JEEプロジェクトは、基本的にドキュメントがまったくないため、かなり新しいようです。
- そして、いくつかのクラスを提供するSootフレームワーク( JavaDocを参照)が、生成のための実装が不足しているようです。実際、スートはバンデラとインダスの基盤です。
だから私の質問は次のとおりです:そこに生きていて維持されている実装はありますか?前述のプロジェクトのいずれかで経験を積んだ人はいますか?あなたは何をお勧めします?
すでにご意見をありがとうございました、それは非常にありがたいです!
r - R lint プログラムの作成
Python でプログラミングする場合、pylint を使用すると非常に便利です。しかし、R でプログラミングする場合、これに匹敵するものはありません。
小さなサイド プロジェクトとして、小さな lint プログラムを書いてみるのは楽しいだろうと思いました。派手すぎるものはありません。次のようなものです。
- 関数名がキャメルケースであることを確認する
- 関数の平均長
- 未使用変数の検出
- 間隔。たとえば、
function(x=1, y=2)
代わりにfunction(x=1,y=2)
ただし、開始方法がわかりません(pylint soureコードを調べ始めました)。
どのように始めればよいですか?このタイプのプロジェクトに標準的なプログラミング手法はありますか? 検討すべき良いリソースはありますか?
プロジェクト全体をRで書きたいと思います。
c# - ジェンダームの安全でないコードの検出
Gendarme に精通している人は、C# の安全でないコードを検出するルールを作成できるかどうかを知っていますか?
java - コード スニペットが Java クラスのセットに常に存在することを強制する
コードのスニペットが、特定のパッケージの下にあるクラスのすべてのパブリック メソッドで実行されるようにする必要があります。
コードのスニペットが各パブリック メソッドの最初の行として常に存在することを保証するための最良の方法は何でしょうか?
PMD などの静的コード分析ツールの使用を検討しました。また、コンパイル時の AOP が役立つと思います。他にアイデアはありますか?
そのためにアスペクトを使用できることを知っています。問題は、アプリケーションが Spring を使用しているが、「チェック」する必要があるクラスが Spring で管理されていないことです。また、サーバーの起動オプションを変更して、Spring アノテーション ベースのランタイム ウィービングを有効にすることは避けたいと考えています。
編集: コードを適用する必要があるクラスは、Akka Typed Actors です。