Title :
make test-zesti: A symbolic execution solution for improving regression testing
Author :
Marinescu, Paul Dan ; Cadar, Cristian
Author_Institution :
Dept. of Comput., Imperial Coll. London, London, UK
Abstract :
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.
Keywords :
program debugging; program testing; regression analysis; GNU Coreutils open-source code bases; additional path exploration; bugs; comprehensive regression test suite creation; libdwarf open-source code bases; make test-zesti; readelf open-source code bases; regression testing improvement; sensitive operation checking; software testing; symbolic execution mechanism; symbolic execution solution; zero-effort symbolic test improvement; Computer bugs; Concrete; Manuals; Measurement; Open source software; Standards; Testing; regression testing; symbolic execution; test improvement;
Conference_Titel :
Software Engineering (ICSE), 2012 34th International Conference on
Conference_Location :
Zurich
Print_ISBN :
978-1-4673-1066-6
Electronic_ISBN :
0270-5257
DOI :
10.1109/ICSE.2012.6227146