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 talk, I will 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 path around sensitive operations. The technique was applied to three open-source systems-GNU Coreutils, libdwarf and readelf-where it found 52 previously unknown bugs, many of which out of reach for standard symbolic execution.
ABOUT THE SPEAKER: Paul Marinescu is a second year PhD student in the Software Reliability Group at Imperial College London. His research interests lie int he area of software dependability and software engineering, with an emphasis on automatic testing and bug-finding tools.