期刊文献+
共找到12篇文章
< 1 >
每页显示 20 50 100
peC语言的部分求值器及在编译器测试中的应用 被引量:3
1
作者 郭德贵 王冠成 +1 位作者 吕帅 刘磊 《软件学报》 EI CSCD 北大核心 2017年第5期1221-1232,共12页
部分求值技术在程序优化及软件自动生成等方面起着极为重要的作用.将部分求值技术应用到编译器测试中.为此,设计了一种C语言的子集peC语言,给出了该语言的部分求值策略的形式化描述,实现了peC语言的部分求值器,设计了基于部分求值技术... 部分求值技术在程序优化及软件自动生成等方面起着极为重要的作用.将部分求值技术应用到编译器测试中.为此,设计了一种C语言的子集peC语言,给出了该语言的部分求值策略的形式化描述,实现了peC语言的部分求值器,设计了基于部分求值技术的编译器测试框架.通过实验,该方法可以检测出大部分之前其他方法发现的GCC,LLVM编译器中的错误,此外还发现了其他方法不能发现的错误,这表明,将部分求值技术应用到编译器测试中是有效的. 展开更多
关键词 部分求值 剩余程序 测试用例 编译器测试 抽象语法树
下载PDF
基于ECPMR的编译器测试方法
2
作者 刘磊 刘利娟 +1 位作者 吴新维 张鹏 《吉林大学学报(工学版)》 EI CAS CSCD 北大核心 2017年第4期1262-1267,共6页
提出了一种通过验证程序切片是否满足ECPMR的方式来验证编译器的方法。首先,选取一些满足特定蜕变关系的正确程序作为待测编译器的输入。然后,使用这些被选程序来生成程序切片。最后,检查程序切片的输出是否满足ECPMR从而发现编译器中... 提出了一种通过验证程序切片是否满足ECPMR的方式来验证编译器的方法。首先,选取一些满足特定蜕变关系的正确程序作为待测编译器的输入。然后,使用这些被选程序来生成程序切片。最后,检查程序切片的输出是否满足ECPMR从而发现编译器中的错误。在SNL编译器上进行了本文方法的验证实验,结果表明该方法可有效地探测到SNL编译器中的错误。 展开更多
关键词 计算机系统结构 蜕变关系 蜕变测试 编译器测试 程序切片
下载PDF
O-O语言编译器测试用例的自动生成算法 被引量:1
3
作者 严伟 陈英 +1 位作者 黄湘武 熊希达 《测试技术学报》 2002年第z2期1235-1240,共6页
面向对象语言编译器自动测试工具的一个主要功能就是根据测试的需求目标和既定的测试方法,自动生成面向对象程序语言的测试用例.本文从编译器测试的上述需求定位出发,基于兼顾深度测试和宽度测试的黑盒测试方法,分析研究了测试用例自动... 面向对象语言编译器自动测试工具的一个主要功能就是根据测试的需求目标和既定的测试方法,自动生成面向对象程序语言的测试用例.本文从编译器测试的上述需求定位出发,基于兼顾深度测试和宽度测试的黑盒测试方法,分析研究了测试用例自动生成所面临的几个主要问题.诸如,全涵盖符合面向对象语言标准(如IS0 C++、ANSI C++)的语法和语义,测试用例的正确性保证和复杂性要求等;探讨了从随机性、任意性方面实现一个满足测试需求的C++测试用例框架的相应算法.这些算法解决了测试用例中表达式、语句以及其它C++语言要素的生成,以及表达式、语句嵌套和数据结构的任意复杂性的问题.对于面向对象的编译器自动测试中的主要部分--用例生成器的设计与实现,具有一定的借鉴意义. 展开更多
关键词 编译器测试 自动测试工具 测试用例生成 面向对象(O-O)
下载PDF
TTCN-3编译器测试用例自动扩展生成
4
作者 吴文娟 蒋凡 +1 位作者 任峰 金鑫 《计算机系统应用》 2009年第7期41-44,共4页
针对目前编译器采用手工测试方式存在出错率高、测试覆盖难以度量等问题,以TTCN-3语言编译器为例,在对TTCN-3核心语言进行等价类划分的基础上,手工编写黑盒测试用例作为输入,收集并求解被测TTCN-3编译器源码中的每个条件,据此修改由参... 针对目前编译器采用手工测试方式存在出错率高、测试覆盖难以度量等问题,以TTCN-3语言编译器为例,在对TTCN-3核心语言进行等价类划分的基础上,手工编写黑盒测试用例作为输入,收集并求解被测TTCN-3编译器源码中的每个条件,据此修改由参考编译器生成的对应语法树相关结点,扩展生成新的测试用例。实验表明:根据对被测编译器源码中的条件收集而自动扩展生成的测试集,不仅可以提高测试集的正确性,还可以保证对被测编译器实现的条件覆盖。 展开更多
关键词 TTCN-3编译器测试 自动化测试 约束求解 条件覆盖 语法树
下载PDF
基于前馈神经网络的编译器测试用例生成方法 被引量:6
5
作者 徐浩然 王勇军 +2 位作者 黄志坚 解培岱 范书珲 《软件学报》 EI CSCD 北大核心 2022年第6期1996-2011,共16页
编译器模糊测试,是测试编译器功能性与安全性的常用技术之一.模糊测试器通过产生语法正确的测试用例,对编译器的深层代码展开测试.近来,基于循环神经网络的深度学习模型被引入编译器模糊测试用例生成过程.针对现有方法生成测试用例的语... 编译器模糊测试,是测试编译器功能性与安全性的常用技术之一.模糊测试器通过产生语法正确的测试用例,对编译器的深层代码展开测试.近来,基于循环神经网络的深度学习模型被引入编译器模糊测试用例生成过程.针对现有方法生成测试用例的语法正确率不足、生成效率低的问题,提出一种基于前馈神经网络的编译器模糊测试用例生成方法,并设计实现了原型工具FAIR.与现有的基于token序列学习的方法不同,FAIR从抽象语法树中提取代码片段,利用基于自注意力的前馈神经网络捕获代码片段之间的语法关联,通过学习程序设计语言的生成式模型,自动生成多样化的测试用例.实验结果表明,FAIR生成测试用例的解析通过率以及生成效率均优于同类型先进方法.该方法显著提升了检测编译器软件缺陷的能力,已成功检测出GCC和LLVM的20处软件缺陷.此外,该方法具有良好的可移植性,简单移植后的FAIR-JS已在JavaScript引擎中检测到两处软件缺陷. 展开更多
关键词 软件缺陷 编译器模糊测试 深度学习 前馈神经网络 抽象语法树
下载PDF
TI DSP C语言编译器正确性测试 被引量:2
6
作者 孙海燕 陈跃跃 +3 位作者 王峰 杨灿群 阳柳 王霁 《计算机科学》 CSCD 北大核心 2015年第S1期513-515 545,545,共4页
TI DSP广泛应用于工业控制任务中,其可执行代码的可靠性不仅依赖于程序本身的可靠性,而且也依赖于编译器的可靠性。选取在工业控制领域中应用广泛、具有代表性的DSP芯片TI C6701对其编译器进行正确性测试。测试结果表明,用户在不加限制... TI DSP广泛应用于工业控制任务中,其可执行代码的可靠性不仅依赖于程序本身的可靠性,而且也依赖于编译器的可靠性。选取在工业控制领域中应用广泛、具有代表性的DSP芯片TI C6701对其编译器进行正确性测试。测试结果表明,用户在不加限制地使用TI C6701编译器时,可能会遇到编译器的正确性问题,进而影响整个应用系统的正确性。 展开更多
关键词 编译器测试 C89规范 DSP C6701
下载PDF
面向编译器测试的部分求值静态输入确定方法
7
作者 刘磊 瓮杰 郭德贵 《吉林大学学报(工学版)》 EI CAS CSCD 北大核心 2020年第1期262-267,共6页
在编译器测试中,基于部分求值技术的编译器测试方法在部分求值阶段时,必须由测试人员对具体的测试用例进行分析,然后手动指定程序中的一些变量作为静态输入,这种依赖人工手动指定的策略具有一定的盲目性,而且无法使测试过程自动化进行... 在编译器测试中,基于部分求值技术的编译器测试方法在部分求值阶段时,必须由测试人员对具体的测试用例进行分析,然后手动指定程序中的一些变量作为静态输入,这种依赖人工手动指定的策略具有一定的盲目性,而且无法使测试过程自动化进行。为了解决这一问题,提出了一种基于变量依赖关系的源程序静态输入及其取值的确定方法,使基于部分求值技术的编译器测试框架的测试过程得以自动化进行,从而提高了测试效率。实验结果证明了本文方法的可行性。 展开更多
关键词 计算机软件 编译器测试 部分求值 静态输入 程序静态分析
原文传递
一种基于过程图模型的编译优化测试程序自动生成方法
8
作者 陶秋铭 赵琛 王永吉 《计算机研究与发展》 EI CSCD 北大核心 2009年第9期1567-1577,共11页
近年来,以数据依赖分析为基础的高级编译优化成为现代编译器的重要研发内容.针对这类编译优化的测试问题提出了一种测试程序自动生成方法,能够根据指定的数据依赖特征生成测试程序.首先设计了LoSpec语言用以描述测试程序,然后采用一种... 近年来,以数据依赖分析为基础的高级编译优化成为现代编译器的重要研发内容.针对这类编译优化的测试问题提出了一种测试程序自动生成方法,能够根据指定的数据依赖特征生成测试程序.首先设计了LoSpec语言用以描述测试程序,然后采用一种便于表示数据依赖关系的模型——过程图作为中间表示模型实现了测试程序的自动生成,并开发了自动测试工具LoTester.与已有方法相比,该方法对高级优化更具针对性,自动化程度较高.LoTester目前在一款面向多媒体应用的优化编译器EECC的开发中得到应用并获得了良好效果. 展开更多
关键词 测试自动化 编译器测试 测试用例生成 高级编译优化 数据依赖 过程图
下载PDF
一种编译优化测试用例自动生成方法的设计与实现 被引量:2
9
作者 曾伟明 薛云志 +1 位作者 赵琛 贺也平 《小型微型计算机系统》 CSCD 北大核心 2009年第1期13-18,共6页
编译器的质量保证对提高软件产品的质量有着重要作用,对编译优化的测试是其中的核心部分.对编译优化的测试需要大量的测试用例程序.要构造这些测试用例,使用传统手工构造方法面临着效率低的问题,而基于文法的构造方法则针对性不足.从对... 编译器的质量保证对提高软件产品的质量有着重要作用,对编译优化的测试是其中的核心部分.对编译优化的测试需要大量的测试用例程序.要构造这些测试用例,使用传统手工构造方法面临着效率低的问题,而基于文法的构造方法则针对性不足.从对优化的形式化描述出发来自动构造测试用例能克服这些缺点.本文设计并实现了一种基于形式化描述的编译优化测试用例程序生成方法.该方法基于编译优化的时序逻辑描述构造关键顶点控制流图,逐步转换为控制流图并得到用例程序.针对GCC(版本4.1.1)进行的覆盖率测试实验表明,该方法可以生成具有较高针对性的测试用例,并达到相当的覆盖程度. 展开更多
关键词 编译器测试 覆盖率 编译优化 时序逻辑 测试用例
下载PDF
DBI-Go:动态插桩定位Go二进制的非法内存引用
10
作者 陈金宝 张昱 +1 位作者 李清伟 丁伯尧 《软件学报》 EI CSCD 北大核心 2024年第6期2585-2607,共23页
Go语言,也称Golang,由于其语法简单、原生支持并发、自动内存管理等特性,近年受到很多开发者的欢迎.Go语言期望开发者不必了解变量或对象是分配在栈上还是在堆中,而由Go编译器的逃逸分析来决定分配位置,再由Go垃圾收集器自动回收无用的... Go语言,也称Golang,由于其语法简单、原生支持并发、自动内存管理等特性,近年受到很多开发者的欢迎.Go语言期望开发者不必了解变量或对象是分配在栈上还是在堆中,而由Go编译器的逃逸分析来决定分配位置,再由Go垃圾收集器自动回收无用的堆对象.Go的逃逸分析必须正确决定对象的分配位置以保证内存状态的正确性.然而,目前Go社区中逃逸相关问题频发,潜在导致程序崩溃等致命问题,而目前对该方面的研究缺失.为有效检测编译器生成的代码是否存在可能引起运行时崩溃的非法内存引用,填补研究空白,对Go程序执行进行抽象建模,并提出两条判定写入违例的规则.基于这两条规则,克服Go二进制中高层语义缺失、运行时信息不便获取等挑战,设计一个轻量化的分析工具DBI-Go.DBI-Go采用静态分析加动态二进制插桩的分析方式,基于动态二进制分析框架Pin来实现,可以识别Go二进制中违例的store指令.实验结果表明,DBI-Go可以检测出Go社区中所有已知的逃逸相关Issues;DBI-Go还发现一个目前Go社区未知的问题,该问题已经得到确认.在实际项目上的应用则表明DBI-Go可以帮助开发人员找出逃逸算法的错误.测试结果还表明DBI-Go采取的措施可以有效降低误报率且在93.3%的情况下带来的额外运行时开销小于原先的2倍.同时,DBI-Go无需修改Go的编译运行时,可以适配不同版本的Go,有较高的适用性. 展开更多
关键词 二进制分析 动态二进制插桩 静态分析 GO 编译器测试 逃逸分析
下载PDF
TTCN-3类型系统测试用例集自动生成
11
作者 蒋凡 金鑫 吴文娟 《计算机系统应用》 2009年第9期45-49,共5页
针对编译器测试中最为重要的测试用例集构造问题,提出了针对TTCN-3语言类型系统的编译器测试用例集层次化、结构化的自动生成方案。语法方面,严格遵从语言规格说明中的扩展巴科斯-瑙尔范式(EBNF);语义正确性上,采用定义"元素定义... 针对编译器测试中最为重要的测试用例集构造问题,提出了针对TTCN-3语言类型系统的编译器测试用例集层次化、结构化的自动生成方案。语法方面,严格遵从语言规格说明中的扩展巴科斯-瑙尔范式(EBNF);语义正确性上,采用定义"元素定义偏序文件"、建立抽象语法树等多种方法加以保证。实验表明新方案极大提高了测试用例集的生成效率,对TTCN-3类型系统语法、语义两方面都达到很好的测试覆盖,增强了发现编译器缺陷的能力。该方案对于其他语言的编译器测试也具有参考价值。 展开更多
关键词 TTCN-3类型系统 编译器测试 测试用例集自动生成 层次化 结构化方法
下载PDF
O_OCTT设计中面向对象方法的研究
12
作者 史晋 陈英 孙文灿 《计算机工程与应用》 CSCD 北大核心 2004年第31期114-116,共3页
针对面向对象语言编译器测试工具(O_OCTT)顶层设计的方法进行研究。O_OCTT的主要功能是测试用例的生成,由于当前的O_OCTT不具有可移植性和可复用性,增加了O_O编译器的开发成本。论文基于构件组装技术,提出了采用O_O方法解决O_OCTT自动... 针对面向对象语言编译器测试工具(O_OCTT)顶层设计的方法进行研究。O_OCTT的主要功能是测试用例的生成,由于当前的O_OCTT不具有可移植性和可复用性,增加了O_O编译器的开发成本。论文基于构件组装技术,提出了采用O_O方法解决O_OCTT自动生成测试用例的软件复用问题,描述了测试用例的覆盖准则,并重点讨论了采用O_O技术的测试用例构件化,以及使用状态机动态地进行构件组装完成测试用例的自动生成。 展开更多
关键词 编译器测试 测试自动化 面向对象技术 测试用例
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部