基于机器学习的编译器测试优化方法研究
发布时间:2021-11-27 11:20
编译器是最重要的系统软件之一。如果编译器本身有问题,那么它编译生成的可执行文件可能会出现严重的错误。编译器测试能够保证编译器的质量。近年来,许多技术促进了编译器自动化测试技术的发展。它们通常依赖于一些测试用例生成的工具(如Csmith等),用来生成大量的测试用例(编译器测试的输入)。因为编译器是一个非常庞大、复杂的软件,测试人员往往会利用大量的测试用例对编译器进行压力测试。虽然现有的编译器测试方法引入额外的特征对编译器测试过程进行改进,但是它们均存在严重的效率问题。编译器测试优化即优化编译器测试程序的执行顺序,加速编译器测试过程,提升编译器测试能力。许多加速编译器测试的方法通过特定的准则,优先执行最有可能触发编译器错误的测试用例。但是,它们忽略了编译器测试过程中的一个严重问题,即不同的测试用例极有可能触发相同的编译器错误。测试覆盖信息能够有效地区分测试程序。由于编译器测试中测试用例均是由自动化测试生成工具自动生成的,动态获取测试程序的覆盖信息的开销是巨大的。本文提出一种能够静态获取测试程序覆盖信息的方法,利用得到的覆盖信息,基于聚类的方法,重新排列测试程序在编译器测试过程中的执行顺序,...
【文章来源】:吉林大学吉林省 211工程院校 985工程院校 教育部直属院校
【文章页数】:54 页
【学位级别】:硕士
【部分图文】:
使用随机差异测试方法在三种不同的编译器中进行测试的流程
图 2.1 主流编译器测试方法2.2 编译器测试加速本文中提及的编译器测试技术均依赖于测试用例自动生成工具(如 Csmith)生成大量的测试程序[4],这些工作存在严重的效率问题,现有的研究工作都发现了这一问题[25-28]。近年来,一些针对编译器测试中存在的效率问题的编译器测试加
2.2 编译器测试加速本文中提及的编译器测试技术均依赖于测试用例自动生成工具(如 Csmith)生成大量的测试程序[4],这些工作存在严重的效率问题,现有的研究工作都发现了这一问题[25-28]。近年来,一些针对编译器测试中存在的效率问题的编译器测试加速方法被提出[27,28],如 TB-G 方法和 LET 方法。TB-G 方法是一种基于测试程序文本向量的排序方法[27]。TB-G 方法将每一个测试程序看作文本,并从文本中抽取和错误可能相关的片段,最终将测试程序转换为文本向量。其中,和错误相关的字段包含语句字符,类型字符和操作符字符等。在得到一系列的文本向量后,TB-G 方法将其标准化为 0 和 1 组成的向量中的元素。TB-G 根据每一个测试程序对应的向量和(0,0,…,0)的距离作为排序的准则。图 2.2 表示了 TB-G 方法的主要流程。本质上说,TB-G 方法是一种基于距离的测试程序排序的方法。
【参考文献】:
期刊论文
[1]基于程序路径分析的有效蜕变测试[J]. 董国伟,聂长海,徐宝文. 计算机学报. 2009(05)
本文编号:3522181
【文章来源】:吉林大学吉林省 211工程院校 985工程院校 教育部直属院校
【文章页数】:54 页
【学位级别】:硕士
【部分图文】:
使用随机差异测试方法在三种不同的编译器中进行测试的流程
图 2.1 主流编译器测试方法2.2 编译器测试加速本文中提及的编译器测试技术均依赖于测试用例自动生成工具(如 Csmith)生成大量的测试程序[4],这些工作存在严重的效率问题,现有的研究工作都发现了这一问题[25-28]。近年来,一些针对编译器测试中存在的效率问题的编译器测试加
2.2 编译器测试加速本文中提及的编译器测试技术均依赖于测试用例自动生成工具(如 Csmith)生成大量的测试程序[4],这些工作存在严重的效率问题,现有的研究工作都发现了这一问题[25-28]。近年来,一些针对编译器测试中存在的效率问题的编译器测试加速方法被提出[27,28],如 TB-G 方法和 LET 方法。TB-G 方法是一种基于测试程序文本向量的排序方法[27]。TB-G 方法将每一个测试程序看作文本,并从文本中抽取和错误可能相关的片段,最终将测试程序转换为文本向量。其中,和错误相关的字段包含语句字符,类型字符和操作符字符等。在得到一系列的文本向量后,TB-G 方法将其标准化为 0 和 1 组成的向量中的元素。TB-G 根据每一个测试程序对应的向量和(0,0,…,0)的距离作为排序的准则。图 2.2 表示了 TB-G 方法的主要流程。本质上说,TB-G 方法是一种基于距离的测试程序排序的方法。
【参考文献】:
期刊论文
[1]基于程序路径分析的有效蜕变测试[J]. 董国伟,聂长海,徐宝文. 计算机学报. 2009(05)
本文编号:3522181
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3522181.html