違反件数ゼロを目指す「徹底的」静的解析運用法

静的解析結果を見るだけで安心していませんか?

静的解析結果レポートを元に、関係者全員でレビューを行っただけで満足し、違反箇所を潰しきれていないことはありませんか?

本来、レポートを見るだけではなく、違反したコードはすぐに修正していくことが必要です。しかし、レポートを別画面で見ながらコードを修正していく方法は、必ずしも効率的とは言えません。

ここでは、違反の修正作業を効率化するための方法として
自身の開発環境に解析結果をインポートし、「違反コードの確認」「迅速な修正」を同時に実現する徹底した静的解析の実施方法をご紹介します。

 

「徹底的」静的解析 実施フロー

開発者様側の運用フロー

開発者様側の運用フロー

各開発者は、それぞれの開発環境でコーディングをおこなうとともに、Jtestのコーディングルールチェックを実行(①②)し、問題がないことを確認すると構成管理サーバーにソースコードをチェックイン(③)します。
※()内の数字は図版内の数字を表しています。

◆ポイント
各開発者が共通のコーディングルールチェックを実施することで、バグの作り込みと品質のばらつきを防止することができます。

構成管理ツールと接続しているJtestは、特定のバージョンや日付以降に修正されたコードのみの違反をレポート出来るため、効率的に違反のレビュー作業を行うことができます。

サーバー側の運用フロー

 サーバ側の運用フロー

 
サーバー側では、構成管理サーバーからチェックアウト(④)されたソースコードをビルド(⑤)し、コーディングルールの再チェック(⑥)、フロー解析(⑦)を行います。ここでコーディングルールのチェック漏れを防止するとともに、開発者レベルでは、発見できない結合時の問題を検出します。

◆ポイント
コーディングルールチェックを二重に実施することで、漏れなくコードの修正を促すことができます。

実行結果はレポートとして管理者に送信(⑧⑨)され、プロジェクトメンバーを含め全員で状況を把握することができます。


一方、各開発者は担当するコードの解析結果をインポート(⑩)し、問題のある箇所を修正(⑪)します。

◆ポイント
構成管理ツールと接続しているJtestは、ソースファイルの担当者毎に解析結果を自動で割り振りレポートを生成することができます。

ルールチェック再実行結果・フロー解析を結果を、インポート機能を利用する事で、開発者のお手元の開発PCで確認できます。

エディタが統合されているJtestを用いることで、解析結果をレビュー後、円滑に修正作業に移行できます。

解析結果インポートからコード修正までの操作の流れ

(1)Team Serverから解析結果インポートボタンをクリック

(1)Team Serverから解析結果インポートボタンをクリック

(2)解析結果が[品質タスク]ビュー表示

(2)解析結果が[品質タスク]ビュー表示

(3)解析結果をダブルクリック


(4)自動でエディタにジャンプ

(4)自動でエディタにジャンプ

(5)解析結果のレビュー後統合されているエディタでソースコードを修正

(5)解析結果のレビュー後統合されているエディタでソースコードを修正

まとめ

  1. 開発者側でのコーディングチェックでバグの作り込みを防止
  2. サーバー側での二重のチェック・結合時のバグの検出
  3. 各開発者の開発環境上で即時にバグを修正

このサイクルを繰り返す仕組みをつくることで、バグを根絶し、高品質な開発を実現することが出来るようになります。

Jenkins ならびに Jenkins CIは、Jenkins (http://jenkins-ci.org/)に帰属します。また、Creative Commons Attribution 3.0 Unported licenseに従い、利用しています。

Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。