質問

私は、任意のJavaコードの並行性を分析することができるフレームワークやアプリケーション(アプリ)/プログラムがあるかどうか疑問に思いましたか?

このツールがJRE出荷クラスとメソッドのすべての実装を知っている場合は、同期ブロックとメソッドとコール階層の簡単な分析になります。ここからペトリネットを作成し、あなたがデッドロックを経験することができれば確かにあなたに言うことができます。

私は何かに欠落しているか、これは本当にとても簡単ですか?それからそのようなもののものをやっているいくつかのクールなツールが必要ですか?あるいは、このようなツールは、基礎となるプログラム/ビジネスロジックのために完全に保存されている可能性のあるデッドロックが多すぎますか?ペトリネットはこれらの状況を処理するのに十分強力であるべきですか?

これは、死んだロックの問題と関連していない可能性がある、またはそれに関連しない可能性があるバグを検索するのに多くの人時間を節約します。

役に立ちましたか?

解決

(多くの)並行性関連のバグは静的コード分析を使用して見つけることができますが、すべての種類のバグには適用されません。一部のバグは、特定の条件下で実行時にのみ表示されます。

IBMには、コンテスト;レース条件、デッドロック、およびその他の断続的なバグを含む可能性が高いプログラムシナリオ(まとめて同期問題と呼ばれる)が高い周波数で表示されるようになるようにプログラムスレッドの実行をスケジュールします。

これはあなたのアプリの計装版に対して実行(単位)テストを必要とします。この developerWorks記事

他のヒント

この紙の静的解析を実行するツールについて説明しています。ライブラリとデッドロックが可能かどうかを判断します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top