SCEMIT: A SystemC error and mutation injection tool

As high-level models in C and SystemC are increasingly used for verification and even design (through high-level synthesis) of electronic systems, there is a growing need for compatible error injection tools to facilitate further development of coverage metrics and automated diagnosis. This paper introduces SCEMIT, a tool for the automated injection of errors into C/C++/SystemC models. A selection of `mutation' style errors are supported, and injection is performed though a plugin interface in the GCC compiler, which minimizes the impact of SCEMIT on existing simulation flows. Experimental injected error detection results are presented for the set of OSCI SystemC Example Models as well as the CHStone C High-Level-Synthesis benchmark set. Aside from demonstrating compatibility with these models, the results show the value of high-level error injection as a coverage measure compared to conventional code coverage measures.

[1]  Franco Fummi,et al.  A Mutation Model for the SystemC TLM 2.0 Communication Interfaces , 2008, 2008 Design, Automation and Test in Europe.

[2]  Richard J. Lipton,et al.  Theoretical and empirical studies on using program mutation to test the functional correctness of programs , 1980, POPL '80.

[3]  M. Hampton,et al.  Leveraging a Commercial Mutation Analysis Tool For Research , 2007, Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007).

[4]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[5]  Hiroyuki Tomiyama,et al.  CHStone: A benchmark program suite for practical C-based high-level synthesis , 2008, 2008 IEEE International Symposium on Circuits and Systems.

[6]  Wynne Hsu,et al.  DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE , 2006 .

[7]  Xiaowei Li,et al.  An efficient observability evaluation algorithm based on Factored Use-Def chains , 2003, 2003 Test Symposium.

[8]  Gary Smith,et al.  High-Level Synthesis: Past, Present, and Future , 2009, IEEE Design & Test of Computers.

[9]  Mark Harman,et al.  Using program slicing to assist in the detection of equivalent mutants , 1999, Softw. Test. Verification Reliab..

[10]  Kurt Keutzer,et al.  OCCOM: efficient computation of observability-based code coverage metrics for functional verification , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[11]  A. Jefferson Offutt,et al.  Automatically detecting equivalent mutants and infeasible paths , 1997, Softw. Test. Verification Reliab..

[12]  Luca Fossati,et al.  ReSP: A non-intrusive Transaction-Level Reflective MPSoC Simulation Platform for design space exploration , 2008, 2008 Asia and South Pacific Design Automation Conference.

[13]  José Carlos Maldonado,et al.  Proteum/IM 2.0: An Integrated Mutation Testing Environment , 2001 .