ABSTRACT
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.
- G. Martin and G. Smith. High-level synthesis: Past, present, and future. IEEE Des. Test, 26(4):18--25, 2009. Google ScholarDigital Library
- M. E. Delamaro and J. C. Maldonado. Proteum/im 2.0: An integrated mutation testing environment. pages 91--101, 2001. Google ScholarDigital Library
- M. Hampton and S. Petithomme. Leveraging a commercial mutation analysis tool for research. In TAICPART-MUTATION '07: Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION, pages 203--209, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- N. Bombieri, F. Fummi, and G. Pravadelli. A mutation model for the systemc tlm 2.0 communication interfaces. In DATE '08: Proceedings of the conference on Design, automation and test in Europe, pages 396--401, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- G. Beltrame, C. Bolchini, L. Fossati, A. Miele, and D. Sciuto. Resp: a non-intrusive transaction-level reflective mpsoc simulation platform for design space exploration. In ASP-DAC '08: Proceedings of the 2008 Asia and South Pacific Design Automation Conference, pages 673--678, Los Alamitos, CA, USA, 2008. IEEE Computer Society Press. Google ScholarDigital Library
- Gcc, the gnu compiler collection. http://gcc.gnu.org/.Google Scholar
- Open systemc initiative (osci). http://www.systemc.org/.Google Scholar
- T. A. Budd, R. A. DeMillo, R. J. Lipton, and F. G. Sayward. Theoretical and empirical studies on using program mutation to test the functional correctness of programs. In POPL '80: Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 220--233, New York, NY, USA, 1980. ACM. Google ScholarDigital Library
- T. Lv, J. Fan, and X. Li. An efficient observability evaluation algorithm based on factored use-def chains. In Test Symposium, 2003. ATS 2003. 12th Asian, pages 161--166, Nov. 2003.Google Scholar
- F. Fallah, S. Devadas, and K. Keutzer. Occom: efficient computation of observability-based code coverage metrics for functional verification. In DAC '98: Proceedings of the 35th annual Design Automation Conference, pages 152--157, New York, NY, USA, 1998. ACM. Google ScholarDigital Library
- A. J. Offutt, A. Lee, G. Rothermel, R. H. Untch, and C. Zapf. An experimental determination of sufficient mutant operators. ACM Trans. Softw. Eng. Methodol., 5(2):99--118, 1996. Google ScholarDigital Library
- H. Agarwal et. al. Design of mutant operators for the c programming language. Technical report, Purdue University, 1989.Google Scholar
- Plextest. http://www.itregister.com.au/products/plextest.htm.Google Scholar
- Y. Hara, H. Tomiyama, S. Honda, H. Takada, and K. Ishii. Chstone: A benchmark program suite for practical c-based high-level synthesis. In Circuits and Systems, 2008. ISCAS 2008. IEEE International Symposium on, pages 1192--1195, May 2008.Google ScholarCross Ref
- R. Hierons, M. Harman, and S. Danicic. Using program slicing to assist in the detection of equivalent mutants. Software Testing, Verification and Reliability, 9:233--262, 1999.Google ScholarCross Ref
- A. J. Offutt and J. Pan. Automatically detecting equivalent mutants and infeasible paths. Software Testing, Veri and Reliability, 7:165--192, 1997.Google ScholarCross Ref
Index Terms
- SCEMIT: a systemc error and mutation injection tool
Recommendations
A methodology to take credit for high-level verification during RTL verification
High-level verification and synthesis of SystemC models has become increasingly popular as a means to reduce the high RTL verification cost of today's complex designs. However, the saving derived from performing verification at a higher level of ...
Design, synthesis and verification of a smart imaging core using SystemC
In this paper the development of a smart imaging core following a SystemC-based design flow is presented. The smart imaging core integrates an ARM processor and two specific hardware blocks for image processing: a smart imaging coprocessor and a motion ...
High-Level Synthesis Design Flow for HEVC Intra Encoder on SoC-FPGA
DSD '15: Proceedings of the 2015 Euromicro Conference on Digital System DesignThis paper presents a High-Level Synthesis (HLS) flow for mapping a software HEVC encoder into Altera CycloneV SoC-FPGA. The starting point is a C implementation of an open-source Kvazaar HEVC intra encoder, which is minimally refined for SystemC design ...
Comments