0

Cプロジェクトでバッファオーバーフローの可能性を見つけるためのツールが必要です。のような脆弱な機能を探すだけでなくstrcpy()、誤検知の量を最小限に抑える必要があります。たとえば、likeの呼び出しstrcpy(buffer,"")はバッファオーバーフローとして認識されるべきではなく、メモリの適切な割り当ても認識されるべきです。

これらの要件を満たすツールを知っていますか?

単一のファイル(完全なプロジェクトではない)用のツールを見つけたか、多くの誤検知を示しました。

4

4 に答える 4

2

clang静的アナライザーには、境界の問題について多くのテストがあります。次のように呼び出すことで、プロジェクト全体で使用できます。

scan-build make

ここで、「make」はプロジェクトをビルドするコマンドです。非常に保守的であるため、誤検知が多く発生することはありません。

于 2012-08-16T11:50:01.100 に答える
2

Gimpel の FlexeLint (Unix) == PC-Lint (Windows) は、このタイプのチェックに役立つツールであることがわかりました。例を入力して生成される警告を確認できるオンライン デモ チェッカーがあります。それはあなたにそれが何ができるかのアイデアを与えるはずです.

于 2012-08-16T11:51:41.473 に答える
1

シンボリック仮想マシンであるKLEEを見てください。シンボリック実行を使用して、すべての可能な実行パスで可能なすべての変数値を決定します。

于 2012-08-16T11:50:25.033 に答える
0

IBM Rational Purifyを試してみてください。これは静的コード アナライザーであり、詳細についてはwikiを参照してください。

于 2012-08-16T12:27:01.597 に答える