ThreadSafe は、Java コード ベースにおける並行処理に関連するアプリケーションのリスクとセキュリティ脆弱性を、プログラム全体のプロシージャ間分析を使用して特定するソース コード分析ツールです。[ 1 ] [ 2 ] [ 3 ] [ 4 ] ThreadSafe は、複雑な環境で実行される並行アプリケーションにおけるソフトウェア障害を特定し、回避するために使用されます。[ 1 ] [ 2 ] [ 5 ] [ 6 ]
特徴
ThreadSafe は Java の並行処理の欠陥を検出します: [ 2 ] [ 3 ] [ 4 ]
- 競合状態とは、デバッガーでは再現が困難な、誤った動作や予測不可能な動作を引き起こす状態のことです。
- デッドロック[ 7 ] – 共有リソースを待機しているスレッド間の循環待機によって引き起こされます。
- 予測不可能な結果 – 同時実行コレクションの不適切な処理、不適切なエラー処理、またはオブジェクトの同期の混在が原因で発生します。
- パフォーマンスのボトルネックは、APIの誤った使用、冗長な同期、および共有可変状態の不必要な使用によって引き起こされます。
ThreadSafe は、 Eclipseソフトウェア開発環境およびSonarQubeソフトウェア品質管理プラットフォームと統合されています。開発環境内でコンテキスト情報が提供されるため、開発者はコード内で直接並行処理の問題を調査および解決できます。[ 2 ] [ 3 ] [ 4 ] Eclipse 以外の IDE のユーザーやビルド プロセスとの統合のために、コマンドライン バージョンも利用可能です。
基準への準拠を確認する
ThreadSafeは、CERT Oracle Secure Coding Standard for Javaの並行処理関連のルール違反を検出します。[ 8 ]
参考文献
- 1 2グラツィ、ビクター(2013年8月28日)。「スレッドセーフな並行性静的解析ツールが初の一般公開を発表」。InfoQ.com。
- 1 2 3 4 Taft, Darryl (2013年9月4日). 「ContemplateがスレッドセーフなJava並行性静的解析ツールを提供」 . DevX.com.
- 1 2 3 Atkey, Robert (2014年1月14日). 「ContemplateのThreadSafeを使用してJavaの並行処理の問題を発見および診断する」 . InfoQ.com.
- 1 2 3 Atkey, Robert; Sannella, Donald (2015). "ThreadSafe: Java の並行処理のための静的解析". Electronic Communications of the EASST . 72 . doi : 10.14279/tuj.eceasst.72.1025.995 .
- ↑ Roy, Ritobaan (2013年5月1日). 「ソフトウェアエラー:CFO向け新技術ブリーフィング」 . CFO Insight. 2013年10月14日のオリジナルからアーカイブ。
- ↑ルーベンス、ポール(2014年3月12日)。「ソフトウェアテストがIT災害からあなたを救えない理由」。2ページ目のThreadSafeに関する記述。CIO.com。2014年3月14日のオリジナルからアーカイブ。 2014年4月18日取得。
- ↑ Raible, Matt (2014年6月26日). 「Contemplate ThreadSafeがデッドロック検出を導入」 . InfoQ.com.
- ↑ 「SEI CERT Oracle Java コーディング標準」。ソフトウェア エンジニアリング研究所、カーネギー メロン大学。2016年3 月 18 日に取得。