軟件測(cè)試是在軟件規(guī)模不斷擴(kuò)大、系統(tǒng)結(jié)構(gòu)日益復(fù)雜、項(xiàng)目需求逐漸增多的環(huán)境下減少軟件隱患的有效手段,而錯(cuò)誤定位技術(shù)被視為軟件測(cè)試領(lǐng)域里規(guī)避軟件運(yùn)行失敗或崩潰的關(guān)鍵舉措。錯(cuò)誤定位通過(guò)確定程序中的錯(cuò)誤過(guò)程、指令或數(shù)據(jù)定義,修復(fù)潛在的缺陷,是單元測(cè)試、系統(tǒng)測(cè)試和集成測(cè)試中不可或缺的環(huán)節(jié)。目前錯(cuò)誤定位相關(guān)研究中有待改善的方面如下:忽略程序內(nèi)部的依賴(lài)關(guān)系,時(shí)間資源消耗較大、效率較低;忽略程序?qū)嶓w之間的邏輯關(guān)系,未關(guān)注數(shù)據(jù)鏈關(guān)系對(duì)錯(cuò)誤定位代價(jià)的作用機(jī)制;針對(duì)軟件多錯(cuò)誤定位,采用的方式實(shí)現(xiàn)難度系數(shù)較大、精度受限。針對(duì)這些問(wèn)題,本文著眼于程序切片技術(shù)和數(shù)據(jù)挖掘算法,對(duì)基于上下文感知的考慮內(nèi)部結(jié)構(gòu)和邏輯的程序切片技術(shù)、考慮變量定義和使用的數(shù)據(jù)鏈關(guān)系、考慮路徑聚類(lèi)的多錯(cuò)誤定位三個(gè)方面進(jìn)行研究,理論分析錯(cuò)誤定位效率的影響因素,建立模型確定方法的實(shí)現(xiàn)環(huán)節(jié),通過(guò)實(shí)驗(yàn)驗(yàn)證方法的有效性和正確性。本文的研究工作包括:1、提出一種基于變量切片和關(guān)聯(lián)規(guī)則的軟件錯(cuò)誤定位方法。對(duì)Java程序進(jìn)行變量切片,利用切片的位置信息構(gòu)造事務(wù)數(shù)據(jù)庫(kù),再通過(guò)關(guān)聯(lián)分析得到關(guān)聯(lián)規(guī)則集合,生成檢查語(yǔ)句優(yōu)先級(jí)次序,定位錯(cuò)誤出現(xiàn)的位置。針對(duì)五個(gè)基準(zhǔn)程序展開(kāi)實(shí)驗(yàn),結(jié)果表明該方法與基于覆蓋分析的七種方法相比,錯(cuò)誤定位代價(jià)平均降低至少10%,一定程度上提高了錯(cuò)誤定位的效率,降低了軟件測(cè)試的成本。2、提出一種基于數(shù)據(jù)鏈關(guān)系和信息量的軟件錯(cuò)誤定位方法。獲取包含單錯(cuò)誤的Java程序的數(shù)據(jù)鏈關(guān)系,利用執(zhí)行成功和執(zhí)行失敗場(chǎng)景下的覆蓋信息計(jì)算每條數(shù)據(jù)鏈關(guān)系的信息量,然后回歸到語(yǔ)句粒度的可疑度評(píng)估,由實(shí)體的優(yōu)先級(jí)次序來(lái)診斷錯(cuò)誤。將該方法的實(shí)現(xiàn)思路應(yīng)用于四個(gè)基準(zhǔn)程序,結(jié)果表明該方法與基于可疑度公式的七種方法相比,錯(cuò)誤定位代價(jià)平均降低6.35%,為辨別程序失效的原因提供了解決方案。3、提出一種基于路徑聚類(lèi)和失敗加權(quán)的軟件多錯(cuò)誤定位方法。在具有完備測(cè)試用例的運(yùn)行環(huán)境下,構(gòu)造出執(zhí)行軌跡信息的路徑矩陣,在此基礎(chǔ)上利用聚類(lèi)分析劃分類(lèi)簇,擴(kuò)大失效執(zhí)行的權(quán)重,將其增添到可疑度評(píng)估過(guò)程里,以排查存在的多個(gè)錯(cuò)誤。針對(duì)四個(gè)基準(zhǔn)程序展開(kāi)實(shí)驗(yàn),結(jié)果表明該方法與基于等價(jià)評(píng)估函數(shù)的五種方法相比,錯(cuò)誤定位代價(jià)平均降低19.15%,克服了計(jì)算難度系數(shù)大、準(zhǔn)確性低的難題。4、實(shí)現(xiàn)上下文感知的軟件錯(cuò)誤定位系統(tǒng)。借助統(tǒng)一建模語(yǔ)言UML中的順序圖和交互圖,完成系統(tǒng)的模型建立工作,同時(shí)依據(jù)上下文信息識(shí)別程序中的錯(cuò)誤,開(kāi)發(fā)一個(gè)包含單錯(cuò)誤和多錯(cuò)誤的軟件錯(cuò)誤定位系統(tǒng)。
【學(xué)位單位】:西安郵電大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類(lèi)】:TP311.53
【部分圖文】:
圖 2.1 上下文感知錯(cuò)誤定位系統(tǒng)基本框架序切片技術(shù)程序切片的基本概念念 2.1 控制依賴(lài)。若程序中存在兩條語(yǔ)句( , )i jS S ,其中S 是條件判斷

