Xemu: An Efficient Qemu Based Binary Mutation Testing Framework For Embedded Software

Markus Becker,Mabel Mary Joy,Daniel Baldin,Tao Xie,Christoph Kuznik,Wolfgang Mueller
DOI: https://doi.org/10.1145/2380356.2380368
2012-01-01
Abstract:This paper presents the XEMU framework for mutation based testing of embedded software binaries. We apply an extension of the QEMU software emulator, which injects mutations at run-time by dynamic code translation without affecting the binary software under test. The injection is based on a mutation table, which is generated by control flow graph (CFG) analysis of the disassembled code prior to its execution without presuming access to source code. We introduce our approach by the example of the ARM instruction set architecture for which a mutation taxonomy is presented. In addition to extending the testing scope to target specific low level faults, XEMU addresses the reduction of the mutants creation, execution, and detection overheads. Moreover, we reduce testing efforts by applying binary CFG analysis and constraint-based test generation for improved test quality. The experimental results of a car motor management software show significant improvements over conventional source code based approaches while providing 100% accuracy in terms of the computed test quality metrics.
What problem does this paper attempt to address?