2009-12-03 23 views
6

コードメトリックについてはかなりの議論がありました(例:What is the fascination with code metrics?)。私は(ソフトウェア開発者として)私は彼らがより良いコードを書くのに役立つと思うので、それらのメトリクスに本当に興味があります。少なくとも、リファクタリングを必要とするコードの領域を見つけるのに役立ちます。コードメトリックの評価

しかし、私が知りたいことは次のとおりです。バグ率やメソッドの保守性に本当に相関していることを証明しているソースコードのメトリックを評価していますか?例:非常に高い周期性複雑度のメソッドは、複雑さの低いメソッドより多くのバグを実際に導入しますか?それとも、難易度の高いメソッド(Halstead)は、メソッドを保有するメソッドよりも保守するほうがはるかに多く必要ですか?

誰かがこの分野の信頼できる研究について知っているかもしれません。

ありがとうございます!

答えて

2

良い質問、無回答です。

そこにであり、例えばサイクロマティックな複雑さとバグとの関係を示しています。問題は、ほとんどの研究論文が自由に入手できないということです。

私は以下を見つけました:http://www.pitt.edu/~ckemerer/CK%20research%20papers/CyclomaticComplexityDensity_GillKemerer91.pdf。サイクロマティックな複雑さと生産性の関係を示していますが。しかし、それは他の論文への参照をいくつか持っており、それらをGoogleにしようとする価値がある。

1

this article from Microsoft researchをご覧ください。一般的に私はマイクロソフトから出てくる開発の知恵に疑念を抱いていますが、大規模な製品の長期的な調査をするためのリソースを持っています。参照されている記事では、さまざまなメトリックとプロジェクトの欠陥率の間に見つかった相関関係について説明しています。

1

最後に、ソフトウェアメトリクスとエラーレートの間の相関についていくつかの論文を見つけましたが、それらのどれも私が探していたものではありませんでした。ほとんどの論文は古くなっています(80年代後半または90年代初期)。

私は、現在のソフトウェアの分析を開始することをお勧めします。私の意見では、いくつかのpopulareオープンソースシステムを調査することは可能であるはずです。ソースコードが入手可能であり(私がもっと重要だと思います)、多くのプロジェクトでは、問題追跡ツールやバージョン管理システムを使用しています。おそらく、バージョン管理システムのログと課題トラッカーの間に強力なリンクを見つけることは可能でしょう。これは、いくつかのソフトウェアメトリクスとバグ率との間の関係を分析する非常に興味深い可能性につながるだろう。

私は上記のことを正確に実行しているプロジェクトがあるかもしれません。誰かがそれについて何か知っていますか?ここで

0

よく知られているChidamberおよびKemererオブジェクト指向メトリックのバグ予測機能について、実証的な調査を行った。これらの測定基準を組み合わせることで、適切な機械学習モデルを適用したときに80%を超える精度でバグを予測することができました。

"オープンソースソフトウェアでのオブジェクト指向メトリックのフォールト予測の実証検証。ソフトウェア工学におけるIEEEトランザクション、第31巻、第10号、2005年10月、897-910ページ。