make test-zesti: A symbolic execution solution for improving regression testing

make test-zesti: A symbolic execution solution for improving regression testing
复制标题

DOI:
10.1109/icse.2012.6227146
复制
发表时间:
2012-06
期刊:
2012 34th International Conference on Software Engineering (ICSE)
影响因子:
--
通讯作者:
P. Marinescu;Cristian Cadar
P. Marinescu;Cristian Cadar
中科院分区:
其他
文献类型:
--
作者:
P. Marinescu;Cristian Cadar

文献摘要

被引文献

相似文献

软件测试是一个昂贵且耗时的过程,通常涉及手动创建综合回归测试套件。但是,当前的测试方法不能充分利用这些测试。在本文中,我们提出了一种使用轻量级符号执行机制来扩大现有测试套件效果的技术,该机制彻底检查了由错误的测试套件执行的所有敏感操作(例如,指针效率),并探索周围围绕敏感操作的其他路径。我们在称为Zesti(零富符号的象征性测试改进)的原型系统中实现了此技术,并将其应用于三个开源代码库-GNU Coreutils,libdwarf和Readelf-在这里发现了52个以前的未知错误标准符号执行的范围。我们的技术对测试仪透明地工作,不需要额外的人为努力或源代码或测试的更改。
Software testing is an expensive and time consuming process, often involving the manual creation of comprehensive regression test suites. However, current testing methodologies do not take full advantage of these tests. In this paper, we present a technique for amplifying the effect of existing test suites using a lightweight symbolic execution mechanism, which thoroughly checks all sensitive operations (e.g., pointer dereferences) executed by the test suite for errors, and explores additional paths around sensitive operations. We implemented this technique in a prototype system called ZESTI (Zero-Effort Symbolic Test Improvement), and applied it to three open-source code bases - GNU Coreutils, libdwarf and readelf - where it found 52 previously unknown bugs, many of which are out of reach of standard symbolic execution. Our technique works transparently to the tester, requiring no additional human effort or changes to source code or tests.