日立ソリューションズは、お客様の全体最適の視点で豊富なソリューションを組み合わせて提供する『ハイブリッド インテグレーション』を実現します。

株式会社 日立ソリューションズ

ニュースリリース

本記事は2010年10月1日以前に公開されたもののため、本文中の社名(日立ソフト)は当時のものとなっております。

2008年12月8日
日立ソフト

日立ソフト、集中型Javaコード診断ツール「anyWarp CodeDirector」に新機能
~バグに直結するコードを指摘するルール追加により品質の大幅向上~

 日立ソフト(本社:東京都品川区、執行役社長:小野 功)は、Java開発におけるコーディングルール違反をプロジェクト全体で組織的にチェックできる集中型Javaコード診断ツールを機能拡大した「anyWarp CodeDirector (エニーワープ・コードディレクター)V5.2」を2008年12月10日より発売します。今回の製品では、日立ソフトが社内で運用してきた実績や既存ユーザからの要望を元に、開発者が間違いやすくバグに直結しやすいコードを指摘できるように、新たに31のルールを追加しました。従来のルールに加え今回追加されたルールを適用することにより、品質の大幅な向上を図ることができます。

 「anyWarp CodeDirector」は、日立ソフトが手がけた数多くの開発プロジェクトでの経験や既存ユーザからの要望に基づき、診断の準備、実施、結果の確認を省力化するための仕組みや、コード診断に用いるルールを充実してきています。今回の機能強化では、開発者が間違いやすくバグに直結しやすいコードを指摘するルールを拡充しました。例えば、条件式の結合ミス、リソースのクローズ漏れ、マルチスレッドに関する考慮漏れなどは、開発者のスキル不足あるいは不注意によりソースコードに紛れ込みやすい間違いと言えます。しかも、こうした間違いは致命的かつ比較的再現が難しいバグに直結することがほとんどです。こうした間違いを指摘するルールの充実により、より早い段階で重大なバグを摘出することができ、少ない作業で品質の安定したシステム構築が実現できます。  今回新たに追加された31のルールのうち、3つの具体例を参考資料に示します。

 日立ソフトでは、「anyWarp CodeDirector」をソフトウェア開発ソリューションの一つとして位置づけ、年間500ユーザライセンスを目標に、積極的に拡販していきます。

 また当社では、
(1)「anyWarp CodeDirector」:コーディング段階のテストにて品質の維持とリスク低減を実現
(2)回帰テスト自動実行ツール「anyWarp Capture/Replay」:回帰テストの効率化を支援
(3)Webシステム性能測定ツール「Assam WebBench」:総合テストから運用段階での性能テストをカバー
を組み合わせたテストスイート製品「anyWarp TestSuite」を提供しており、プログラム開発から総合テストにわたり、テストの効率化・品質向上を支援します。

<出荷開始時期 2008年12月10日

<製品紹介ホームページ>
 http://www.hitachi-solutions.co.jp/anywarp_codedirector/

<「anyWarp CodeDirector」サービス体系>


サービス名

サービス内容

標準価格

年間保守サービス (@Service24)

サービス内容については
以下をご覧下さい https://service24.hitachi-solutions.co.jp/

製品標準価格の16%/年 

コーディングルール開発
コンサルティングサービス

コーディングルール設計や運用環境の構築等の支援 個別見積

<前提稼動環境>

OS Microsoft® Windows 2003 Server Standard Edition
Microsoft® Windows 2003 Server Enterprise Edition
Microsoft® Windows 2000 Server (SP4以降)
Microsoft® Windows 2000 Advanced Server(SP4以降)
Microsoft® Windows 2000 Professional(SP4以降)
Microsoft® Windows XP Professional (SP1以降)
Java JDK1.4, 5.0
Eclipse Eclipse 3.2, 3.3
ブラウザ Internet Explorer 6, 7
ハードウェア 上記OSが稼動するPCサーバ CPU:Pentium4 2.4GHz以上を推奨
実装メモリ:1GB以上を推奨

※ Javaおよび全てのJava関連の商標およびロゴは、米国およびその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。
※ Microsoft、Windows、Internet Explorer、Visual SourceSafeは、米国およびその他の国における米国Microsoft Corp.の登録商標です。
※ Pentium4は、米国およびその他の国における米国Intel Corp.の登録商標です。
※ Apache Strutsは、Apache Software Foundationの商標または登録商標です。
※ その他記載の会社名、製品名はそれぞれの会社の商標もしくは登録商標です。
※ 日立ソフトの正式名称は、日立ソフトウェアエンジニアリング株式会社です。


 

 担当部署:@Sales24
 Tel: 03-5479-8831  ホームページ: http://sales24.hitachisoft.jp/

【参考資料】

anyWarp CodeDirector V5.2」で新たに追加されたルールの例

 今回新たに追加された31のルールのうち、具体例を3つ挙げます。

(1)条件式の結合ミスを指摘するルール(ConditionWithKnownNullValueルール)
  このルールでは、条件式を誤って結合したため、値がnullの変数を参照し実行時にエラーが発生するバグを指摘することができます。このようなバグは正常系の単体テストでは発生せず、またコンパイルエラーにならないため見過ごされがちです。以下の例では、4行目において、二つの条件式が誤ってAND演算子 (正しくはOR演算子であるべき)で結合されていることを指摘しています。



図1.ConditionWithKnownNullValueルールの指摘画面例

(2)リソースのクローズ漏れを指摘するルール(UnclosedResourceルール)
 このルールでは、リソースのクローズ処理が漏れていることにより、リソースが解放されずメモリリークなどの問題が発生するバグを摘出します。以下の例では、9行目で生成したBufferedWriterオブジェクトに対するクローズ処理が漏れていることを指摘しています。


図2.UnclosedResourceルールの指摘画面例

(3)マルチスレッドに関する考慮漏れを指摘するルール(StrutsActionFieldルール)
 このルールでは、Struts のActionクラスを継承したクラスにおいて、インスタンスフィールドが宣言されているというように、マルチスレッドに関する考慮漏れがあることを指摘します。Actionクラスのインスタンスは、複数のスレッドにより共有されるオブジェクトであるため、こうしたインスタンスフィールドを持っていると、同時にアクセスされたHTTPリクエストによって値が共有されてしまい、例えば別人になりすませるなどの重大な問題が発生する可能性があります。また、このようなバグは単体テストでは発生せず再現性も低いので、早期に発見することが重要です。以下の例では、Actionクラスを継承したクラスの14行目にインスタンスフィールドが宣言されていることを指摘しています。


図3.StrutsActionFieldルールの指摘画面例

AdobeReader

PDFファイルをご覧いただくには "Adobe Reader"が必要です。
最新版はAdobe社のWebサイトよりダウンロードできます。(無償)

ニュースリリースの内容は発表当時のものです。商品の販売終了や組織変更により、最新の情報と異なる場合がありますのでご了承ください。

日立ソリューションズのご紹介
日立ソリューションズは、お客様の業務ライフサイクルにわたり、豊富なソリューションを全体最適の視点で組み合わせ、ワンストップで提供する「ハイブリッドインテグレーション」を実現します。