基于機(jī)器學(xué)習(xí)的編譯器測(cè)試優(yōu)化方法研究
發(fā)布時(shí)間:2021-11-27 11:20
編譯器是最重要的系統(tǒng)軟件之一。如果編譯器本身有問(wèn)題,那么它編譯生成的可執(zhí)行文件可能會(huì)出現(xiàn)嚴(yán)重的錯(cuò)誤。編譯器測(cè)試能夠保證編譯器的質(zhì)量。近年來(lái),許多技術(shù)促進(jìn)了編譯器自動(dòng)化測(cè)試技術(shù)的發(fā)展。它們通常依賴于一些測(cè)試用例生成的工具(如Csmith等),用來(lái)生成大量的測(cè)試用例(編譯器測(cè)試的輸入)。因?yàn)榫幾g器是一個(gè)非常龐大、復(fù)雜的軟件,測(cè)試人員往往會(huì)利用大量的測(cè)試用例對(duì)編譯器進(jìn)行壓力測(cè)試。雖然現(xiàn)有的編譯器測(cè)試方法引入額外的特征對(duì)編譯器測(cè)試過(guò)程進(jìn)行改進(jìn),但是它們均存在嚴(yán)重的效率問(wèn)題。編譯器測(cè)試優(yōu)化即優(yōu)化編譯器測(cè)試程序的執(zhí)行順序,加速編譯器測(cè)試過(guò)程,提升編譯器測(cè)試能力。許多加速編譯器測(cè)試的方法通過(guò)特定的準(zhǔn)則,優(yōu)先執(zhí)行最有可能觸發(fā)編譯器錯(cuò)誤的測(cè)試用例。但是,它們忽略了編譯器測(cè)試過(guò)程中的一個(gè)嚴(yán)重問(wèn)題,即不同的測(cè)試用例極有可能觸發(fā)相同的編譯器錯(cuò)誤。測(cè)試覆蓋信息能夠有效地區(qū)分測(cè)試程序。由于編譯器測(cè)試中測(cè)試用例均是由自動(dòng)化測(cè)試生成工具自動(dòng)生成的,動(dòng)態(tài)獲取測(cè)試程序的覆蓋信息的開(kāi)銷是巨大的。本文提出一種能夠靜態(tài)獲取測(cè)試程序覆蓋信息的方法,利用得到的覆蓋信息,基于聚類的方法,重新排列測(cè)試程序在編譯器測(cè)試過(guò)程中的執(zhí)行順序,...
【文章來(lái)源】:吉林大學(xué)吉林省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:54 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
使用隨機(jī)差異測(cè)試方法在三種不同的編譯器中進(jìn)行測(cè)試的流程
圖 2.1 主流編譯器測(cè)試方法2.2 編譯器測(cè)試加速本文中提及的編譯器測(cè)試技術(shù)均依賴于測(cè)試用例自動(dòng)生成工具(如 Csmith)生成大量的測(cè)試程序[4],這些工作存在嚴(yán)重的效率問(wèn)題,現(xiàn)有的研究工作都發(fā)現(xiàn)了這一問(wèn)題[25-28]。近年來(lái),一些針對(duì)編譯器測(cè)試中存在的效率問(wèn)題的編譯器測(cè)試加
2.2 編譯器測(cè)試加速本文中提及的編譯器測(cè)試技術(shù)均依賴于測(cè)試用例自動(dòng)生成工具(如 Csmith)生成大量的測(cè)試程序[4],這些工作存在嚴(yán)重的效率問(wèn)題,現(xiàn)有的研究工作都發(fā)現(xiàn)了這一問(wèn)題[25-28]。近年來(lái),一些針對(duì)編譯器測(cè)試中存在的效率問(wèn)題的編譯器測(cè)試加速方法被提出[27,28],如 TB-G 方法和 LET 方法。TB-G 方法是一種基于測(cè)試程序文本向量的排序方法[27]。TB-G 方法將每一個(gè)測(cè)試程序看作文本,并從文本中抽取和錯(cuò)誤可能相關(guān)的片段,最終將測(cè)試程序轉(zhuǎn)換為文本向量。其中,和錯(cuò)誤相關(guān)的字段包含語(yǔ)句字符,類型字符和操作符字符等。在得到一系列的文本向量后,TB-G 方法將其標(biāo)準(zhǔn)化為 0 和 1 組成的向量中的元素。TB-G 根據(jù)每一個(gè)測(cè)試程序?qū)?yīng)的向量和(0,0,…,0)的距離作為排序的準(zhǔn)則。圖 2.2 表示了 TB-G 方法的主要流程。本質(zhì)上說(shuō),TB-G 方法是一種基于距離的測(cè)試程序排序的方法。
【參考文獻(xiàn)】:
期刊論文
[1]基于程序路徑分析的有效蛻變測(cè)試[J]. 董國(guó)偉,聶長(zhǎng)海,徐寶文. 計(jì)算機(jī)學(xué)報(bào). 2009(05)
本文編號(hào):3522181
【文章來(lái)源】:吉林大學(xué)吉林省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:54 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
使用隨機(jī)差異測(cè)試方法在三種不同的編譯器中進(jìn)行測(cè)試的流程
圖 2.1 主流編譯器測(cè)試方法2.2 編譯器測(cè)試加速本文中提及的編譯器測(cè)試技術(shù)均依賴于測(cè)試用例自動(dòng)生成工具(如 Csmith)生成大量的測(cè)試程序[4],這些工作存在嚴(yán)重的效率問(wèn)題,現(xiàn)有的研究工作都發(fā)現(xiàn)了這一問(wèn)題[25-28]。近年來(lái),一些針對(duì)編譯器測(cè)試中存在的效率問(wèn)題的編譯器測(cè)試加
2.2 編譯器測(cè)試加速本文中提及的編譯器測(cè)試技術(shù)均依賴于測(cè)試用例自動(dòng)生成工具(如 Csmith)生成大量的測(cè)試程序[4],這些工作存在嚴(yán)重的效率問(wèn)題,現(xiàn)有的研究工作都發(fā)現(xiàn)了這一問(wèn)題[25-28]。近年來(lái),一些針對(duì)編譯器測(cè)試中存在的效率問(wèn)題的編譯器測(cè)試加速方法被提出[27,28],如 TB-G 方法和 LET 方法。TB-G 方法是一種基于測(cè)試程序文本向量的排序方法[27]。TB-G 方法將每一個(gè)測(cè)試程序看作文本,并從文本中抽取和錯(cuò)誤可能相關(guān)的片段,最終將測(cè)試程序轉(zhuǎn)換為文本向量。其中,和錯(cuò)誤相關(guān)的字段包含語(yǔ)句字符,類型字符和操作符字符等。在得到一系列的文本向量后,TB-G 方法將其標(biāo)準(zhǔn)化為 0 和 1 組成的向量中的元素。TB-G 根據(jù)每一個(gè)測(cè)試程序?qū)?yīng)的向量和(0,0,…,0)的距離作為排序的準(zhǔn)則。圖 2.2 表示了 TB-G 方法的主要流程。本質(zhì)上說(shuō),TB-G 方法是一種基于距離的測(cè)試程序排序的方法。
【參考文獻(xiàn)】:
期刊論文
[1]基于程序路徑分析的有效蛻變測(cè)試[J]. 董國(guó)偉,聶長(zhǎng)海,徐寶文. 計(jì)算機(jī)學(xué)報(bào). 2009(05)
本文編號(hào):3522181
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3522181.html
最近更新
教材專著