[發明專利]一種基于隨機森林模型的程序錯誤定位方法在審
| 申請號: | 202010532370.5 | 申請日: | 2020-06-12 |
| 公開(公告)號: | CN111880957A | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 舒挺;潘抱一 | 申請(專利權)人: | 浙江理工大學 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07;G06F11/36;G06K9/62;G06N20/00 |
| 代理公司: | 杭州天勤知識產權代理有限公司 33224 | 代理人: | 王琛 |
| 地址: | 310018 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 隨機 森林 模型 程序 錯誤 定位 方法 | ||
本發明公開了一種基于隨機森林模型的程序錯誤定位方法,通過分析單錯誤版本DFEB所包含的特征,對特征值進行特征衍生和特征篩選,該過程可以挑選出有利于區分包含錯誤語句的DFEB和不包含錯誤語句的DFEB特征值,再通過邏輯回歸和隨機森林訓練出兩個模型,計算出每個DFEB的可疑度值,用8個經典的可疑度值計算公式獲取每條語句的可疑度值,在塊內根據語句的可疑度值進行排序,生成錯誤定位報告。本發明依賴DFEB塊,在傳統SFL方法4個因子的基礎上,引入了DFEB長度這一新特征,并對這5個特征進行特征衍生和特征篩選,對隨機森林模型進行訓練用以估算DFEB的錯誤可疑度,能夠很大幅度地提高錯誤定位的精度和效率。
技術領域
本發明屬于軟件程序錯誤定位檢測技術領域,具體涉及一種基于隨機森林模型的程序錯誤定位方法。
背景技術
軟件規模和復雜程度的與日俱增給軟件開發和調試技術帶來了極大的挑戰,面對軟件開發過程中如影相隨的軟件缺陷問題,軟件測試是提升其質量和可靠性的重要技術手段,軟件測試作為一種確保和提高軟件質量的方式,在軟件開發生命周期中發揮著越來越重要的作用。調試是軟件測試過程的一部分,涉及到測試中的程序故障定位和糾正代碼錯誤;軟件故障定位主要是識別故障的特定位置,被認為是調試中最昂貴,最耗時的活動。另外,特別是對于大型程序,由于測試人員的經驗和知識的限制,手動定位其錯誤代碼成為一個具有挑戰性的問題。
為了緩解這個問題,已經提出了許多方法應用于學術界和工業中的自動故障定位,同時提高了定位故障的效率和有效性。在提出的軟件故障定位方法中,基于頻譜的軟件故障定位(Spectrum-based Fault Localization,SFL)是一種典型的輕量級自動診斷技術,通過降低調試效率,相對更高效;程序頻譜是執行配置文件,詳細說明了運行期間的動態程序行為,它可用于指示程序的哪些組件,例如語句、條件分支和方法,在特定的環境中被執行的情況。
直觀地,在失敗測試例中頻繁執行的代碼比在成功測試例中執行的代碼更可疑;換句話說,這些可疑代碼幾乎就是軟件運行失敗的根本原因。通過分析成功和失敗運行的程序頻譜的差異,SFL可以幫助測試人員定位到軟件失效的可疑代碼,減少對錯誤代碼的檢索量,其具體的過程為:為了識別程序的錯誤部分,SFL首先需要設計和運行足夠數量的測試用例(成功和失敗的測試用例);然后,從成功和失敗的測試用例中提取出程序頻譜,并分析每條語句每次運行的代碼覆蓋率;接下來,使用定義的可疑度值計算公式獲取每條語句的可疑度值。通過上述步驟,我們可以對每條語句按照可疑度值進行排序,進行檢查;一項研究表明,SFL方法平均只需檢查20%的程序代碼就可以精確定位到程序錯誤所在的位置。
對于基于SFL的錯誤定位方法,可疑度公式對錯誤定位的準確性具有決定性影響,因此早期的研究提出了各種可疑度公式,例如Tarantula、Ochiai、DStar等,用于探索最優方法;然而,這些有價值的嘗試表明,每種可疑度公式在不同的應用場景下都有其自身的優勢。研究人員還發現,在不同的顆粒度級別上使用SFL錯誤定位技術會影響給定程序錯誤定位的效率,例如語句、方法、基本塊;由于一些具有高可疑度值的正確語句可能被排除在高可疑代碼塊(方法或基本塊)之外,這些語句的存在將影響SFL方法的錯誤定位能力。
發明內容
為了進一步提升SFL方法的錯誤定位精度和性能穩定性,本發明在基于動態程序失效執行塊(Dynamic Failed Execution Block,DFEB)技術的基礎上,創新性地提出了一種基于隨機森林模型的程序錯誤定位方法,該方法依賴DFEB塊,在傳統SFL方法4個因子的基礎上,引入了DFEB長度這一新特征,并對這5個特征進行特征衍生和特征篩選,對隨機森林模型進行訓練用以估算DFEB的錯誤可疑度,能夠很大幅度地提高錯誤定位的精度和效率。
一種基于隨機森林模型的程序錯誤定位方法,包括如下步驟:
(1)統計軟件程序中各條語句在每組測試用例下的語句覆蓋情況,得到對應的語句覆蓋矩陣;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江理工大學,未經浙江理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010532370.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于風向預測的新型偏航控制方法
- 下一篇:發光二極管外延片及其制備方法





