JavaTM静的解析ツールの有効活用
2004/01/27

NTT COMWARE システム本 部 SE部 竹内和彦

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

１．弊社におけるJavaTM開発
1997

JavaTMでの大規模システム 開発に着手

アジェンダ
1. 弊社におけるJavaTM開発
2. 弊社における開発の特徴
3. 品質向上へのアプローチ
4. 規約の作成
5. 確実なチェックを行うために
6. ツール活用事例①ソースコードチェックサービス②自動試験ツール
7. 今後に向けて
Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

２．ＮＴＴコムウェアにおける開発の特徴
テレコム関連の 開発が中 心

コーディング規約（初版）制定

1998

社内コミュニティ−立ち上げ

2001

JavaTM技術の支援部隊立ち上げ

テレコム開発？

支援業務開始• 非常に大規模であり、且つミッションクリティカルである

規約類整備
単体試験ツールとして「Ｊｔｅｓｔ」※１を導入• 新 サービス対応の為、定期的にバージョンアップを行うコンポーネント流通の開始
そこでソースコードチェックサービスの開始
2002

Ｊ２ＥＥＴＭフレームワークの開発開始
自動試験ツール稼動開始

2003

高い品質と維持管理のしやすさが 必要※１：「Jtest」
は米国ParaSoft社の製品です（日本販売元：テクマトリクス社）
Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

３．品質向上へのアプローチ

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

４．規約の作成（１／２）

品 質は単体 テストで決まってしまう！
どうしよう？

各 種の文献を参考に検討
単 体テストを強化するために、単体 テストツールを導入しよう
その前にまずは、品質の 高いコーディングをするためのルールを決めよう

有 スキル者による検討

そしてルールどおりに コーディングされているかを効率的にチェックするためにツールを使用

規約

今 までの ノウハウを参考

まずはツールではなくルール！！
Copyright(c) 2004 NTT COMWARE CORPORATION all rights reservedCopyright(c) 2004 NTT COMWARE CORPORATION all rights reserved1４．規約の作成（２／２）

５．確実なチェックを行うために規約どおりに コーディングされているか？

プロジェクトでのシステム開発

チェック

改善要望

盛り込みツールを利用することにより見落としがなく早く確実にチェックできる

新しい規約

規約

追加検討

「Jｔest」デフォルトルール

ノウハウの注入
ソースコードＪ２ＳＥＴＭのバージョンアップ 等

規約

社内共通ルール「Jｔest」
結果

更に充実した規約へ！
Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

６．ツール活用事例①ソースコードチェックサービス（１／２）
ソースコードチェックサービスとは、開発プロジェクトで製造を行ったソースコードをチェックし、エラーレポートを作成する事で、コーディングレベルの品質評価、エラーの早期発見、テスト稼動 の削減を開発プロジェクトに対して支援するサービスです。

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

６．ツール活用事例①ソースコードチェックサービス（２／２）
なぜ？ このサービスが必 要とされたのでしょうか？

システム開発において、品 質を管理するなど、品質を定量的に測定する事ができる。

「Jｔest」

ソースコード結 果レポート

コーディング作業の品質確保を製造担当者まかせにするのではなく、第３者から見 た試 験を実施する事により、潜在している問題をチェックする事ができる。

試験工程に入る前に、チェックされたエラーを修正する事により、品質が確保 され、試験作業の 稼動が削 減できる。

静的解析
デフォルトの動的解析

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

６．ツール活用事例②自動試験ツール（１／３）

６．ツール活用事例②自動試験ツール（２／３）

自動試験ツールとは、最 新のソースコードで各種試験等を実施し、結果をグループ内のＷｅｂＳｉｔｅ上に公開する環境 です。
定時に毎日実行

履歴管理ツール

開発者「Ｊｔｅｓｔ」ソースコードテスト

最新抽出

チェックイン

自動試験ツール

結果閲覧ＷｅｂＳｉｔｅ

開発責任者

最 新ソースコード抽 出
履歴管理ツール

結果公開

JavaPureCheck(J2SEＴＭ1.3まで)

規模測定

JStep( 自社製 )コンパイルチェック
ＷｅｂＳｉｔｅ「Jｔest 」

移植性 チェックJavac

APIドキュメント生成 ・チェック Javadoc

結果閲覧
Javadocパラメーターチェック

開発者が、前日 までにチェックインしたソースコードの 試験結果を閲覧 できるだけではなく、他の開発 スタッフも、ＷｅｂＳｉｔｅ上の試験結果を閲覧する事ができます。

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

CheckStyleetc

テストレポート生 成

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved2６．ツール活用事例②自動試験ツール（３／３）
自動試験ツールを使用することによって７．今後に向けて社内に展開
社内へいかに効率的に展開していくか

試験結果が 全員で共有できるため、複数人 でチェック機能を働かせる事ができる
試験結果が 日々更新 されるため、作業 の進捗状況が把握 できる
日 々の試験結果から、コーダーのクセを見抜く事により、チェックポイントを絞れる

遠隔から利用遠隔か らセキュアに同じ環境が利用できるように

個々の環境で自分の環境の中 で自動試験ツールと同等な環境を品質管理 、進捗管理が徹底できる

ソースコードは人に見られるほど綺麗になる！！
Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

分析の高度化バグの発生傾向や収束率を把握するために
Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

質疑応答

御静聴ありがとうございました
URL

http://www.nttcom.co.jp/

Java およびその 他のJava を含む標章は，米国Sun Microsystems, Inc.の商標であり，TM同社のJava ブランドの技術を使用した製品を指します。
TM

その他、記載されている会社名、製品名は、各社の商標または登録商標です。

Copyright(c) 2004 NTT COMWARE CORPORATION all rights reserved

3