《Oracle缺失的大規模軟體缺陷定位技術的研究》是依託武漢大學,由謝曉園擔任項目負責人的面上項目。
基本介紹
- 中文名:Oracle缺失的大規模軟體缺陷定位技術的研究
- 項目類別:面上項目
- 項目負責人:謝曉園
- 依託單位:武漢大學
項目摘要,結題摘要,
項目摘要
越來越多的現代軟體存在測試oracle缺失、大規模的雙重特點,同時解決這兩個挑戰是目前自動缺陷定位領域的空白。本研究旨在提出完整解決方案填補此空白,滿足現代軟體調試的真實迫切需求。研究內容包括 (1)設計蛻變屬性驅動的多層定位框架。首先在數據和算法流程的雙重維度進行層次劃分,通過逐層選用不同定位算法和數據,滿足大規模軟體定位高精度低開銷的要求,避免傳統單一數據分層方法中可能的誤差放大。其次將逐層配合定位算法引入蛻變屬性概念,使定位技術完全擺脫對oracle的依賴(2)從蛻變屬性優選、蛻變切片改進、測試用例集最佳化三方面研究定位精度最佳化策略(3)從實用性角度提出綜合度量標準,設計高效定位報告提交方式(4)實現工具平台支持上述框架及最佳化策略,用以實驗驗證和真實案例分析推廣。通過上述研究將極大拓寬自動缺陷定位技術的套用領域,使其不再因程式規模和oracle缺失而受限,從而有效服務於現代軟體開發。
結題摘要
大量的現代軟體存在測試oracle缺失、大規模的雙重特點,同時解決這兩個挑戰是目前自動缺陷定位領域的空白。本研究旨在提出完整解決方案填補此空白,滿足現代軟體調試的真實迫切需求。本項目首先針對現有大規模軟體進行了海量數據的實證研究:通過熱點跟蹤分析,發現了調試行為的兩大模式;通過挖掘開源軟體倉庫,提出半監督結構化字典學習和遷移學習技術,獲得真實缺陷模式並提升預測效果。第二,項目完成了蛻變屬性驅動的多層定位框架的設計:提出基於上下文信息將已有的缺陷風險列表重新排序,提高了精度;提出了一種基於集合論的分析框架,判定任意公式間性能關係,使用空間維度簡化與可視化分析給出了全局最優公式的充要條件;針對基於擊中集的頻譜缺陷定位技術Sendys進行了理論分析。第三,項目針對蛻變關係與測試用例的選取與最佳化進行了研究:針對蛻變關係的生成難題,提出了基於輸入等價類劃分的METRIC技術;開發了METWIKI蛻變關係倉庫,支持MR的選擇和復用;利用基於搜尋的方法和基於自適應隨機序列的最佳化排序算法,分別實現了蛻變關係與測試用例的雙重最佳化。第四,項目完成了缺陷定位技術綜合效果評估及實用性分析:先後提出了LRSRI方法和ICSD&MLBDO方法,從整體上對測試和調試效率進行最佳化;針對異構多樣且實時動態更新的開源數據設計合理的開銷度量指標,針對複雜深度學習軟體定義多樣性度量指標,並開發了相關支撐工具。第五,項目研發了開放性缺陷定位工具平台,完成實驗分析驗證:成功地將其套用於大規模分散式面向服務的動態系統,利用了端到端和頻譜定位的思想,計算每個基本模組的風險值以及他們對最終失效貢獻的延遲係數,確定失效模組。本項目研究可以極大拓寬自動缺陷定位技術的套用領域,使其不再因程式規模和oracle缺失而受限,從而有效服務於現代軟體開發。項目在國際知名期刊、國內一級學報等發表論文11篇,在國際知名會議發表論文10篇。申請專利6項、軟體著作權3項。於2017年獲得ACM SigEvo頒發的HUMIES銀獎。