故障定位是找到故障根因的關鍵技術手段。在衆多故障定位方法中,基于頻譜的故障定位方法由于其高效性廣受學術界和工業界的應用和研究。現有的基于頻譜的故障定位方法需要為每個代碼實體進行插樁,從而得到程序運行時的代碼覆蓋信息。然而,這種插樁的方式難以應對大規模工業軟件,因為其會産生巨大的數據運行開銷和數據量。在程序的絕大部分代碼沒有錯誤情況下,全插樁是低效的。
為了解決該問題,bat365在线平台官方网站計算機系左志強老師和智軟院老師鈕鑫濤深入合作并共同探索利用部分插樁替代全插樁的可行性,其對于基于頻譜的故障定位研究領域而言具有重要現實意義。具體而言,提出了基于抽象精化的統計調試方法,其運用抽象可疑度對所要收集和分析的具體可疑度的過程進行自動篩選,從而隻需要插樁和分析程序中的一部分元素。對于該方法,嚴格證明了該方法的篩選的安全性,即分析結果不會有精度上的損失。最後,在離線統計調試和在線統計調試兩者不同的應用場景下,給出了所提方法和傳統基于頻譜方法的對比實驗。試驗結果進一步驗證了其在顯著提高了統計調試方法的效率的同時不會損害統計調試方法的檢測能力。
該論文《Toward More Efficient Statistical Debugging with Abstraction Refinement》已于今年發表在ACM Transactions on Software Engineering and Methodology,(TOSEM)上。