
397
コード複雑度
つまり、実際の欠陥密度の増大とともに、見積もりの欠陥密度も増大するということです。■
これらの結果を、過去に公表された調査研究(たとえば[
Ostrand et al. 2004
]、[
Nagappan and
Ball 2005
]には詳細な一覧が載っています)と合わせると、コード変更量とコードの品質の間には強い
正の相関があると言えます。すなわち、コード変更量が大きいほど、システム内の欠陥も多くなります。
コード変更量が新しいソフトウェア(たとえば製品の新機能)
を開発する際の本質的な部分なので、私
たちは相対なコード変更量指標を導入し、メトリクスのクロスチェックによりこの問題を軽減しました。
しかしその結果は、コード変更量の測定には他の内部メトリクスとの連携が必要だということを、明確
に示しています。
コード複雑度
コード変更量に続いて、私たちはコード複雑度を分析しました。つまり、コードの複雑度が、エラー
予測能力にどのような影響を与えるのでしょうか?
複雑度はいくつかのメトリクスで数量化できます
が、その中にはオブジェクト指向に適したものから非オブジェクト指向むけのものまで、古典的なファ
ンイン
/
ファンアウトからより最近の
CK
メトリクスまで[
Chidamber and Kemerer 1994
]、さまざま
なものがあります。
CK
メトリクスは、(主にオブジェクト指向の設計指針としてデザインされた)
6
つ
のメトリクスから成り、クラスごと重み付きメソッド数(
WMC
、
weighted methods ...