Title :
Enhancing Symbolic Execution to Test the Compatibility of Re-engineered Industrial Software
Author :
Tokumoto, Shinichiro ; Uehara, T. ; Munakata, Kohei ; Ishida, Hiroto ; Eguchi, Tohru ; Baba, M.
Author_Institution :
Fujitsu Labs. Ltd., Kawasaki, Japan
Abstract :
After a legacy system is re-engineered, it is important to perform compatibility testing so as to identify the difference and reduce the introduced bugs. We can first apply symbolic execution to obtain an exhaustive set of test cases, then use them to check the compatibility of the old system and the new old. However, the path explosion problem of symbolic execution makes it difficult to work on realistic non-trivial applications. We show in this paper how to enhance symbolic execution, e.g. with extra constraints, path cutting, variable grouping, and test case selection, to successfully test the compatibility of an SMTP library (used in embedded systems) with around 20K lines of code. Our experience indicates that these enhancements are essential to apply symbolic execution on realistic industrial applications.
Keywords :
embedded systems; program debugging; program testing; software maintenance; SMTP library; bug difference; bug reduction; compatibility testing; embedded system; legacy system; path cutting; reengineered industrial software testing; symbolic execution; test case selection; variable grouping; Computer bugs; Embedded systems; Explosions; Libraries; Servers; Sockets; Testing; compatibility testing; embedded system; path reduction; symbolic execution; test case selection;
Conference_Titel :
Software Engineering Conference (APSEC), 2012 19th Asia-Pacific
Conference_Location :
Hong Kong
Print_ISBN :
978-1-4673-4930-7
DOI :
10.1109/APSEC.2012.102