6

コード メトリクスについてはかなりの量の議論がありました (例:コード メトリクスの魅力は何ですか? )。私は (ソフトウェア開発者として) これらの指標に非常に興味を持っています。なぜなら、それらの指標はより良いコードを書くのに役立つと思うからです。少なくとも、リファクタリングが必要なコードの領域を見つける場合に役立ちます。

ただし、知りたいのは以下の点です。メソッドのバグ率や保守性と実際に相関していることを証明するソース コード メトリックの評価はありますか。例: 循環的複雑度が非常に高いメソッドは、複雑度が低いメソッドよりも多くのバグを本当に導入するのでしょうか? それとも、難易度の高いメソッド (Halstead) は、難易度の低いメソッドよりも維持するために本当に多くの量が必要ですか?

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

どうもありがとう!

4

6 に答える 6

2

良い質問ですが、明確な答えはありません。

たとえば、循環的複雑度とバグとの関係を示す研究論文があります。問題は、ほとんどの研究論文が自由に入手できないことです。

以下を見つけました: http://www.pitt.edu/~ckemerer/CK%20research%20papers/CyclomaticComplexityDensity_GillKemerer91.pdf。ただし、循環的複雑さと生産性の関係を示しています。ただし、他の論文への参照がいくつかあり、それらをグーグルで検索する価値があります.

于 2009-12-03T08:00:25.953 に答える
1

ここにあるいくつかの:

保守性を予測するオブジェクト指向の指標

リファクタリングによる保守性向上の定量的評価

オブジェクト指向メトリクスによる保守性の予測 - 経験的比較

オブジェクト指向システムの障害発生率に対するカップリング メトリクスの影響の調査

オブジェクト指向メトリックの有効性に対するクラス サイズの交絡効果

于 2010-07-30T03:32:44.307 に答える
1

最後に、ソフトウェア メトリックとエラー率の相関関係に関する論文をいくつか見つけましたが、実際に探していたものはありませんでした。ほとんどの論文は時代遅れです (80 年代後半または 90 年代前半)。

現在のソフトウェアの分析を開始することは非常に良い考えだと思います。私の意見では、いくつかの一般的なオープン ソース システムを調査できるはずです。ソース コードが利用可能であり、(私が考えるより重要なことは) 多くのプロジェクトで課題トラッカーと何らかのバージョン管理システムが使用されています。おそらく、バージョン管理システムのログと課題トラッカーの間の強力なリンクを見つけることができるでしょう。これは、いくつかのソフトウェア メトリックとバグ率との関係を分析する非常に興味深い可能性につながります。

たぶん、私が上で説明したことを正確に行うプロジェクトがまだそこにあるでしょう。誰かそのようなことについて知っていますか?

于 2009-12-16T13:08:59.033 に答える
1

Microsoft Researchのこの記事をご覧ください。一般に、Microsoft の開発に関する知恵には懐疑的ですが、Microsoft には大規模な製品の長期的な研究を行うためのリソースがあります。参照された記事では、さまざまな指標とプロジェクトの欠陥率の間に発見された相関関係について述べています。

于 2009-12-03T08:10:12.427 に答える
0

私たちは、有名な Chidamber と Kemerer のオブジェクト指向メトリクスのバグ予測機能について実証研究を行いました。これらのメトリクスを組み合わせることで、適切な機械学習モデルを適用した場合、80% を超える精度でバグを予測できることが判明しました。興味がある場合は、次の論文で完全な研究を準備できます。

「障害予測のためのオープン ソース ソフトウェアにおけるオブジェクト指向メトリックの経験的検証。ソフトウェア エンジニアリングに関する IEEE トランザクション、Vol. 31、No. 10、2005 年 10 月、897 ~ 910 ページ」。

于 2014-09-10T14:48:14.510 に答える