面向編譯器測試的部分求值靜態(tài)輸入確定方法
發(fā)布時間:2023-03-11 09:14
在編譯器測試中,基于部分求值技術的編譯器測試方法將用于編譯器優(yōu)化和程序例化的部分求值技術應用到編譯器測試中,是一種比較新穎、有效的方法,但是這一方法對源程序用于部分求值的一組靜態(tài)輸入及其取值都是由人工手動指定的,這種依賴人工手動指定的策略無法使測試過程自動化進行,而且具有一定的盲目性。本文為了解決基于部分求值的編譯器測試技術中靜態(tài)輸入需要人工手動指定的低效和盲目性,提出了一種源程序靜態(tài)輸入的確定方法和靜態(tài)輸入值的確定方法,重點是要解決兩個問題:第一,如何量化變量的重要性,為了解決這個問題,定義了變量的依賴度屬性;第二,如何自動化地計算變量的依賴度,為此采用了數(shù)據(jù)流分析手段,先將源程序抽象為一個控制流圖,待研究的順序和分支語句構成圖的節(jié)點。對源程序的分析主要集中在這些節(jié)點上,弱化了圖的邊。在該定義中,每個變量的定義集合是在該變量的所有賦值語句中,右部表達式中其他變量的集合,即每個變量的值依賴于它定義集合中的變量,定義集合主要用于后續(xù)的數(shù)據(jù)流方程計算,控制流圖的引用集合表示在一個節(jié)點語句中出現(xiàn)的所有變量的集合,本文方法的核心思想便是對引用集合中的每個變量,用它的依賴集合來替換它,直至收斂。...
【文章頁數(shù)】:47 頁
【學位級別】:碩士
【文章目錄】:
摘要
abstract
第1章 緒論
1.1 研究背景
1.2 研究現(xiàn)狀
1.3 本文研究內容
第2章 背景
2.1 部分求值技術
2.1.1 部分求值的定義
2.1.2 部分求值器概述
2.1.3 部分求值技術的應用
2.2 LLVM與 CLANG
2.2.1 LLVM與 Clang簡介
2.2.2 Clang和 Clang AST
2.2.3 LLVM IR
第3章 靜態(tài)輸入的確定與取值
3.1 定義基礎
3.1.1 基本定義
3.1.2 定義的依據(jù)與分析
3.2 靜態(tài)輸入的確定方法
3.2.1 依賴度的計算
3.2.2 靜態(tài)輸入的選取規(guī)則
3.3 靜態(tài)輸入取值范圍的計算
第4章 實現(xiàn)
4.1 基于CLANG AST的實現(xiàn)
4.2 基于LLVM IR的實現(xiàn)
第5章 實驗與結果分析
5.1 測試框架的實現(xiàn)
5.2 實驗設置
5.3 試驗結果與分析
第6章 總結與展望
參考文獻
作者簡介及在學期間所取得的科研成果
致謝
本文編號:3759604
【文章頁數(shù)】:47 頁
【學位級別】:碩士
【文章目錄】:
摘要
abstract
第1章 緒論
1.1 研究背景
1.2 研究現(xiàn)狀
1.3 本文研究內容
第2章 背景
2.1 部分求值技術
2.1.1 部分求值的定義
2.1.2 部分求值器概述
2.1.3 部分求值技術的應用
2.2 LLVM與 CLANG
2.2.1 LLVM與 Clang簡介
2.2.2 Clang和 Clang AST
2.2.3 LLVM IR
第3章 靜態(tài)輸入的確定與取值
3.1 定義基礎
3.1.1 基本定義
3.1.2 定義的依據(jù)與分析
3.2 靜態(tài)輸入的確定方法
3.2.1 依賴度的計算
3.2.2 靜態(tài)輸入的選取規(guī)則
3.3 靜態(tài)輸入取值范圍的計算
第4章 實現(xiàn)
4.1 基于CLANG AST的實現(xiàn)
4.2 基于LLVM IR的實現(xiàn)
第5章 實驗與結果分析
5.1 測試框架的實現(xiàn)
5.2 實驗設置
5.3 試驗結果與分析
第6章 總結與展望
參考文獻
作者簡介及在學期間所取得的科研成果
致謝
本文編號:3759604
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3759604.html
最近更新
教材專著