Constraint-Based Automatic Test Data Generation
IEEE Transactions on Software Engineering
Assembly to High-Level Language Translation
ICSM '98 Proceedings of the International Conference on Software Maintenance
ARM System Developer's Guide: Designing and Optimizing System Software
ARM System Developer's Guide: Designing and Optimizing System Software
MuJava: an automated class mutation system: Research Articles
Software Testing, Verification & Reliability
QEMU, a fast and portable dynamic translator
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Emulation of Software Faults: A Field Data Study and a Practical Approach
IEEE Transactions on Software Engineering
Sufficient mutation operators for measuring test effectiveness
Proceedings of the 30th international conference on Software engineering
A decision procedure for bit-vectors and arrays
CAV'07 Proceedings of the 19th international conference on Computer aided verification
SCEMIT: a systemc error and mutation injection tool
Proceedings of the 47th Design Automation Conference
An Analysis and Survey of the Development of Mutation Testing
IEEE Transactions on Software Engineering
Mutation analysis for SystemC designs at TLM
LATW '11 Proceedings of the 2011 12th Latin American Test Workshop
IP-XACT based system level mutation testing
HLDVT '11 Proceedings of the 2011 IEEE International High Level Design Validation and Test Workshop
Hi-index | 0.00 |
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.