代碼危險度

執行該語句,失敗的測試用例數目,ep: 執行該語句,成功的測試用例數目,n 不執行該語句,失敗的測試用例數目,n

定義

代碼危險度是在一個程式在code的層面,某一個語句引起程式錯誤的機率。概念的提出(Xiaozhen Xue, Akbar Namin. 2012)本質上把軟體錯誤排查映射為一個機率問題。

公式

OR=\frac{(ef + .1)\times(np + .1)}{(ep + .1)\times(nf + .1)}
其中
ef: 執行該語句,失敗的測試用例數目,
ep: 執行該語句,成功的測試用例數目,
nf: 不執行該語句,失敗的測試用例數目,
np: 不執行該語句,成功的測試用例數目。

方法

對於一個錯誤程式,可以通過衡量每個代碼的危險度,來進行代碼排序,最後對代碼排查以定位錯誤。基本的由以下四步完成。
1)泡測試用例,獲取覆蓋信息
2)對於每個語句,建立cross table
3)基於corss table, 計算每個語句的代碼危險度
4)對每個語句降序排列,排查錯誤

優勢

此方法可有效減少debug程式時的cost.

相關詞條

熱門詞條

聯絡我們