《面向理解的軟體錯誤定位方法:狀態轉移機率推理建模》是依託哈爾濱工業大學,由王甜甜擔任項目負責人的青年科學基金項目。
基本介紹
- 中文名:面向理解的軟體錯誤定位方法:狀態轉移機率推理建模
- 依託單位:哈爾濱工業大學
- 項目類別:青年科學基金項目
- 項目負責人:王甜甜
項目摘要,結題摘要,
項目摘要
針對已有錯誤定位方法難於理解軟體錯誤等問題,綜合運用程式分析、模型推理、統計、最佳化算法等理論與技術,提出面向理解的軟體錯誤定位方法,將測試用例優選、錯誤定位、理解有機結合:首先,定義失效語句覆蓋向量相似度優先排序和失效執行覆蓋等價劃分最佳化選擇準則,在此基礎上建立測試用例優選模型,選擇有利於提高錯誤定位有效性的測試用例;然後,定義並構建軟體錯誤定位模型-輕量級的狀態轉移機率推理模型,解析程式靜態信息和成功測試用例執行時的動態控制依賴,推導動態數據依賴,抽象程式狀態並統計其沿控制流及數據流轉移的機率,從而充分分析程式執行狀態轉移及語句間的相互影響,有效定位缺陷,並為軟體錯誤理解奠定基礎;最後,定義軟體錯誤理解全景視圖,建模推導失效相關的控制依賴及數據依賴、失效執行數據、可疑程式點的期望狀態和表達式,輔助開發人員理解軟體失效的產生原因。為軟體自動化調試、增強軟體可靠性奠定理論基礎。
結題摘要
針對已有錯誤定位方法難於理解軟體錯誤等問題,綜合運用程式分析、模型推理、統計、最佳化算法等理論與技術,提出面向理解的軟體錯誤定位方法,將測試用例選擇、錯誤定位、理解有機結合,為軟體自動化調試提供一種新思路。項目組發表研究論文15篇,其中SCI國際期刊3篇,一級學報4篇,EI國際會議3篇,核心期刊5篇;獲國家發明專利2項。取得的主要研究成果如下。(1)提出面向有效錯誤定位的測試用例優選方法,突破已有方法在提高錯誤定位有效性方面的局限性。定義了“失效語句覆蓋向量相似度優先排序”準則和“失效執行覆蓋等價劃分最佳化選擇”準則,並基於這兩條準則建立測試用例優選模型,解決適於錯誤定位的測試用例的選擇問題,提高錯誤定位的有效性。(2)定義並構建了一種新的軟體錯誤定位模型——輕量級的狀態轉移機率推理模型,解決有效定位軟體缺陷並為軟體錯誤理解奠定基礎的問題。針對已有的模型檢查錯誤定位方法建立系統模型複雜度高,覆蓋分析方法缺少對程式執行狀態的描述、忽略了程式感染狀態的傳播等問題,利用程式的靜態信息和成功測試用例執行時的動態控制依賴,推導動態數據依賴,降低計算複雜度,在此基礎上抽象程式狀態、統計分析其沿控制流及數據流轉移的機率。不但充分分析程式的執行狀態轉移及程式元素間的相互影響,有效定位軟體缺陷,還為軟體錯誤理解提供充分的程式語義及執行狀態信息。(3)針對已有錯誤定位方法缺少對失效產生原因的分析及解釋的問題,定義了軟體錯誤理解全景視圖,並建模推導失效相關的控制及數據依賴上下文、失效執行路徑上的值、可疑程式點的期望狀態和期望表達式,從而輔助開發人員理解軟體錯誤,使其有效地發現、套用及驗證軟體缺陷修正方法。