基于密度聚類的多錯誤定位方法研究
發(fā)布時間:2021-03-23 13:16
軟件調(diào)試包括判斷故障來源、分析并修復故障等工作,其中錯誤語句定位是修復程序故障的重要前提。傳統(tǒng)的錯誤定位需要軟件調(diào)試人員手工完成,為了降低修復過程中的人力成本,程序錯誤自動定位方法應運而生。基于程序譜的錯誤定位(Spectrum Based Fault Localization,SBFL)是一種重要的自動化錯誤定位方法,因其輕量性和較高的錯誤定位精度得以廣泛運用和研究。基于程序譜的錯誤定位技術(shù)的相關(guān)研究逐步從單錯誤故障轉(zhuǎn)向多錯誤故障,定位精度受到多錯誤之間的干擾、偶然正確(Coincidental Correct,CC)測試用例等因素影響。現(xiàn)有研究普遍采用聚類的方法降低多錯誤間產(chǎn)生的干擾。基于聚類的方法認為,理想情況下單個類簇中的所有測試用例失效都是因為單個錯誤語句導致的,因此將失敗測試用例聚成若干類簇,但這種聚類算法通常需要預設聚類結(jié)果的類簇數(shù)量。除此之外,相關(guān)研究已表明,單錯誤程序中偶然正確測試用例的存在會導致錯誤定位精度下降,但當前的多錯誤定位研究中較少考慮此類測試用例對錯誤定位的影響。針對上述問題,本課題圍繞密度聚類展開多錯誤定位方法研究,并在此基礎(chǔ)上考慮偶然正確測試用例問題。...
【文章來源】:北京化工大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:75 頁
【學位級別】:碩士
【部分圖文】:
圖2-3并行調(diào)試框架??Fig.?2-3?Framework?of?Parallel?debugging??
?第三章基于密度聚類的多錯誤定位方法設計與實現(xiàn)???^一_未覆蓋錯誤語句t的測試用例??/q?QA?覆蓋了錯誤語句f的測試用例??—??(a)理想情況??\〇^\〇^〇/?\〇_〇/??(b)聚類誤差情況1?(c)聚類誤差情況2?(d)聚類誤差情況3??圖3-1想聚類情況和三種可能的聚類誤差示意圖??Fig.3-1?Diagrams?of?ideal?situation?and?three?possible?misgroup?scenarios??本文的研宄中確定了三種可能的聚類誤差情況。圖3-1所示的分別是理想聚類情??況和三個聚類誤差情況。在圖3-1的每個子圖中,空心大圓表示與錯誤語句f相關(guān)的??類簇,灰色小圓表示未覆蓋語句f的失敗測試用例,空心小圓表示覆蓋語句f的失敗??測試用例。以下是對這三種聚類誤差的更詳細分析:??1.聚類誤差情況1:覆蓋了語句f的所有失敗的測試用例都正確地聚類至類簇中,??但是未覆蓋語句f的其他一些失敗的測試用例也被聚類至該類簇中。在這種??情況下,cluster(f)=failnum(f),但是?cluster(other)>0。??2.聚類誤差情況2:聚類到相應類簇中的所有失敗測試用例都覆蓋了語句f,但??是有一部分覆蓋了語句f的失敗測試用例沒有被聚類至該類簇中。在這種情??況下,cluster(f)<failnum(f),cluster(other)=0。??3.聚類誤差情況3:有一部分覆蓋了語句f的失敗測試用例未被聚類至對應的類??簇中。并且一部分未覆蓋語句f的失敗測試用例被聚類至該類簇中。在這種??情況下,cluster(f)<failnum(f),?cluster(o
?10%?〇?^?-?—?10%??ss?i?=??°?25%?J?°?—?25%?/?°?—??25%?J??r::3^?is::^^y??{f^?°?n?1? ̄i?!??°?n?1?n?1??°?i?i?i?i??0?20000?40000?60000?80000?0?20000?40000?60000?80000?0?20000?40000?60000?80000??錯誤語句?錯誤語句?錯誤語句??⑷?(b)?(c)??圖3-3聚類誤差下的錯誤定位效率(a)情況1(b)情況2(c)情況3??Fig.3-3?Cost?of?three?misgroup?scenarios:?(a)?scenario?1,?(b)?scenario?2,?(c)?scenario?3??圖3-3展示了三種聚類誤差情形下Ochiai公式的EXAM值,其中圖3-3中的(a),??(b),(c)子圖分別表示聚類誤差情況1,聚類誤差情況2和聚類誤差情況3,其中origin??是指未使用錯誤劃分策略。在這些圖中,x軸表示要測試的12786個故障版本的77970??個錯誤語句,y軸表示定位相應故障的EXAM值。其中為便于比較,本文在圖中按升??序排列EXAM,而較低的EXAM值意味著錯誤定位的有效性更高。??19??
【參考文獻】:
期刊論文
[1]基于Chameleon聚類分析的多錯誤定位方法[J]. 曹鶴玲,姜淑娟. 電子學報. 2017(02)
本文編號:3095860
【文章來源】:北京化工大學北京市 211工程院校 教育部直屬院校
【文章頁數(shù)】:75 頁
【學位級別】:碩士
【部分圖文】:
圖2-3并行調(diào)試框架??Fig.?2-3?Framework?of?Parallel?debugging??
?第三章基于密度聚類的多錯誤定位方法設計與實現(xiàn)???^一_未覆蓋錯誤語句t的測試用例??/q?QA?覆蓋了錯誤語句f的測試用例??—??(a)理想情況??\〇^\〇^〇/?\〇_〇/??(b)聚類誤差情況1?(c)聚類誤差情況2?(d)聚類誤差情況3??圖3-1想聚類情況和三種可能的聚類誤差示意圖??Fig.3-1?Diagrams?of?ideal?situation?and?three?possible?misgroup?scenarios??本文的研宄中確定了三種可能的聚類誤差情況。圖3-1所示的分別是理想聚類情??況和三個聚類誤差情況。在圖3-1的每個子圖中,空心大圓表示與錯誤語句f相關(guān)的??類簇,灰色小圓表示未覆蓋語句f的失敗測試用例,空心小圓表示覆蓋語句f的失敗??測試用例。以下是對這三種聚類誤差的更詳細分析:??1.聚類誤差情況1:覆蓋了語句f的所有失敗的測試用例都正確地聚類至類簇中,??但是未覆蓋語句f的其他一些失敗的測試用例也被聚類至該類簇中。在這種??情況下,cluster(f)=failnum(f),但是?cluster(other)>0。??2.聚類誤差情況2:聚類到相應類簇中的所有失敗測試用例都覆蓋了語句f,但??是有一部分覆蓋了語句f的失敗測試用例沒有被聚類至該類簇中。在這種情??況下,cluster(f)<failnum(f),cluster(other)=0。??3.聚類誤差情況3:有一部分覆蓋了語句f的失敗測試用例未被聚類至對應的類??簇中。并且一部分未覆蓋語句f的失敗測試用例被聚類至該類簇中。在這種??情況下,cluster(f)<failnum(f),?cluster(o
?10%?〇?^?-?—?10%??ss?i?=??°?25%?J?°?—?25%?/?°?—??25%?J??r::3^?is::^^y??{f^?°?n?1? ̄i?!??°?n?1?n?1??°?i?i?i?i??0?20000?40000?60000?80000?0?20000?40000?60000?80000?0?20000?40000?60000?80000??錯誤語句?錯誤語句?錯誤語句??⑷?(b)?(c)??圖3-3聚類誤差下的錯誤定位效率(a)情況1(b)情況2(c)情況3??Fig.3-3?Cost?of?three?misgroup?scenarios:?(a)?scenario?1,?(b)?scenario?2,?(c)?scenario?3??圖3-3展示了三種聚類誤差情形下Ochiai公式的EXAM值,其中圖3-3中的(a),??(b),(c)子圖分別表示聚類誤差情況1,聚類誤差情況2和聚類誤差情況3,其中origin??是指未使用錯誤劃分策略。在這些圖中,x軸表示要測試的12786個故障版本的77970??個錯誤語句,y軸表示定位相應故障的EXAM值。其中為便于比較,本文在圖中按升??序排列EXAM,而較低的EXAM值意味著錯誤定位的有效性更高。??19??
【參考文獻】:
期刊論文
[1]基于Chameleon聚類分析的多錯誤定位方法[J]. 曹鶴玲,姜淑娟. 電子學報. 2017(02)
本文編號:3095860
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3095860.html
最近更新
教材專著