Using Symbolic Execution in Embedded Software Testing

Symbolic execution is widely used in software test cases automatic generating, but itpsilas hard to use it in embedded software testing, for embedded software is related to hardware too close. And at present, embedded software testing tools can only generate flow chart and test cases' coverage information, can not generate test cases that satisfy designated coverage automatically. This paper brings forward an idea that realizes embedded software test cases automatic generating using symbolic execution. First translate the embedded program into an intermediate language program, which preserve all the necessary information from the origin embedded program and according hardware, then symbolic execute the intermediate language program to generate test cases automatically.

[1]  Gerard J. Holzmann Backward Symbolic Execution of Protocols , 1984, PSTV.

[2]  Robert J. Vanderbei,et al.  Linear Programming: Foundations and Extensions , 1998, Kluwer international series in operations research and management service.

[3]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[4]  John Morris,et al.  Using symbolic execution to guide test generation , 2005, Softw. Test. Verification Reliab..

[5]  Néstor Cataño Combining Symbolic Execution and Model Checking to Reduce Dynamic Program Analysis Overhead , 2005, Rev. Colomb. de Computación.

[7]  Kenneth J. Ayala 8051 Microcontroller: Architecture, Programming and Applications , 1991 .

[8]  Giuliano Antoniol,et al.  Automatic unit test data generation using mixed-integer linear programming and execution trees , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[9]  P. D. Coward,et al.  Symbolic execution and testing , 1990 .