共查询到10条相似文献,搜索用时 15 毫秒
1.
2.
为实现基于TTCN-3的协议一致性测试系统,提出一种通过编译方式将TTCN-3语言转换为C++语言的编译器方案。通过对TTCN-3核心语言的研究分析,运用正则语言解析方法实现词法分析模块;在词法分析输出基础上编写上下文无关文法规则,使用多种方法较为彻底地解决语法冲突问题,实现语法分析模块;实现将TTCN-3语言转换为C++语言的编译器前端模块。该方案可快速实现对TTCN-3源代码的词法分析和语法分析,输出单词符号序列并检查其是否符合预定义的语法规则,对错误进行定位、报错并输出编译结果。 相似文献
3.
编译器模糊测试,是测试编译器功能性与安全性的常用技术之一.模糊测试器通过产生语法正确的测试用例,对编译器的深层代码展开测试.近来,基于循环神经网络的深度学习模型被引入编译器模糊测试用例生成过程.针对现有方法生成测试用例的语法正确率不足、生成效率低的问题,提出一种基于前馈神经网络的编译器模糊测试用例生成方法,并设计实现了原型工具FAIR.与现有的基于token序列学习的方法不同,FAIR从抽象语法树中提取代码片段,利用基于自注意力的前馈神经网络捕获代码片段之间的语法关联,通过学习程序设计语言的生成式模型,自动生成多样化的测试用例.实验结果表明,FAIR生成测试用例的解析通过率以及生成效率均优于同类型先进方法.该方法显著提升了检测编译器软件缺陷的能力,已成功检测出GCC和LLVM的20处软件缺陷.此外,该方法具有良好的可移植性,简单移植后的FAIR-JS已在JavaScript引擎中检测到两处软件缺陷. 相似文献
4.
测试用例的自动生成是实现测试自动化的重要保障,是验证可信软件的基本方法.在分析现有测试用例自动生成方法的基础上,提出了一种基于编译的错误可跟踪的测试用例自动生成方法.该方法以编译器为依托,通过对其语法和语义进行扩展,将测试需求很好地融入到源程序中参与分析,并利用代码生成器在生成目标代码的同时根据相应的分析结果直接生成对应的测试用例.该方法将测试用例和目标代码生成统一到编译器中,避免了独立的测试用例自动生成工具在获得编译器相关分析结果时而导致的接口开销.同时,通过对源程序行号信息的跟踪,使得测试用例在无法通过测试时能够很快定位出错位置,以方便程序开发者修改.最后,通过一个示例程序说明了该方法的具体实现过程,证明了该方法的有效性. 相似文献
5.
《计算机应用与软件》2016,(3)
针对软件测试的不完备性以及软件测试自动化问题,提出在测试过程中将模型检测前置于传统测试,将模型检测与测试相结合。通过分析模型检测中的形式化规约明确测试目的,并转换成TTCN-3(Testing and Test Control Notation)抽象测试套。进一步利用规约中本身存在的正例,与数据类型描述文件相关联,从而生成测试用例。分析TTCN-3开发模式,基于标签转换系统与TTCN-3行为树的等价性,提出模型检测引导的抽象测试套生成算法,并实现TTCN-3抽象测试套的自动生成。 相似文献
6.
首先提出了一种嵌入式编译器测试验证方法,即基于串口传输的变量值验证法,在此基础上设计了一款针对嵌入式C编译器测试的测试用例生成工具ECPAG.该工具根据嵌入式C语法,采用随机算法产生符合规则的任意语法组合,采用概率算法限定各语法要素的生成概率,成功地将基于深度优先搜索的有向图拓扑排序方法应用于函数随机调用中的递归问题的解决.工程应用表明:该自动化工具生成的测试用例集合能够较好地覆盖嵌入式C语法,达到75%以上的块测试覆盖率. 相似文献
7.
针对工控协议Fuzzing测试存在测试脚本编写工作量大、测试用例的覆盖面小、测试效率低等问题,文章提出了一种基于范式语法的工控协议Fuzzing测试方法。方法首先以改进的扩展巴科斯范式(Modified Augmented Backus-Naur Form: MABNF)描述工控协议;然后根据范式语法模型,将报文样本解析为范式语法变异树,进而生成范式语法变异树的描述脚本;文章提出了基于MABNF变异树的测试用例生成算法(MABNF-mutation-tree based Test-cases Generating Method: MTGM),算法先对MABNF变异树进行深度优先遍历,再采用语义变异策略对节点实施变异;最后利用MTGM得到冗余少、有效性高的测试用例集。使用该方法,文章实现了基于Peach的工控协议Fuzzing测试原型系统M-Peach,对供水SCADA系统进行了测试。与Peach的对比实验表明,文章所提出的方法能有效减少测试冗余,提高测试用例集的覆盖面和测试效率。 相似文献
8.
在程序语言翻译技术中,如何有效地减少翻译后的代码数量是一个值得研究的性能问题。综合考虑TTCN-3语言中值和模板的定义和使用,提出一种新的TTCN-3语言到C++语言翻译方案。与现有的翻译方案相比,翻译后的C++代码与原TTCN-3代码比例由1∶20降低到1∶5左右。与此同时,新方案减少了类型信息副本的保存,提高内存的利用效率,更确切地说,提高了TTCN-3语言编译器和执行器的性能。此外,因为翻译后的C++代码与原TTCN-3代码基本一致,这使得代码的可读性得到改善,进而提高代码的可维护性。 相似文献
9.
10.
基于C++语言转换的TTCN-3测试系统的设计与实现 总被引:1,自引:1,他引:1
TTCN-3是一种用于协议与软件测试的标准化测试语言,文章提出了一种实现TTCN-3测试系统的设计方法,将用TTCN-3书编写的抽象测试套先翻译为C 语言,进而编译生成可执行的测试套,然后调度执行.并用这种方法实现了TTCN-3测试平台TTPlatForm,运行结果表明,这种基于语言转换的TTCN-3测试系统在性能、可移植性和灵活性均比采用编译生成成内存对象并调度内存对象执行的方式有了较大的提高. 相似文献