基于机器学习的编译器测试优化方法研究

来源 :吉林大学 | 被引量 : 0次 | 上传用户:jingjong
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
编译器是最重要的系统软件之一。如果编译器本身有问题,那么它编译生成的可执行文件可能会出现严重的错误。编译器测试能够保证编译器的质量。近年来,许多技术促进了编译器自动化测试技术的发展。它们通常依赖于一些测试用例生成的工具(如Csmith等),用来生成大量的测试用例(编译器测试的输入)。因为编译器是一个非常庞大、复杂的软件,测试人员往往会利用大量的测试用例对编译器进行压力测试。虽然现有的编译器测试方法引入额外的特征对编译器测试过程进行改进,但是它们均存在严重的效率问题。编译器测试优化即优化编译器测试程序的执行顺序,加速编译器测试过程,提升编译器测试能力。许多加速编译器测试的方法通过特定的准则,优先执行最有可能触发编译器错误的测试用例。但是,它们忽略了编译器测试过程中的一个严重问题,即不同的测试用例极有可能触发相同的编译器错误。测试覆盖信息能够有效地区分测试程序。由于编译器测试中测试用例均是由自动化测试生成工具自动生成的,动态获取测试程序的覆盖信息的开销是巨大的。本文提出一种能够静态获取测试程序覆盖信息的方法,利用得到的覆盖信息,基于聚类的方法,重新排列测试程序在编译器测试过程中的执行顺序,达到加速编译器测试的目的。预测覆盖信息即预测编译器对一个测试程序进行编译时编译器组件被覆盖的信息(如源代码文件是否被覆盖,函数是否被执行等信息)。预测覆盖信息可以看作为多输出的回归问题,每一个标签代表编译器组件中的被关注的元素(如文件粒度上源代码文件是否被执行,语句粒度上语句是否被执行等)。与典型的机器学习算法应用场景类似,预测覆盖信息的过程需要定义特征,标签,训练预测模型,预测和对齐数据等。本文将这一方法命名为COP(COverage Prediction的缩写)。本文分别基于GCC和LLVM编译器进行大量实验,实验结果表明,COP方法能够有效加速编译器测试过程,平均达到了51.01%的加速比。此外,COP方法和已知效果最好的加速方法相比,在各项实验设置中,性能提升了17.16%-82.51%。
其他文献
研究县域经济发展格局对揭示区域经济发展空间演化机制和实现县域经济的可持续发展具有重要的理论意义。本文基于ESDA(探索性空间数据分析)分析法,探讨了1990年以来新疆县域经
目的:观察传统热补针法对实验性关节炎家兔的针刺镇痛后效应及对炎症局部PGE2、SP含量的影响。方法:将60只青紫蓝兔随机分为正常对照组(n=6)、模型对照组(n=6)、捻转组(n=24)和热补组
今年10月中下旬,应埃及国家 新闻总署的邀请,我随上海新闻采访团一行,访问了埃及这个美丽的国家。在访问期间,有机会与埃及的同行交流,了解了一些传媒的运作情况。总的感觉是,埃及的
摘要乡村旅游近些年蓬勃发展,蚕桑作为传统农业产业,历史悠久,文化底蕴深厚,与旅游业结合,既有利于蚕桑产业的发展,带动农村经济增长,还能弘扬传统蚕桑文化,丰富人们的精神生活,也是顺
本文以虎皮鸡爪的油炸工艺为研究对象,以感官评价评分为指标,对油炸时间、油炸温度和油料比进行研究,进而通过单因素试验和正交试验,优化油炸工艺。结果表明,虎皮鸡爪的最佳
利用月降水、气温等资料,分析甘南草原地区水热配置和土壤水分变化。结果表明:牧草生长期降水增多,成熟期降水减少;逐月降水、气温变化的线性趋势有明显差异;月降水明显减少和气温
曾禺有着丰富的喜剧舞台经验和杰出的喜剧创作才能,同时他还就当代喜剧发展现状发表过诸多真知灼见,从而形成了曹禺关于喜剧本体、喜剧创作和喜剧表导演等方面的相关理论。梳理
随着新课程改革的推进和素质教育的推行,各个学科都纷纷开始改革和创新教学方式,使教学方式能够更加容易被学生所接受,调动学生的积极性,产生良好的教学效果,初中数学也不例
回族家庭讲究饮食,回族家庭主妇把烹调手艺作为治家标准之一,谓之"茶饭",不论待客,还是喜庆佳节,她们都大显身手,烹调名目繁多,佳肴色味俱全。河湟回族的日常主食有小麦、青
期刊
电子自旋是原子物理学和量子力学的重要概念,电子自旋假说的产生在物理学史上具有一定的特殊性。在微观领域中,类似于自转的一类物质的运动属性在更严格的概括下定义为自旋,即是