メモリ不足は、Javaおよび他のOO言語で最も頻繁に発生するエラーの1つです。 "メモリ不足"エラーを減らすために静的プログラム解析を適用できますか? 私はコードを実行せずにこのエラーを減らすことを目指すアプローチを探しています。 これに関する研究を行う特定の分析分野はありますか?静的プログラム解析を使用してメモリ不足エラーを解決する
2
A
答えて
1
はい、静的アナライザーは範囲外を検出できます。複雑なポインタ使用状況を追跡することができないため、ダイナミックアナライザよりもわずかに悪いです。さらに、スタティック・アナライザは何らかの情報を得ることができません。のは、抽象的な状況を考えてみましょう:
void OutstandingIssue(const char *strCount)
{
unsigned nCount;
sscanf_s(strCount, "%u", &nCount);
int array[10];
memset(array, 0, nCount * sizeof(int));
}
範囲外の配列のインデックスが起こるかどうかは、それは は、外部から受信したデータに依存します。ここで静的コードアナライザは無力です。ここでできることの最大値は、入力値がチェックなしで使用されることを警告することです。ダイナミックアナライザは、プログラムのテスト中にエラーを検出しますが、入力データのさまざまなバリエーションを受け取ります。これらのトピックには、hereが追加されています。
しかし、「スタティック・アナライザは本当に役立つのですか?」という質問がある場合、答えは「はい」です。たとえば、PVS-Studioチームによって収集されたバグの集合には、スタティックアナライザによって検出されたこのタイプのエラーの数が含まれています(V512、V645)。
関連する問題
- 1. アンドロイドアプリのメモリ不足エラーを解決する方法
- 2. j2meアプリケーションでメモリ不足例外を解決する方法
- 3. PHPでメモリ不足の原因を解析する
- 4. Roslynメモリ内コードの静的コード解析
- 5. XML解析でメモリ不足が発生しました
- 6. 静的解析ラムダ式を使用したテストメソッドのCA1811エラー
- 7. BitmapFactory.decodeResourceと不可解なメモリ不足
- 8. 静的解析ツールの使用 - クリアケース/クエスト
- 9. は、プロジェクトファイルが不足して解決する方法を、ビルド・
- 10. MinGWを使用して静的ライブラリでRtlSecureZeroMemoryが未解決
- 11. メモリ不足エラー
- 12. Perlスクリプトの実行時にメモリ不足の問題を解決しました。
- 13. .net Windows Mobileのメモリ不足例外 - この問題を解決するには?
- 14. Coffeescript静的解析/静的型チェック - ロードブロッキング
- 15. 静的リソースを解決するカスタムパスSpring
- 16. Nuget Package Managerパッケージの解決に静的パスを使用する
- 17. メモリ不足エラーandroid
- 18. BaseAdapterメモリ不足エラー
- 19. Vb6メモリ不足エラー
- 20. TYPO3 - メモリ不足エラー
- 21. SSIS - メモリ不足エラー
- 22. JSONメモリ不足エラー
- 23. OpenCVメモリ不足エラー
- 24. JSON - メモリ不足エラー
- 25. ANTLRをJavaソースファイルの静的解析に使用する
- 26. 静的コード解析ツール -
- 27. Javaコールグラフの静的解析
- 28. GCCプリプロセッサPLUS静的解析?
- 29. C++静的解析、テンプレートクラス
- 30. コピー&ペースト静的解析ツール?
これは主にmem *関数に関連する問題を検出します。 Javaのようなプログラミング言語はどうですか? Javaのメモリ不足コードを検出する静的解析を使用して何かできますか? –
私はJavaでは動作しません。正確な答えはわかりません。しかし、SCAを使ってJavaで同様のエラーが発生することは確かです。 – AndreyKarpov
あなたはそれを行う良いツールを知っていますか? –