yagg: an easy-to-use generator for structured test inputs

yagg: an easy-to-use generator for structured test inputs
复制标题

yagg:一个易于使用的结构化测试输入生成器

DOI:
10.1145/1101908.1101969
复制
发表时间:
2005
期刊:
Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering
影响因子:
--
通讯作者:
Jiexin Lian
Jiexin Lian
中科院分区:
--
文献类型:
--
作者:
D. Coppit;Jiexin Lian

文献摘要

被引文献

相似文献

自动化测试通常使用规范来驱动测试输入的生成和/或程序输出的检查。许多软件系统具有结构复杂的输入,无法使用简单的形式主义(如上下文无关语法)进行充分描述。为了生成这样的输入,许多自动化测试环境要求用户使用不熟悉的正式符号来表达输入的结构。这增加了使用自动化测试的成本,从而抵消了所获得的好处。我们提出yagg(又一个生成器生成器),一个工具,允许程序员指定的输入使用的语法非常类似的LEX和YACC,广泛使用的扫描器和解析器生成器。Yagg允许用户使用几种不同的技术来限制输入空间,并生成系统地枚举输入的输入生成器。我们评估的易用性和性能的工具相对于模型检查器为基础的发电机在以前的研究中使用。我们的经验表明,yagg生成器可能有点慢,但熟悉的语法提供的易用性可能对用户有吸引力。
Automated testing typically uses specifications to drive the generation of test inputs and/or the checking of program outputs. Many software systems have structurally complex inputs that cannot be adequately described using simple formalisms such as context-free grammars. In order to generate such inputs, many automated testing environments require the user to express the structure of the input using an unfamiliar formal notation. This raises the cost of employing automated testing, thereby offsetting the benefits gained. We present yagg (yet another generator-generator), a tool that allows the programmer to specify the input using a syntax very similar to that of LEX and YACC, widely used scanner and parser generators. yagg allows the user to bound the input space using several different techniques, and generates an input generator that systematically enumerates inputs. We evaluate the ease of use and performance of the tool relative to a model checker-based generator used in previous research. Our experiences indicate that yagg generators can be somewhat slower, but that the ease-of-use afforded by the familiar syntax may be attractive to users.