skip to main content
10.1145/2380356.2380368acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

XEMU: an efficient QEMU based binary mutation testing framework for embedded software

Published:07 October 2012Publication History

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.

References

  1. ARM Architecture Ref. Manuals. http://infocenter.arm.com.Google ScholarGoogle Scholar
  2. QEMU - Open Source Processor Emulator. http://www.qemu.org.Google ScholarGoogle Scholar
  3. TargetLink, dSPACE GmbH. http://www.dspace.com.Google ScholarGoogle Scholar
  4. J. ao A. Durães and H. S. Madeira. Emulation of Software Faults: A Field Data Study and a Practical Approach. IEEE Transactions on Software Engineering, 32:849--867, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. ARM Ltd. ELF for the ARM Architecture, 2009.Google ScholarGoogle Scholar
  6. F. Bellard. QEMU, a Fast and Portable Dynamic Translator. In ATEC '05: Proceedings of the Annual Conference on USENIX Annual Technical Conference, pages 41--41, Berkeley, CA, USA, 2005. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Bogacki and B. Walter. Aspect-Oriented Response Injection: An Alternative to Classical Mutation Testing. In K. Sacha, editor, Software Engineering Techniques: Design for Quality, volume 227, pages 273--282. 2007.Google ScholarGoogle Scholar
  8. C. Cifuentes. Interprocedural Ddata Flow Decompilation. Journal of Programming Languages, 4:77--99, 1996.Google ScholarGoogle Scholar
  9. C. Cifuentes, D. Simon, and A. Fraboulet. Assembly to High-Level Language Translation. In In Int. Conf. on Softw. Maint, pages 228--237. IEEE-CS Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. DeMillo, E. Krauser, and A. Mathur. Compiler-Integrated Program Mutation. In Computer Software and Applications Conference, 1991. COMPSAC '91, Proceedings of the Fifteenth Annual International, pages 351--356, sep 1991.Google ScholarGoogle Scholar
  11. V. Ganesh and D. L. Dill. A Decision Procedure for Bit-Vectors and Arrays. In Computer Aided Verification (CAV '07), Berlin, Germany, July 2007. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. V. Guarnieri, N. Bombieri, G. Pravadelli, F. Fummi, H. Hantson, J. Raik, M. Jenihhin, and R. Ubar. Mutation Analysis for Systemc Designs at TLM. In Test Workshop (LATW), 2011 12th Latin American, pages 1--6, march 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Guillon. Program Instrumentation with QEMU. In DATE '11: Proceedings of the Conference on Design, Automation and Test in Europe, Grenoble, France, 2011.Google ScholarGoogle Scholar
  14. Y. Jia and M. Harman. An Analysis and Survey of the Development of Mutation Testing. IEEE Transactions on Software Engineering, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. Lisherness and K.-T. T. Cheng. SCEMIT: A SystemC Error and Mutation Injection Tool. In Proceedings of the 47th Design Automation Conference, DAC '10, pages 228--233, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. S. Namin, J. H. Andrews, and D. J. Murdoch. Sufficient Mutation Operators for Measuring Test Effectiveness. In IN PROC. ICSE, pages 351--360, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. A. Richard, R. A. Demillo, and B. H. et al. Design of Mutant Operators for the C Programming Language. Technical report, 1989.Google ScholarGoogle Scholar
  18. R. A. DeMillo and J. A. Offut Constraint-Based Automatic Test Data Generation. In IEEE Trans on Software Eng., vol. 17, no. 9, pages 900--910, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Y. seung Ma, J. Offutt, and Y. R. Kwon. Mujava: An Automated Class Mutation System. Software Testing, Verification & Reliability, 15:97--133, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Sloss, D. Symes, and C. Wright. ARM System Developer's Guide: Designing and Optimizing System Software. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. SpringSoft Inc. CERTITUDE Functional Qualification System. 2011.Google ScholarGoogle Scholar
  22. T. Xie, W. Mueller, and F. Letombe. IP-XACT Based System Level Mutation Testing. In High Level Design Validation and Test Workshop (HLDVT) IEEE International, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Baldin, S. Groesbrink, and S. Oberthuer. Enabling Constraint-Based Binary Reconfiguration by Binary Analysis. In International Journal on Computing (JoC), 2011.Google ScholarGoogle Scholar

Index Terms

  1. XEMU: an efficient QEMU based binary mutation testing framework for embedded software

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in
                    • Published in

                      cover image ACM Conferences
                      EMSOFT '12: Proceedings of the tenth ACM international conference on Embedded software
                      October 2012
                      266 pages
                      ISBN:9781450314251
                      DOI:10.1145/2380356

                      Copyright © 2012 ACM

                      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                      Publisher

                      Association for Computing Machinery

                      New York, NY, United States

                      Publication History

                      • Published: 7 October 2012

                      Permissions

                      Request permissions about this article.

                      Request Permissions

                      Check for updates

                      Qualifiers

                      • research-article

                      Acceptance Rates

                      Overall Acceptance Rate60of203submissions,30%

                      Upcoming Conference

                      ESWEEK '24
                      Twentieth Embedded Systems Week
                      September 29 - October 4, 2024
                      Raleigh , NC , USA

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader