基于數(shù)據(jù)挖掘的軟件錯(cuò)誤定位方法研究
發(fā)布時(shí)間:2017-09-29 22:19
本文關(guān)鍵詞:基于數(shù)據(jù)挖掘的軟件錯(cuò)誤定位方法研究
更多相關(guān)文章: 軟件調(diào)試 錯(cuò)誤定位 動(dòng)態(tài)切片 關(guān)聯(lián)分析 聚類分析
【摘要】:近年來,社會(huì)發(fā)展對(duì)軟件測(cè)試和調(diào)試技術(shù)提出了新的挑戰(zhàn)。不斷變化的環(huán)境和需求對(duì)軟件系統(tǒng)提出了更高的要求,保證軟件質(zhì)量變得至關(guān)重要。目前,軟件調(diào)試是保證軟件質(zhì)量最主要的手段之一,而錯(cuò)誤定位是軟件調(diào)試中最為耗時(shí)費(fèi)力的活動(dòng)之一。錯(cuò)誤定位旨在找到隱含在程序源代碼中的錯(cuò)誤指令、過程或數(shù)據(jù)定義。它可以提高軟件質(zhì)量、降低軟件調(diào)試成本。因此,研究軟件錯(cuò)誤定位具有重要意義。軟件錯(cuò)誤定位是近年來國(guó)內(nèi)外研究的熱點(diǎn),具有重要科學(xué)意義和應(yīng)用前景。到目前為止,軟件錯(cuò)誤定位方法還不夠完善,存在如下問題:(1)錯(cuò)誤定位精度有待進(jìn)一步提高。大多數(shù)錯(cuò)誤定位方法,利用統(tǒng)計(jì)理論對(duì)定位結(jié)果進(jìn)行了精煉,只在一定程度上提高了錯(cuò)誤定位的精度。(2)較少考慮偶然正確性測(cè)試用例對(duì)錯(cuò)誤定位效率的影響,偶然正確性測(cè)試用例會(huì)使錯(cuò)誤定位效率下降。(3)已有的方法在軟件中存在多個(gè)錯(cuò)誤時(shí)的定位效果不理想,開發(fā)人員較難高效地同時(shí)定位出軟件中存在的多個(gè)錯(cuò)誤。針對(duì)上述問題,本文從程序切片分析入手并結(jié)合數(shù)據(jù)挖掘技術(shù)進(jìn)行軟件錯(cuò)誤定位研究。首先,研究基于關(guān)聯(lián)分析及排序策略的錯(cuò)誤定位方法;其次,研究偶然正確性測(cè)試用例對(duì)錯(cuò)誤定位效率的影響,從理論角度進(jìn)行了分析,并提出偶然正確性測(cè)試用例識(shí)別方法;最后,針對(duì)軟件中存在多錯(cuò)誤的問題,提出多錯(cuò)誤定位方法。本文的主要工作和貢獻(xiàn)總結(jié)如下:(1)提出了基于關(guān)聯(lián)分析及排序策略的錯(cuò)誤定位方法FLAR(Fault Localization based on Association analysis and Rank strategy)以及改進(jìn)方法DS-FLAR(Dynamic Slicing-Fault Localization based on Association analysis and Rank strategy)。采用關(guān)聯(lián)分析技術(shù)能夠反映出程序執(zhí)行軌跡中語句與執(zhí)行結(jié)果之間的關(guān)聯(lián)關(guān)系,然后利用本文設(shè)計(jì)的排序策略對(duì)關(guān)聯(lián)分析后的語句進(jìn)行排序,生成錯(cuò)誤定位報(bào)告。實(shí)證研究表明,FLAR方法錯(cuò)誤定位效果較好。另外,我們提出改進(jìn)的動(dòng)態(tài)切片方法,用于更好地縮小錯(cuò)誤定位的范圍,從而優(yōu)化FLAR方法,最終提出一種基于動(dòng)態(tài)切片、關(guān)聯(lián)分析及排序策略相結(jié)合的錯(cuò)誤定位方法DS-FLAR。實(shí)驗(yàn)結(jié)果表明DS-FLAR定位效果優(yōu)于FLAR方法、以及其它對(duì)比方法。(2)針對(duì)偶然正確性問題,提出了錯(cuò)誤定位效率受偶然正確性測(cè)試用例影響的理論分析框架。通過將懷疑度計(jì)算公式看成是程序元素的四元組表示形式中變量(成功測(cè)試用例覆蓋程序元素的次數(shù))的函數(shù),采用對(duì)函數(shù)求導(dǎo)的方式來分析偶然正確性測(cè)試用例對(duì)不同懷疑度計(jì)算公式效率的影響。基于上述框架,理論分析了偶然正確性測(cè)試用例對(duì)30個(gè)經(jīng)典懷疑度計(jì)算公式效率的影響。此研究工作是偶然正確性測(cè)試用例對(duì)錯(cuò)誤定位效率影響的有益理論探索,為在軟件錯(cuò)誤定位時(shí)移除偶然正確性測(cè)試用例提供理論依據(jù)。(3)針對(duì)偶然正確性影響錯(cuò)誤定位效率的問題,提出了面向有效錯(cuò)誤定位的偶然正確性測(cè)試用例識(shí)別方法。該方法首先識(shí)別偶然正確性元素,應(yīng)用懷疑度計(jì)算公式計(jì)算程序元素懷疑度,挑選出高可疑偶然正確性元素作為偶然正確性特征元素;然后,根據(jù)該特征元素對(duì)程序執(zhí)行軌跡進(jìn)行維度約簡(jiǎn),并進(jìn)一步建立基于模糊c均值聚類的偶然正確性測(cè)試用例識(shí)別模型;最后,將其結(jié)果應(yīng)用于錯(cuò)誤定位。應(yīng)用該方法在3組測(cè)試程序上進(jìn)行偶然正確性測(cè)試用例識(shí)別,在此基礎(chǔ)上,采用4種錯(cuò)誤定位方法開展錯(cuò)誤定位,比較移除偶然正確性測(cè)試用例對(duì)錯(cuò)誤定位效率的影響。實(shí)驗(yàn)結(jié)果表明,與基于k-means聚類的偶然正確性測(cè)試用例識(shí)別方法相比,該方法在偶然正確性測(cè)試用例識(shí)別方面具有較低的誤報(bào)率和漏報(bào)率,更能提高錯(cuò)誤定位的效率。(4)針對(duì)軟件中存在多個(gè)錯(cuò)誤的問題,提出了基于Chamelelon聚類分析的多錯(cuò)誤定位方法。該方法首先將每一個(gè)失敗程序執(zhí)行軌跡和所有成功程序執(zhí)行軌跡合并,計(jì)算其懷疑度,按懷疑度大小選取高可疑元素作為程序執(zhí)行軌跡的特征元素,按照該特征元素對(duì)失敗程序執(zhí)行軌跡進(jìn)行約簡(jiǎn);其次,在此基礎(chǔ)上,聚類分析技術(shù)將失敗程序執(zhí)行軌跡分簇,使得每簇包含一個(gè)錯(cuò)誤;然后,將失敗程序執(zhí)行軌跡簇與所有成功程序執(zhí)行軌跡簇合并,計(jì)算其懷疑度;最后,根據(jù)合并后的簇生成的懷疑度序列,采用并行調(diào)試模式同時(shí)定位程序中的多個(gè)錯(cuò)誤。實(shí)證研究表明該方法能有效地定位程序中的多個(gè)錯(cuò)誤。
【關(guān)鍵詞】:軟件調(diào)試 錯(cuò)誤定位 動(dòng)態(tài)切片 關(guān)聯(lián)分析 聚類分析
【學(xué)位授予單位】:中國(guó)礦業(yè)大學(xué)
【學(xué)位級(jí)別】:博士
【學(xué)位授予年份】:2015
【分類號(hào)】:TP311.53;TP311.13
【目錄】:
- 致謝4-5
- 摘要5-7
- Abstract7-10
- Extended Abstract10-23
- 變量注釋表23-24
- 1 緒論24-37
- 1.1 研究背景及意義24-25
- 1.2 國(guó)內(nèi)外研究現(xiàn)狀25-31
- 1.3 存在問題31-32
- 1.4 研究?jī)?nèi)容32-35
- 1.5 論文結(jié)構(gòu)35-36
- 1.6 本章小結(jié)36-37
- 2 錯(cuò)誤定位及相關(guān)理論37-49
- 2.1 問題描述37
- 2.2 錯(cuò)誤定位框架37-41
- 2.3 程序切片41-43
- 2.4 數(shù)據(jù)挖掘43-48
- 2.5 本章小結(jié)48-49
- 3 基于關(guān)聯(lián)分析及排序策略的錯(cuò)誤定位方法49-63
- 3.1 引言49-50
- 3.2 錯(cuò)誤定位方法50-57
- 3.3 實(shí)驗(yàn)評(píng)估57-62
- 3.4 本章小結(jié)62-63
- 4 基于動(dòng)態(tài)切片和關(guān)聯(lián)分析的錯(cuò)誤定位方法63-80
- 4.1 引言63-64
- 4.2 研究動(dòng)機(jī)64-65
- 4.3 錯(cuò)誤定位方法65-69
- 4.4 實(shí)驗(yàn)評(píng)估69-79
- 4.5 本章小結(jié)79-80
- 5 錯(cuò)誤定位效率受偶然正確性測(cè)試用例影響理論分析80-95
- 5.1 引言80-81
- 5.2 偶然正確性相關(guān)定義81-82
- 5.3 研究動(dòng)機(jī)82-84
- 5.4 理論分析框架84-85
- 5.5 實(shí)例研究85-94
- 5.6 本章小結(jié)94-95
- 6 面向有效錯(cuò)誤定位的偶然正確性測(cè)試用例識(shí)別方法95-114
- 6.1 引言95-96
- 6.2 問題描述96-97
- 6.3 偶然正確性測(cè)試用例識(shí)別方法97-99
- 6.4 實(shí)驗(yàn)評(píng)估99-113
- 6.5 本章小結(jié)113-114
- 7 基于Chameleon聚類分析的多錯(cuò)誤定位方法114-129
- 7.1 引言114-115
- 7.2 問題描述115
- 7.3 基于聚類分析的多錯(cuò)誤定位115-118
- 7.4 實(shí)驗(yàn)評(píng)估118-128
- 7.5 本章小結(jié)128-129
- 8 總結(jié)與展望129-131
- 8.1 論文工作總結(jié)129-130
- 8.2 展望130-131
- 參考文獻(xiàn)131-143
- 作者簡(jiǎn)歷143-146
- 學(xué)位論文數(shù)據(jù)集146
本文編號(hào):944568
本文鏈接:http://sikaile.net/shoufeilunwen/xxkjbs/944568.html
最近更新
教材專著