基于機器學習的軟件故障定位和測試用例生成
發(fā)布時間:2022-12-05 06:11
隨著信息技術(shù)的高速發(fā)展和應(yīng)用領(lǐng)域的擴大,計算機軟件的規(guī)模和復(fù)雜程度也與日俱增,給軟件開發(fā)和調(diào)試技術(shù)帶來了新的挑戰(zhàn)。軟件測試是保證軟件質(zhì)量的關(guān)鍵環(huán)節(jié),貫穿軟件開發(fā)的生命周期。軟件調(diào)試和測試用例生成是軟件測試的兩大重點研究內(nèi)容。調(diào)試是軟件測試中的重要環(huán)節(jié),其目的是發(fā)現(xiàn)存在于軟件中的故障,并對其進行修正以確保軟件按照設(shè)計預(yù)期運作。而測試用例生成則是通過一定方式按照軟件的設(shè)計說明產(chǎn)生測試用例,通過將生成的測試用例輸入到目標軟件運行,可以動態(tài)地獲取程序的行為信息,并通過程序的運行結(jié)果判斷其中是否存在故障。頻譜故障定位方法是故障定位領(lǐng)域的主流研究內(nèi)容,該方法通過將一定數(shù)量的測試用例對可能存在故障的程序進行執(zhí)行,并收集程序語句的覆蓋信息和測試用例的執(zhí)行結(jié)果,其目的在于找到與程序預(yù)期執(zhí)行結(jié)果不同的測試用例和執(zhí)行時所覆蓋的語句,并基于此進行故障定位。現(xiàn)有的頻譜故障方法已有很多種,但是在精確度和故障定位效率等方面仍然存在提升空間。本文在現(xiàn)有的研究基礎(chǔ)上將機器學習算法XGBoost引入頻譜故障定位技術(shù),并提出了一種新型故障定位方法,該方法通過使用XGBoost模型進行分類后的特征排名獲取關(guān)鍵語句信息,并在此...
【文章頁數(shù)】:75 頁
【學位級別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 研究背景
1.2 研究內(nèi)容
1.2.1 擬解決的關(guān)鍵問題
1.2.2 主要研究內(nèi)容
1.2.3 研究目標
1.3 論文結(jié)構(gòu)
1.4 本章小結(jié)
第二章 相關(guān)工作介紹
2.1 故障定位的相關(guān)工作
2.2 測試用例生成的相關(guān)工作
2.3 本章小結(jié)
第三章 基于機器學習的軟件故障定位方法
3.1 基于程序頻譜的故障定位方法
3.1.1 頻譜故障定位的相關(guān)概念
3.1.2 基于統(tǒng)計學的計算模型
3.2 XGBoost模型
3.2.1 XGBoost模型原理
3.3 基于XGBoost模型的軟件故障定位
3.3.1 程序頻譜信息表示
3.3.2 關(guān)鍵語句信息的獲取
3.3.3 示例分析
3.3.4 生成語句可疑度列表
3.3.5 基于XGBoost模型的故障定位方法框架
3.4 本章小結(jié)
第四章 基于機器學習的測試用例生成方法
4.1 遺傳算法的相關(guān)概念
4.2 基于改進遺傳算法的測試用例生成方法
4.2.1 適應(yīng)度函數(shù)的構(gòu)造
4.2.2 改進遺傳算子的設(shè)計
4.2.3 改進遺傳算法的執(zhí)行流程
4.3 本章小結(jié)
第五章 實驗驗證
5.1 基于機器學習的軟件故障定位方法
5.1.1 評價標準
5.1.2 實驗設(shè)計
5.1.3 實驗結(jié)果
5.2 基于改進遺傳算法的測試用例生成方法
5.2.1 評價標準
5.2.2 實驗設(shè)計
5.2.3 實驗結(jié)果
5.3 本章小結(jié)
第六章 總結(jié)與展望
6.1 主要結(jié)論
6.2 展望
參考文獻
在學期間的研究成果
致謝
【參考文獻】:
期刊論文
[1]增強上下文的錯誤定位技術(shù)[J]. 張卓,譚慶平,毛曉光,雷晏,常曦,薛建新. 軟件學報. 2019(02)
[2]基于條件概率模型的缺陷定位方法[J]. 舒挺,黃明獻,丁佐華,王磊,夏勁松. 軟件學報. 2018(06)
[3]基于Chameleon聚類分析的多錯誤定位方法[J]. 曹鶴玲,姜淑娟. 電子學報. 2017(02)
[4]一種基于加權(quán)軟件行為圖挖掘的軟件錯誤定位方法[J]. 蘇小紅,王甜甜,楊劭君,馬培軍. 計算機學報. 2016(11)
[5]基于二次定位策略的軟件故障定位[J]. 宗芳芳,黃鴻云,丁佐華. 軟件學報. 2016(08)
[6]基于混雜偏倚消除的謂詞統(tǒng)計錯誤定位方法[J]. 王興亞,姜淑娟,鞠小林,曹鶴玲. 計算機學報. 2017(12)
[7]一種基于遺傳算法的多缺陷定位方法[J]. 王贊,樊向宇,鄒雨果,陳翔. 軟件學報. 2016(04)
[8]基于動態(tài)切片和關(guān)聯(lián)分析的錯誤定位方法[J]. 曹鶴玲,姜淑娟,鞠小林,王興亞. 計算機學報. 2015(11)
[9]基于程序頻譜的動態(tài)缺陷定位方法研究[J]. 陳翔,鞠小林,文萬志,顧慶. 軟件學報. 2015(02)
[10]結(jié)合用例約簡與聯(lián)合依賴概率建模的錯誤定位[J]. 蘇小紅,龔丹丹,王甜甜,馬培軍. 軟件學報. 2014(07)
本文編號:3709843
【文章頁數(shù)】:75 頁
【學位級別】:碩士
【文章目錄】:
摘要
ABSTRACT
第一章 緒論
1.1 研究背景
1.2 研究內(nèi)容
1.2.1 擬解決的關(guān)鍵問題
1.2.2 主要研究內(nèi)容
1.2.3 研究目標
1.3 論文結(jié)構(gòu)
1.4 本章小結(jié)
第二章 相關(guān)工作介紹
2.1 故障定位的相關(guān)工作
2.2 測試用例生成的相關(guān)工作
2.3 本章小結(jié)
第三章 基于機器學習的軟件故障定位方法
3.1 基于程序頻譜的故障定位方法
3.1.1 頻譜故障定位的相關(guān)概念
3.1.2 基于統(tǒng)計學的計算模型
3.2 XGBoost模型
3.2.1 XGBoost模型原理
3.3 基于XGBoost模型的軟件故障定位
3.3.1 程序頻譜信息表示
3.3.2 關(guān)鍵語句信息的獲取
3.3.3 示例分析
3.3.4 生成語句可疑度列表
3.3.5 基于XGBoost模型的故障定位方法框架
3.4 本章小結(jié)
第四章 基于機器學習的測試用例生成方法
4.1 遺傳算法的相關(guān)概念
4.2 基于改進遺傳算法的測試用例生成方法
4.2.1 適應(yīng)度函數(shù)的構(gòu)造
4.2.2 改進遺傳算子的設(shè)計
4.2.3 改進遺傳算法的執(zhí)行流程
4.3 本章小結(jié)
第五章 實驗驗證
5.1 基于機器學習的軟件故障定位方法
5.1.1 評價標準
5.1.2 實驗設(shè)計
5.1.3 實驗結(jié)果
5.2 基于改進遺傳算法的測試用例生成方法
5.2.1 評價標準
5.2.2 實驗設(shè)計
5.2.3 實驗結(jié)果
5.3 本章小結(jié)
第六章 總結(jié)與展望
6.1 主要結(jié)論
6.2 展望
參考文獻
在學期間的研究成果
致謝
【參考文獻】:
期刊論文
[1]增強上下文的錯誤定位技術(shù)[J]. 張卓,譚慶平,毛曉光,雷晏,常曦,薛建新. 軟件學報. 2019(02)
[2]基于條件概率模型的缺陷定位方法[J]. 舒挺,黃明獻,丁佐華,王磊,夏勁松. 軟件學報. 2018(06)
[3]基于Chameleon聚類分析的多錯誤定位方法[J]. 曹鶴玲,姜淑娟. 電子學報. 2017(02)
[4]一種基于加權(quán)軟件行為圖挖掘的軟件錯誤定位方法[J]. 蘇小紅,王甜甜,楊劭君,馬培軍. 計算機學報. 2016(11)
[5]基于二次定位策略的軟件故障定位[J]. 宗芳芳,黃鴻云,丁佐華. 軟件學報. 2016(08)
[6]基于混雜偏倚消除的謂詞統(tǒng)計錯誤定位方法[J]. 王興亞,姜淑娟,鞠小林,曹鶴玲. 計算機學報. 2017(12)
[7]一種基于遺傳算法的多缺陷定位方法[J]. 王贊,樊向宇,鄒雨果,陳翔. 軟件學報. 2016(04)
[8]基于動態(tài)切片和關(guān)聯(lián)分析的錯誤定位方法[J]. 曹鶴玲,姜淑娟,鞠小林,王興亞. 計算機學報. 2015(11)
[9]基于程序頻譜的動態(tài)缺陷定位方法研究[J]. 陳翔,鞠小林,文萬志,顧慶. 軟件學報. 2015(02)
[10]結(jié)合用例約簡與聯(lián)合依賴概率建模的錯誤定位[J]. 蘇小紅,龔丹丹,王甜甜,馬培軍. 軟件學報. 2014(07)
本文編號:3709843
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3709843.html
最近更新
教材專著