Javaのデッドロックや競合状態に困っている人の強い味方?
マルチスレッドアプリのコードを動的に解析するツール、米コベリティ
2008/05/12
C/C++やJavaのコード解析システムベンダである米コベリティは5月12日、Javaマルチスレッドアプリケーション向けの動的解析ツール「Coverity Thread Analyzer for Java」の日本国内販売を開始した。
「Coverity Thread Analyzer for Java」はマルチスレッドJavaアプリケーション開発における、デッドロックや競合状態といった再現が難しい問題のために作られたツールだ。同社のコード解析技術を生かして、並列処理のバグとなるコードをすばやく検出し、データ破壊とシステム障害を回避できる。Eclipseプラグイン版もあり、マルチスレッドを実行しながらその状況も監視できるという。
従来、マルチスレッド処理におけるデッドロックや競合状態といった問題は、コードの該当部分を検出するのが難しく、問題部分の特定に数週間を費やすこともあった。なぜなら、マルチスレッドにおける並列処理のバグは、現象を再現するためのパターンが何万通りもあり、しかも断続的に現象が起きるため、テストに膨大な時間がかかるからだ。
また近年、マルチコアのプロセッサをソフトウェアでサポートする需要が増大しているのが、新たな課題となっているという。米コベリティ CTO ベン・シェルフ氏は次のように指摘する。「コードとテストの複雑さが増しても納期というのは延ばすことができず、さらに、多くの開発者はマルチスレッド開発での本格的なトレーニングが不十分だ。このため、シングルスレッド環境からマルチスレッド環境への移行時には多くの技術的問題が発生している」
「Coverity Thread Analyzer for Java」を使えば、「これまで発生した」競合状態およびデッドロックだけではなく、「これから発生するかもしれない」問題を検出でき、マルチスレッドアプリケーション開発において発生する多くの問題がリリース前のQAテスト時に解決できる。
さらに、コードのバグや脆弱性を静的に解析する同社製品「Coverity Prevent」と連携して使うことによって、製品間での情報共有機能による「複合解析」が可能だ。シェルフ氏は複合解析の利点を次のように述べた。「PreventでThread Analyzerを使用して静的解析の精度を向上させ、Thread AnalyzerでPreventの結果を使用してコードの動的解析の時間を短縮するという相互作用がある」
「Coverity Thread Analyzer for Java」は5月12日から評価版を発表したが、出荷開始は6月20日の予定だ。さらに、C/C++版も今後のリリースに向けて現在開発中という。
関連リンク
関連記事
情報をお寄せください:
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
キャリアアップ
- - PR -
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
トランプ氏圧勝で気になる「TikTok禁止法」の行方
米大統領選で共和党のトランプ前大統領が勝利した。これにより、TikTokの米国での将来は...
インバウンド消費を左右する在日中国人の影響力
アライドアーキテクツは、独自に構築した在日中国人コミュニティーを対象に、在日中国人...
SEOは総合格闘技である――「SEOおたく」が語る普遍のマインド
SEOの最新情報を発信する「SEOおたく」の中の人として知られる著者が、SEO担当者が持つべ...