圖 2.2 Soot 的整體結(jié)構(gòu) 靜態(tài)切片和動(dòng)態(tài)切片?紤]所有的程序執(zhí)行路徑,靜態(tài),對(duì)某個(gè)位置的變量值產(chǎn)生作用的語(yǔ)句集合,稱(chēng)為靜態(tài)切行路徑,動(dòng)態(tài)識(shí)別在輸入給定的情況下,對(duì)變量值產(chǎn)生作。從興趣點(diǎn)和特定輸入的角度得到實(shí)例程序的切片結(jié)果

聚類(lèi)分析示意圖
【參考文獻(xiàn)】
相關(guān)期刊論文 前10條
1 王克朝;王甜甜;蘇小紅;馬培軍;;軟件錯(cuò)誤自動(dòng)定位關(guān)鍵科學(xué)問(wèn)題及研究進(jìn)展[J];計(jì)算機(jī)學(xué)報(bào);2015年11期
2 曹鶴玲;姜淑娟;鞠小林;王興亞;;基于動(dòng)態(tài)切片和關(guān)聯(lián)分析的錯(cuò)誤定位方法[J];計(jì)算機(jī)學(xué)報(bào);2015年11期
3 楊波;吳際;劉超;;基于數(shù)據(jù)鏈的軟件故障定位方法[J];軟件學(xué)報(bào);2015年02期
4 陳翔;鞠小林;文萬(wàn)志;顧慶;;基于程序頻譜的動(dòng)態(tài)缺陷定位方法研究[J];軟件學(xué)報(bào);2015年02期
5 姜元鵬;李威;于巧;姜淑娟;;基于貝葉斯的軟件錯(cuò)誤定位方法[J];計(jì)算機(jī)工程與設(shè)計(jì);2014年11期
6 蘇小紅;龔丹丹;王甜甜;馬培軍;;結(jié)合用例約簡(jiǎn)與聯(lián)合依賴(lài)概率建模的錯(cuò)誤定位[J];軟件學(xué)報(bào);2014年07期
7 衷璐潔;霍瑋;李龍;李豐;馮曉兵;張兆慶;;一種場(chǎng)景敏感的高效錯(cuò)誤檢測(cè)方法[J];軟件學(xué)報(bào);2014年03期
8 曹鶴玲;姜淑娟;鞠小林;;軟件錯(cuò)誤定位研究綜述[J];計(jì)算機(jī)科學(xué);2014年02期
9 王興亞;姜淑娟;鞠小林;邵浩然;;一種基于前向計(jì)算的動(dòng)態(tài)程序切片方法[J];計(jì)算機(jī)科學(xué);2014年01期
10 李偉;鄭征;郝鵬;高乙超;饒培峰;宮成;;基于謂詞執(zhí)行序列的軟件缺陷定位算法[J];計(jì)算機(jī)學(xué)報(bào);2013年12期
相關(guān)博士學(xué)位論文 前1條
1 劉飛;面向錯(cuò)誤檢測(cè)的指針?lè)治黾夹g(shù)研究[D];東南大學(xué);2015年
相關(guān)碩士學(xué)位論文 前3條
1 游錦鑫;域敏感的Java程序副作用分析研究[D];江西師范大學(xué);2015年
2 張澤林;基于數(shù)據(jù)挖掘的軟件多故障定位與分析技術(shù)[D];南京理工大學(xué);2015年
3 姚艷玲;基于執(zhí)行路徑聚類(lèi)的程序錯(cuò)誤定位方法研究[D];大連海事大學(xué);2013年
本文編號(hào):
2876272
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/2876272.html