『ソースコード解析・診断サービス』は、ソフトウェア・メトリクス解析や、アーキテクチャ構造解析などにより、ソースコードの品質を多面的に可視化し、設計・実装上の問題点の抽出と改善へのアドバイスを行うサービスです。
たとえ問題なく動作していても、拙い作りであったり、複雑な作りであったりと、いわゆる品質が低いソースコードは、可読性や理解性を著しく悪化させるため、保守や再利用に多くの時間が浪費されるだけでなく、意図しないバグを生み出す温床にもなりかねません。
ソースコード解析・診断は、ちょうど人間の健康診断や建物の耐震検査のように、今後に備えて現在の問題点を把握し、それを改善するための適切な対処方法を提示します。
まずソースコードの詳細なメトリクス(ソフトウェアの品質を捉える「尺度」や「指標」) を取得します(※)。 ただし、メトリクスだけでは詳細すぎるため、全体としてどこにどのような問題があるのかがわかりません。そこで、弊社のサービスでは独自に開発したツールを用いて、この内容をソフトウェアの様々な品質としてまとめ上げ、ソースコードにどのような問題があるかをわかりやすく提示します。
ソフトウェアを評価する軸は次の2つから成ります。
![ソフトウェア・メトリクス解析や、アーキテクチャ構造解析などにより、ソースコード(レガシーシステム)の品質を多面的に可視化(リファクタリング)し、設計・実装上の問題点の抽出と改善アドバイス|ソースコード解析・ソースコード診断サービス|【スコープ別評価】ソフトウェアの設計を3つのレベル(「アーキテクチャ設計」・「コンポーネント設計」・「コーディング」)に分類し、その品質を定量化します。これにより、ソフトウェア構造の頑健性やコーディング品質の良し悪しを明らかにし、品質改善のための指針を示します。](img/packaged/colum_lft.jpg)
![ソフトウェア・メトリクス解析や、アーキテクチャ構造解析などにより、ソースコード(レガシーシステム)の品質を多面的に可視化(リファクタリング)し、設計・実装上の問題点の抽出と改善アドバイス|ソースコード解析・ソースコード診断サービス|【特性別評価】 ソフトウェア品質に関する標準的なモデルであるISO/IEC9126で定義された、「信頼性」・「効率性」・「保守性」・「移植性」に関する品質を定量化します。これにより、ソフトウェアに潜む脆弱性や最適化の余地を指摘します。](img/packaged/colum_rgt.jpg)
ソースコード解析・診断の結果は、前述の品質特性やソフトウェアの構成要素(パッケージ・ファイル・関数) 毎に比較しやすいよう、グラフやチャートを用いてビジュアルにレポートします。これにより、ソースコードのどこに・どのような問題があるかを容易に理解できます。 さらに、品質の悪い要素に対してはその原因となっているメトリクスまで追跡し、具体的な 改善策を示します。
また、診断に使用するツールはソフトウェア構成要素の依存関係をUMLや DSM( Dependency Structure Matrix )形式で可視化する機能を有しており、リバースエンジニアリングやリファクタリングなどによる設計改善を支援します。
※メトリクスの取得は、静的解析ツールとして広く利用されているツールである「QAC/QAC++」 を使用します。 すでに「QAC/QAC++」を利用されているお客様は、その出力結果を提出していただくだけで、ソ ースコードを一切開示することなく本サービスをご利用いただくことが可能です。
※「QAC/QAC++」はProgramming Research Ltd.が開発した製品です。
ソフトウェアの品質を「わかりやすく」・「定量的に」把握することができます。
これにより、本サービスを以下のような用途に利用することができます。
- ソフトウェアの善し悪しについて、開発現場の方だけでなく、経営層・管理者層にもPRできます。
- 継続的に診断を行うことにより、ソフトウェアの品質劣化傾向を把握したり、改善の効果を可視化することができます。
- 組織内の多数のプロジェクトで診断することで、ソフトウェアのベンチマークとしてもご利用いただけます。
多くの作業はツールで自動化していますので、
短納期かつリーズナブルな価格でサービスを提供することが可能です。
ソースコード解析・診断に使用しているソフトウェアは東陽テクニカと業務提携し販売しております。