导读:本文包含了编译器测试论文开题报告文献综述及选题提纲参考文献,主要关键词:编译器测试,覆盖信息,机器学习,测试用例排序
编译器测试论文文献综述
王冠成[1](2018)在《基于机器学习的编译器测试优化方法研究》一文中研究指出编译器是最重要的系统软件之一。如果编译器本身有问题,那么它编译生成的可执行文件可能会出现严重的错误。编译器测试能够保证编译器的质量。近年来,许多技术促进了编译器自动化测试技术的发展。它们通常依赖于一些测试用例生成的工具(如Csmith等),用来生成大量的测试用例(编译器测试的输入)。因为编译器是一个非常庞大、复杂的软件,测试人员往往会利用大量的测试用例对编译器进行压力测试。虽然现有的编译器测试方法引入额外的特征对编译器测试过程进行改进,但是它们均存在严重的效率问题。编译器测试优化即优化编译器测试程序的执行顺序,加速编译器测试过程,提升编译器测试能力。许多加速编译器测试的方法通过特定的准则,优先执行最有可能触发编译器错误的测试用例。但是,它们忽略了编译器测试过程中的一个严重问题,即不同的测试用例极有可能触发相同的编译器错误。测试覆盖信息能够有效地区分测试程序。由于编译器测试中测试用例均是由自动化测试生成工具自动生成的,动态获取测试程序的覆盖信息的开销是巨大的。本文提出一种能够静态获取测试程序覆盖信息的方法,利用得到的覆盖信息,基于聚类的方法,重新排列测试程序在编译器测试过程中的执行顺序,达到加速编译器测试的目的。预测覆盖信息即预测编译器对一个测试程序进行编译时编译器组件被覆盖的信息(如源代码文件是否被覆盖,函数是否被执行等信息)。预测覆盖信息可以看作为多输出的回归问题,每一个标签代表编译器组件中的被关注的元素(如文件粒度上源代码文件是否被执行,语句粒度上语句是否被执行等)。与典型的机器学习算法应用场景类似,预测覆盖信息的过程需要定义特征,标签,训练预测模型,预测和对齐数据等。本文将这一方法命名为COP(COverage Prediction的缩写)。本文分别基于GCC和LLVM编译器进行大量实验,实验结果表明,COP方法能够有效加速编译器测试过程,平均达到了51.01%的加速比。此外,COP方法和已知效果最好的加速方法相比,在各项实验设置中,性能提升了17.16%-82.51%。(本文来源于《吉林大学》期刊2018-05-01)
周睿[2](2016)在《基于Java编译器的MC/DC测试覆盖方法设计》一文中研究指出基于Java编译器的MC/DC测试覆盖方法设计,主要对Java文件中存在的条件表达式实现MC/DC测试覆盖算法,并对其条件语句进行插桩,生成插桩文件,针对后续的具体测试用例检查是否满足MC/DC测试覆盖算法以及覆盖率统计。(本文来源于《软件导刊》期刊2016年08期)
孙海燕,陈跃跃,王峰,杨灿群,阳柳[3](2015)在《TI DSP C语言编译器正确性测试》一文中研究指出TI DSP广泛应用于工业控制任务中,其可执行代码的可靠性不仅依赖于程序本身的可靠性,而且也依赖于编译器的可靠性。选取在工业控制领域中应用广泛、具有代表性的DSP芯片TI C6701对其编译器进行正确性测试。测试结果表明,用户在不加限制地使用TI C6701编译器时,可能会遇到编译器的正确性问题,进而影响整个应用系统的正确性。(本文来源于《计算机科学》期刊2015年S1期)
曹少琨[4](2014)在《基于Power的XL编译器性能自动化测试工具的设计与实现》一文中研究指出随着支撑全球经济和人类科技的复杂而泛在的软件在精简指令集计算机上广泛地部署,对此类软件运行可靠性和高效性的要求也越来越高,而支持软件这一要求的不仅是优秀的计算机硬件架构,还有编译器对软件的正确优化编译。IBM Power(Performance Optimized With Enhanced RISC,性能优化的增强型精简指令集架构计算机)在企业应用服务器市场的占有率越来越大,基于Power的IBM XL编译器也随之被广泛应用于企业软件的编译,所以本文以此为背景,首先论述了性能测试对于XL编译器开发过程中检验是否实现多种优化编译功能的重要性,之后介绍了XL编译器性能测试相关技术和XL编译器不同产品线上性能测试的流程,对XL编译器进行性能测试的需求进行了认真分析并对现有的性能测试方法进行了研究,对当前性能测试方法中存在的问题进行了深入分析。提出了性能自动化测试的需求,最后根据性能自动化测试需求设计并实现了XL编译器性能自动化测试软件Automation Tool并对该工具进行了测试,通过功能模块独立测试和集成测试,发现该工具已基本完成了XL编译器对性能自动化测试过程的要求。(本文来源于《西安电子科技大学》期刊2014-03-01)
高蕾[5](2014)在《C编译器测试验证技术研究与应用》一文中研究指出从程序开发角度看,作为最常使用的系统软件之一,编译器的重要性不言而喻,对编译器的测试技术的研究一直是软件测试领域的一个重要分支。针对目前较常用的C编程语言,现有编译器测试验证工具(如SuperTest、CVSA C等)主要关注编译器对语言标准一致性的实现,本文的研究对象是一种编译器随机差分测试工具--Csmith,主要侧重于查找编译器编译中间过程的错误。Csmith使用自定义的语法子集,随机生成测试用例。其问题在于其只考虑了一个最基本的语法子集,且采用硬编码方式进行实现。本文使用基于语法的Purdom算法实现测试用例的自动生成,提高了Csmith对C语言语法规则的覆盖度和扩展性。’此外,Csmith生成的测试用例中有约10%是不能正常结束的,本文对此类测试用例添加了人工控制机制,使得用户可以控制此类测试用例的生成与否。本文对GCC编译器进行了测试验证,实验结果表明,本文所提的改进方法和实现是有效的。(本文来源于《北京邮电大学》期刊2014-01-20)
杨静[6](2013)在《编译器的语法分析测试用例生成方法研究》一文中研究指出编译器是软件开发的基础支撑工具。它的正确性直接影响着应用软件的质量。因此编译器的质量是至关重要的。正如其他软件一样,软件测试对于编译器的开发来说是质量保证和错误检测最为重要的方法。编译器是对程序语言标准关于语法与语义规定的实现,具有复杂的输入空间与软件行为。确保对编译器进行全面的测试覆盖是不可能的,如何生成有效的测试用例集合成为编译器测试的关键问题。编译器测试的测试用例是源语言程序,结构复杂。手工生成方式不仅工作量大,而且难以保证充分的测试覆盖度。自动化的测试用例生成方法可以在一定程度上解决这一问题。所生成的测试用例集应对源语言的语法结构特征、语义属性具有良好的覆盖性。已有的编译器测试用例生成方法大多是基于文法覆盖的生成方法。由于文法覆盖规则对于语言语法结构的描述能力有限,所生成的测试用例集不能足够地揭示语言的语法结构。对此,本文对语言的文法定义进行分析,采用二叉树结构对语言的语法结构进行描述,并按照语法单元相互组合的方式生成测试数据;同时引入语法单元的计算路径长度对所生成的测试用例空间以及生成过程进行控制,给出一种基于计算路径长度的测试用例生成方法。通过调整计算路径长度的取值,这种方法所生成的测试用例集可以包含基于文法覆盖所生成的测试用例集,具有更强地对语言的语法结构覆盖能力。(本文来源于《华中科技大学》期刊2013-01-01)
[7](2011)在《Wind River Diab编译器加速汽车电子系统开发与测试验证》一文中研究指出全球嵌入式及移动应用软件领导厂商风河(Wind River)近日宣布,居全球汽车产业领导地位的系统及材料供应商Conti-nental选用Wind River Diab编译器(Compiler)开发其驾驶及汽车控制系统,其中包含刹车、引擎控制以及电力管理等子系(本文来源于《工业控制计算机》期刊2011年04期)
陈国梁,郭东辉[8](2010)在《嵌入式C编译器测试用例生成工具的设计》一文中研究指出首先提出了一种嵌入式编译器测试验证方法,即基于串口传输的变量值验证法,在此基础上设计了一款针对嵌入式C编译器测试的测试用例生成工具ECPAG。该工具根据嵌入式C语法,采用随机算法产生符合规则的任意语法组合,采用概率算法限定各语法要素的生成概率,成功地将基于深度优先搜索的有向图拓扑排序方法应用于函数随机调用中的递归问题的解决。工程应用表明:该自动化工具生成的测试用例集合能够较好地覆盖嵌入式C语法,达到75%以上的块测试覆盖率。(本文来源于《微计算机应用》期刊2010年06期)
吴文娟,蒋凡,任峰,金鑫[9](2009)在《TTCN-3编译器测试用例自动扩展生成》一文中研究指出针对目前编译器采用手工测试方式存在出错率高、测试覆盖难以度量等问题,以TTCN-3语言编译器为例,在对TTCN-3核心语言进行等价类划分的基础上,手工编写黑盒测试用例作为输入,收集并求解被测TTCN-3编译器源码中的每个条件,据此修改由参考编译器生成的对应语法树相关结点,扩展生成新的测试用例。实验表明:根据对被测编译器源码中的条件收集而自动扩展生成的测试集,不仅可以提高测试集的正确性,还可以保证对被测编译器实现的条件覆盖。(本文来源于《计算机系统应用》期刊2009年07期)
吴文娟[10](2009)在《TTCN-3编译器测试覆盖度量研究》一文中研究指出对编译器的测试仍以手工设计、开发、执行测试用例方式为主,效率低下且易于出错。建立在文法测试理论基础之上的测试集合生成方法——规则覆盖算法等只考虑了对被测编译器语言文法语法层次上的测试覆盖,为加强对被测语言的全面测试,语义覆盖正逐步成为研究热点。结合TTCN-3编译器的开发,提出了一种语义覆盖算法:通过属性文法的构造完成被测编译器语言的语义规则形式化,利用一种启发式搜索算法生成测试集合,实现了对被测语言语法、语义规则的双重覆盖。在语义覆盖算法中,还定义了一个包含对上下文无关文法和以属性形式表示的语义规则覆盖的测试覆盖度量准则,用于控制算法的终止。提出的语义覆盖算法不仅同时考虑了对被测语言语法、语义层面上的测试覆盖,而且,与规则覆盖算法生成固定的测试集合所不同的是,语义覆盖算法可以通过一些启发策略的制定,使测试者可以灵活控制生成的测试集合的规模和导向性,生成覆盖语言描述特定部分的测试集合。针对语义覆盖算法生成的测试集合存在仅包含诸如文法定义等黑盒信息的问题,给出了一套测试用例扩展方案,生成的带有被测编译器源码分支信息的测试用例集合,保证了条件覆盖。定义的测试覆盖度量准则、测试系统框架等对其他编译器测试具有普适性,在实际的编译器测试过程中也是可行的。(本文来源于《中国科学技术大学》期刊2009-05-11)
编译器测试论文开题报告
(1)论文研究背景及目的
此处内容要求:
首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。
写法范例:
基于Java编译器的MC/DC测试覆盖方法设计,主要对Java文件中存在的条件表达式实现MC/DC测试覆盖算法,并对其条件语句进行插桩,生成插桩文件,针对后续的具体测试用例检查是否满足MC/DC测试覆盖算法以及覆盖率统计。
(2)本文研究方法
调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。
观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。
实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。
文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。
实证研究法:依据现有的科学理论和实践的需要提出设计。
定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。
定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。
跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。
功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。
模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。
编译器测试论文参考文献
[1].王冠成.基于机器学习的编译器测试优化方法研究[D].吉林大学.2018
[2].周睿.基于Java编译器的MC/DC测试覆盖方法设计[J].软件导刊.2016
[3].孙海燕,陈跃跃,王峰,杨灿群,阳柳.TIDSPC语言编译器正确性测试[J].计算机科学.2015
[4].曹少琨.基于Power的XL编译器性能自动化测试工具的设计与实现[D].西安电子科技大学.2014
[5].高蕾.C编译器测试验证技术研究与应用[D].北京邮电大学.2014
[6].杨静.编译器的语法分析测试用例生成方法研究[D].华中科技大学.2013
[7]..WindRiverDiab编译器加速汽车电子系统开发与测试验证[J].工业控制计算机.2011
[8].陈国梁,郭东辉.嵌入式C编译器测试用例生成工具的设计[J].微计算机应用.2010
[9].吴文娟,蒋凡,任峰,金鑫.TTCN-3编译器测试用例自动扩展生成[J].计算机系统应用.2009
[10].吴文娟.TTCN-3编译器测试覆盖度量研究[D].中国科学技术大学.2009