2010-04-21 17 views
1

我目前正在開發軟件工程的高級項目,並在使用版本控制系統的軟件項目中實施缺陷預測機制。糾正錯誤後,可以在提交消息中使用哪些單詞列表?

因此,我想問社區他們的提交消息過程。

提交消息中的哪個單詞可能會推斷「bug fixed」的含義?所以,我可以理解,該修訂版中的修改過的文件處於錯誤狀態?

回答

2

我可以建議,而不是頭腦風暴的一個列表,你建立了一個貝葉斯過濾器,允許你標記一堆提交作爲錯誤修復或不,並訓練系統識別錯誤修復具有共同特點。你一定會想出一些我們無法預測的特徵。

不過,我會建議的動作的話幾類來尋找:

一個是字,指示你做了什麼,如「修正」,「固定」,「微調」。 另一個是表明什麼是錯的詞,如「問題」,「錯誤」,「問題」。 另一個詞語表明你的修復完成了什麼,如「預防」,「確保」,「停止」,「允許」。

「與字符串排序,這將防止用空格開始錯誤地出現在列表的頂部串修正的問題。」

+0

感謝您的建議和明確的例子。 – mkafkas 2010-04-21 21:03:23

0

我的大部分提交信息的第一個包含在bug跟蹤這一問題的參考。例如:「Bug 2453 - 修復內存泄漏」。這可能有點令人困惑,因爲我經常看到錯誤和功能之間幾乎沒有區別,並且最終提交了確實是功能的提交消息,但仍包含「Bug」字樣。

作爲一個很好的問題跟蹤器將允許臭蟲和功能來區分,我想這將是可能的參考發行數量從提交信息回到問題跟蹤器。

如果只看提交信息,我想我會經常使用「固定嗒嗒」的錯誤,並「實施嗒嗒」的特點。

+0

感謝您的回覆,我已經完成系統的問題和錯誤跟蹤部分。現在是時候實施不使用問題或錯誤跟蹤器的項目。這就是爲什麼我需要搜索提交消息。 – mkafkas 2010-04-21 21:01:50

0

如果我可能會抱怨你的問題的前提下,你問的AI級解決方案來推斷有人在修復bug。例如,Trac的post-commit-hook可以自動更新錯誤狀態。關鍵是,它通過這樣做,要求dev提及正在處理的票證。沒有必要的AI!

在代碼中所有的變化或許應該做一個或多個:

  • 創建特徵
  • 修復bug

(還有其他的情況下,如「增強可讀性」這是我'd說修復一個bug!)

爲此,任何文件碰可能是在一個錯誤的狀態,或它不會是一個過濾的。

你的「執行中使用版本控制系統的軟件項目中的缺陷預測機制」的規範聽起來非常得以確認和不精確。

+0

我們使用AI機制進行預測,這超出了這個問題的範圍。在這裏,我只需要找到處於錯誤狀態的文件的文件名。因此,我正在查看提交消息。找到有問題的文件後,我們使用測試和訓練文件來運行預測算法。 – mkafkas 2010-04-30 18:50:30

+0

我很好奇你認爲哪些文件變化*不是*缺陷修正的一部分,這是我的大點。 – 2010-05-01 13:43:21

相關問題