当前位置: X-MOL 学术Sci. Comput. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Specify and measure, cover and reveal: A unified framework for automated test generation
Science of Computer Programming ( IF 1.5 ) Pub Date : 2021-03-17 , DOI: 10.1016/j.scico.2021.102641
Sébastien Bardin , Nikolai Kosmatov , Michaël Marcozzi , Mickaël Delahaye

Automatic test input generation (ATG) is a major topic in software engineering, analysis and security. In this paper, we bridge the gap between state-of-the-art white-box ATG techniques, especially Dynamic Symbolic Execution, and the diversity of test objectives that they may be used to cover in practice, including many of those defined by common source-code coverage criteria. We define a new coverage specification mechanism, called labels, for specifying test objectives, and prove it to be both expressive and amenable to efficient automation. We present an efficient approach for detecting – revealing – infeasible (i.e. uncoverable) test objectives expressed as labels. We demonstrate that measuring the achieved coverage can be efficiently performed for labels. Finally, we propose an innovative extension of DSE resulting in an efficient support for label coverage, while the existing naive approach induces an exponential blow-up of the search space. Experiments show that our ATG technique yields very significant savings and confirm the interest of infeasible label detection, enabling to lift DSE to label coverage with only a slight overhead. Overall, we show that label coverage provides the basis of a rich framework allowing one to express and handle test objectives from various contexts in an efficient and generic manner. To illustrate this framework, we describe LTest, an all-in-one testing toolset based on labels and used in the industry, which offers automatic program annotation, ATG, coverage measurement and detection of infeasible test objectives.



中文翻译:

指定并度量,覆盖和揭示:自动化测试生成的统一框架

自动测试输入生成(ATG)是软件工程,分析和安全性的主要主题。在本文中,我们弥合了最先进的白盒ATG技术(尤其是动态符号执行)与它们可能在实践中涵盖的测试目标之间的差距,包括许多由通用定义的测试目标。源代码覆盖标准。我们定义了一种新的覆盖范围规范机制(称为标签),用于指定测试目标,并证明它既具有表达能力又可以实现高效自动化。我们提供了一种有效的方法来检测-揭示-以标签表示的不可行(即,无法发现)的测试目标。我们证明了测量可以有效地对标签进行覆盖。最后,我们提出了DSE的创新扩展,从而为标签覆盖率提供了有效的支持,而现有的幼稚方法引起了搜索空间的指数级爆炸。实验表明,我们的ATG技术可节省大量成本,并证实了不可行的标签检测的兴趣,从而使DSE只需很少的开销即可提升到标签覆盖率。总体而言,我们表明标签覆盖率提供了一个丰富框架的基础,该框架使人们能够以有效且通用的方式表达和处理来自各种环境的测试目标。为了说明这个框架,我们描述LTest,是一种基于标签并在行业中使用的多合一测试工具集,可提供自动程序注释,ATG,覆盖率测量和对不可行的测试目标的检测。

更新日期:2021-03-23
down
wechat
bug