基于突變的高效缺陷定位方法研究
發(fā)布時(shí)間:2022-02-23 19:14
隨著軟件迭代的不斷加速,軟件的缺陷也隨之變得越來(lái)越多、越來(lái)越復(fù)雜。為了保證軟件的穩(wěn)定運(yùn)行,軟件的開發(fā)者們需要不斷地修復(fù)這些缺陷。在修復(fù)缺陷時(shí),必須首先定位到缺陷的位置。然而隨著缺陷的多樣化,往往開發(fā)者要花費(fèi)大量的時(shí)間首先理解軟件的結(jié)構(gòu)與缺陷的原理,才能夠完成缺陷定位的工作。因此開發(fā)自動(dòng)化的缺陷定位技術(shù)是非常有必要的。目前的一些研究工作已經(jīng)提出了自動(dòng)化的缺陷定位方法,其中比較知名的兩類是基于程序頻譜與基于突變的缺陷定位技術(shù)。這兩類技術(shù)以帶有缺陷的程序和測(cè)試用例作為輸入,并輸出一組排序過的代碼位置代表程序中可能出錯(cuò)的地方。這兩類技術(shù)在一些程序缺陷上取得了不錯(cuò)的效果,但同樣也存在一些問題。首先,基于程序頻譜的方法僅使用原測(cè)試中語(yǔ)句的覆蓋信息作為語(yǔ)句可疑度的計(jì)算基礎(chǔ),因此無(wú)法區(qū)分相同執(zhí)行模式語(yǔ)句。同時(shí),基于突變的方法需要進(jìn)行大量的程序突變和測(cè)試,這將帶來(lái)很高的時(shí)間開銷。在現(xiàn)有的兩個(gè)工作MUSE和Metallaxis中,語(yǔ)句的可疑度僅與該語(yǔ)句上的程序變體相關(guān),因此無(wú)法對(duì)不能進(jìn)行突變的語(yǔ)句給出可疑度。為了解決以上問題,本文提出了一種基于突變的高效缺陷定位方法,主要包括以下幾個(gè)部分:1.本文提出了一...
【文章來(lái)源】:南京大學(xué)江蘇省211工程院校985工程院校教育部直屬院校
【文章頁(yè)數(shù)】:87 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景與動(dòng)機(jī)
1.2 研究現(xiàn)狀
1.2.1 基于程序頻譜
1.2.2 基于程序突變
1.2.3 基于機(jī)器學(xué)習(xí)
1.2.4 基于程序切片
1.3 本文工作
1.4 本文的組織結(jié)構(gòu)
第二章 背景知識(shí)
2.1 缺陷定位
2.1.1 基于程序頻譜的方法
2.1.2 基于程序突變的方法
2.2 程序切片
2.2.1 靜態(tài)切片
2.2.2 動(dòng)態(tài)切片
2.3 PIT和JavaSlicer
2.4 本章小結(jié)
第三章 基于突變的缺陷定位方法H2
3.1 研究動(dòng)機(jī)
3.2 整體框架
3.3 動(dòng)態(tài)程序切片
3.4 變異測(cè)試
3.4.1 突變操作符
3.4.2 程序突變
3.4.3 測(cè)試與信息收集
3.5 本章小結(jié)
第四章 H2的語(yǔ)句可疑度計(jì)算方法
4.1 啟發(fā)式規(guī)則
4.2 可疑度計(jì)算公式
4.3 本章小結(jié)
第五章 工具實(shí)現(xiàn)和實(shí)例研究
5.1 缺陷定位工具實(shí)現(xiàn)
5.2 程序缺陷實(shí)例MATH-996
5.3 本章小結(jié)
第六章 實(shí)驗(yàn)評(píng)估
6.1 實(shí)驗(yàn)對(duì)象
6.2 評(píng)估指標(biāo)
6.3 實(shí)驗(yàn)結(jié)果
6.3.1 動(dòng)態(tài)程序切片
6.3.2 可疑度計(jì)算
6.3.3 缺陷定位效果
6.4 本章小結(jié)
第七章 論文總結(jié)
7.1 論文主要工作
7.2 未來(lái)工作
致謝
參考文獻(xiàn)
簡(jiǎn)歷與科研成果
本文編號(hào):3641190
【文章來(lái)源】:南京大學(xué)江蘇省211工程院校985工程院校教育部直屬院校
【文章頁(yè)數(shù)】:87 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
Abstract
第一章 緒論
1.1 研究背景與動(dòng)機(jī)
1.2 研究現(xiàn)狀
1.2.1 基于程序頻譜
1.2.2 基于程序突變
1.2.3 基于機(jī)器學(xué)習(xí)
1.2.4 基于程序切片
1.3 本文工作
1.4 本文的組織結(jié)構(gòu)
第二章 背景知識(shí)
2.1 缺陷定位
2.1.1 基于程序頻譜的方法
2.1.2 基于程序突變的方法
2.2 程序切片
2.2.1 靜態(tài)切片
2.2.2 動(dòng)態(tài)切片
2.3 PIT和JavaSlicer
2.4 本章小結(jié)
第三章 基于突變的缺陷定位方法H2
3.1 研究動(dòng)機(jī)
3.2 整體框架
3.3 動(dòng)態(tài)程序切片
3.4 變異測(cè)試
3.4.1 突變操作符
3.4.2 程序突變
3.4.3 測(cè)試與信息收集
3.5 本章小結(jié)
第四章 H2的語(yǔ)句可疑度計(jì)算方法
4.1 啟發(fā)式規(guī)則
4.2 可疑度計(jì)算公式
4.3 本章小結(jié)
第五章 工具實(shí)現(xiàn)和實(shí)例研究
5.1 缺陷定位工具實(shí)現(xiàn)
5.2 程序缺陷實(shí)例MATH-996
5.3 本章小結(jié)
第六章 實(shí)驗(yàn)評(píng)估
6.1 實(shí)驗(yàn)對(duì)象
6.2 評(píng)估指標(biāo)
6.3 實(shí)驗(yàn)結(jié)果
6.3.1 動(dòng)態(tài)程序切片
6.3.2 可疑度計(jì)算
6.3.3 缺陷定位效果
6.4 本章小結(jié)
第七章 論文總結(jié)
7.1 論文主要工作
7.2 未來(lái)工作
致謝
參考文獻(xiàn)
簡(jiǎn)歷與科研成果
本文編號(hào):3641190
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3641190.html
最近更新
教材專著