2009-12-03 94 views
6

關於代碼度量的討論有很多(例如:What is the fascination with code metrics?)。我(作爲軟件開發人員)對這些指標非常感興趣,因爲我認爲他們可以幫助編寫更好的代碼。至少在找到需要重構的代碼的區域時,它們是有幫助的。代碼度量的評估

但是,我想知道的是以下內容。是否對這些源代碼度量標準進行了評估,證明它們確實與錯誤率或方法的可維護性相關聯。例如:具有非常高的圈複雜度的方法是否真的比低複雜度的方法引入更多的錯誤?或者難度級別較高的方法(Halstead)確實需要更多的數量來維護它們而不是使用較低的方法?

也許有人知道這方面的一些可靠的研究。

非常感謝!

回答

1

看看this article from Microsoft research。總的來說,我對來自微軟的開發智慧抱懷疑態度,但他們確實有資源能夠對大型產品進行長期研究。參考文章討論了他們在各種指標和項目缺陷率之間找到的關聯。

1

最後我找到了一些關於軟件度量和錯誤率之間相關性的論文,但沒有一篇是我真正想要的。大多數報紙已經過時(80年代末或90年代初)。

我認爲開始分析當前的軟件是一個不錯的主意。在我看來,應該有可能調查一些開源的系統。源代碼是可用的(我認爲更重要),許多項目使用問題跟蹤器和某種版本控制系統。也許可以在版本系統的日誌和問題跟蹤器之間找到強有力的聯繫。這將導致分析一些軟件度量和錯誤率之間的關係的一個非常有趣的可能性。

也許還有一個項目在那裏,正是我所描述的。有人知道這樣的事嗎?

0

我們對知名的Chidamber和Kemerer面向對象度量的bug預測功能進行了實證研究。結果表明,當我們應用適當的機器學習模型時,這些指標結合起來可以預測錯誤的準確率高於80%。如果您有興趣,可以在以下論文中完成全部研究:

「面向對象的度量標準對開源軟件的故障預測的經驗驗證」IEEE Transactions on Software Engineering,Vol.31,No.10 ,2005年10月,第897-910頁。「