Shadow of a Doubt: Testing for Divergences between Software Versions

Shadow of a Doubt: Testing for Divergences between Software Versions
复制标题

怀疑的阴影:测试软件版本之间的差异

DOI:
--
复制
发表时间:
2016
期刊:
International Conference on Software Engineering
影响因子:
--
通讯作者:
Cristian Cadar
Cristian Cadar
中科院分区:
--
文献类型:
--
作者:
H. Palikareva;Tomasz Kuchta;Cristian Cadar

文献摘要

参考文献

被引文献

相似文献

尽管开发人员意识到全面测试补丁的重要性,但提出相关测试用例的大量努力意味着这种测试在实践中很少发生。此外,即使编写测试用例以覆盖补丁程序,它们也经常在旧版本和新版本的代码中行使相同的行为。在本文中,我们提出了一种基于符号执行的技术,该技术旨在生成涵盖补丁程序引入的新程序行为的测试输入。该技术通过在同一符号执行实例中执行旧版本和新版本,并在旧版本中遮盖新版本。在此组合的影子执行过程中,每当到达旧版本和新版本差异的分支点时,我们就会生成一个测试案例,以行使差异并全面测试新版本的新行为。我们从回归错误的CoreBench套件上评估了Coreutils补丁的技术,并证明它能够生成测试输入,以行使新添加的行为并暴露某些回归错误。
While developers are aware of the importance of comprehensively testing patches, the large effort involved in coming up with relevant test cases means that such testing rarely happens in practice. Furthermore, even when test cases are written to cover the patch, they often exercise the same behaviour in the old and the new version of the code. In this paper, we present a symbolic execution-based technique that is designed to generate test inputs that cover the new program behaviours introduced by a patch. The technique works by executing both the old and the new version in the same symbolic execution instance, with the old version shadowing the new one. During this combined shadow execution, whenever a branch point is reached where the old and the new version diverge, we generate a test case exercising the divergence and comprehensively test the new behaviours of the new version. We evaluate our technique on the Coreutils patches from the CoREBench suite of regression bugs, and show that it is able to generate test inputs that exercise newly added behaviours and expose some of the regression bugs.
影子符号执行可以更好地测试不断发展的软件
DOI: 10.1145/2591062.2591104
发表时间: 2014
期刊: --
影响因子: --
作者:
Cadar C
通讯作者: Cadar C
Covrig:用于分析实际软件中的代码、测试和覆盖率演变的框架
DOI: 10.1145/2610384.2610419
发表时间: 2014
期刊: --
影响因子: --
作者:
Marinescu P
通讯作者: Marinescu P