This paper is an extended version of results presented at ICST 2008 1.
OSMOSE: automatic structural testing of executables†
Article first published online: 15 JAN 2010
Copyright © 2010 John Wiley & Sons, Ltd.
Software Testing, Verification and Reliability
Special Issue: ICST 2008, the First IEEE International Conference on Software Testing, Verification and Validation
Volume 21, Issue 1, pages 29–54, March 2011
How to Cite
Bardin, S. and Herrmann, P. (2011), OSMOSE: automatic structural testing of executables. Softw. Test. Verif. Reliab., 21: 29–54. doi: 10.1002/stvr.423
- Issue published online: 15 JAN 2010
- Article first published online: 15 JAN 2010
- Manuscript Accepted: 2 NOV 2009
- Manuscript Revised: 8 SEP 2009
- Manuscript Received: 21 AUG 2008
- machine-code analysis;
- automatic testing;
- IR recovery;
- concolic execution
Verification is usually performed on a high-level view of the software, either specification or program source code. However, in certain circumstances verification is more relevant when performed at the machine-code level. This paper focuses on automatic test data generation from a stand-alone executable. Low-level analysis is much more difficult than high-level analysis since even the control-flow graph is not available and bit-level instructions have to be modelled faithfully. The paper shows how ‘path-based’ structural test data generation can be adapted from structured language to machine code, using both state-of-the-art technologies and innovative techniques. The results have been implemented in a tool named OSMOSE and encouraging experiments have been conducted. Copyright © 2010 John Wiley & Sons, Ltd.