Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2009.16-A.4.245

Test Suit Generation System for Retargetable C Compilers  

Woo, Gyun (부산대학교 정보컴퓨터공학부)
Bae, Jung-Ho (부산대학교 컴퓨터공학과)
Jang, Han-Il (슈어소프트테크 소프트웨어 시험자동화연구소)
Lee, Yun-Jung (부산대학교 U-Port 사업단)
Chae, Heung-Seok (부산대학교 정보컴퓨터공학부)
Abstract
With the increasing adoption of embedded processors, the need of developing compilers for the embedded processors with timely manner is also growing. Retargeting has been adopted as a viable approach to constructing new compilers by modifying the back-end of an existing compiler. This paper proposes a test suite generation system for testing retargetable C compilers. The proposed system generates the test suite using the grammar coverage concept. Generally, the size of the test suite satisfying the grammar coverage of the source language is very large. Hence, the proposed system also provides the facility to reduce the size of the test suite. According to the experimental result, the reduced test suite can detect 75% of the compiler faults detected by the original test suite though the size of the reduced test suite is only 10% of that of the original test suite in average. This result indicates that the reduction technique proposed in this paper can be effectively used in the prior phase of the development procedure of the embedded compilers.
Keywords
Compiler Testing; Retargetable C Compiler; Embedded System; Intermediate Code;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Alexander Kossatchev and Mikhail Posypkin. Survey of Compiler Testing Methods. Programming and Computer Software, 31(1):10-19, 2005   DOI
2 John Hannan and Frank Pfenning. Compiler Verification in LF. In Andre Scedrov, editor, In Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science, pp.407-418. 1992
3 Jorg Harm and Ralf Lammel. Two-Dimensional Approximation Coverage. Informatica (Slovenia), 24(3), 2000
4 Ralf Lammel. Grammar Testing. In Proceedings on Fundamental Approaches to Software Engineering (FASE) 2001, volume 2029 of LNCS, pp.201-216. 2001   DOI   ScienceOn
5 Tim S. McNerney. Verifying the Correctness of Compiler Transformations on Basic Blocks Using Abstract Interpretation. SIGPLAN Notices, 26(9): 106-115, June, 1991   DOI
6 Richard G. Hamlet. Testing Programs with the Aid of a Compiler. IEEE Transactions on Software Engineering, 3(4): 279-290, 1977   DOI   ScienceOn
7 G. Araujo, S. Malik, and M. T.-C. Lee. Using Register-Transfer Paths in Code Generation for Heterogeneous Memory-Register Architectures. In Design Automation Conference, pp.591-596, 1996   DOI
8 A. S. Boujarwah and K. Saleh. Compiler Test Case Generation Methods: a Survey and Assessment. Information and Software Technology, 39(9): 617-625, 1997   DOI   ScienceOn
9 James A. Jones and Mary Jean Harrold. Test-Suite Reduction and Prioritization for Modified Condition/Decision Coverage. IEEE Transactions on Software Engineering, 29(3): 195-209, 2003   DOI   ScienceOn
10 P. Purdom. A Sentence Generator for Testing Parsers. BIT Numerical Mathematics, 12(3): 366-375, 1972   DOI
11 Sergey V. Zelenov, Sophia A. Zelenova, Alexander Kossatchev, and Alexandre Petrenko. Test Generation for Compilers and Other Formal Text Processors. Programming and Computer Software, 29(2): 104-111, 2003   DOI
12 R. Leupers and P. Marwedel. Retargetable Generation of Code Selectors from HDL Processor Models. In European Design and Test Conference, pp.140-144, 1997
13 장한일, 우균, 채흥석, 중간표현을 이용한 재목적 컴파일러의 효율적인 테스트 방법, 한국정보과학회 2006 가을 학술발표논문집 제33권 제2호(B), pp.575-579, 2006   과학기술학회마을
14 S. Hanono, S. Devadas. Instruction selection, resource allocation, and scheduling in the AVIV retargetable code generator, In Proceedings of the 35th annual conference on Design automation, pp.510-515, 1998
15 P. Marwedel. Tree-Based Mapping of Algorithms to Predefined Structures. In IEEE/ACM International Conference on CAD, pp.586-593, 1993
16 D. Lanneer, J. Van Praet, A. Kifli, K. Schoofs, W. Geurts, F. Thoen, and G. Goossens. Chess: Retargetable Code Generation for Embedded DSP Processors, In Proceedings on Code Generation for Embedded Processors, pp.85-102, 1994
17 Keith W. Miller. A Modest Proposal for Software Testing. IEEE Software, 18(2): 98-100, 2001   DOI
18 Alexey Kalinov, Alexander Kossatchev, Alexandre Petrenko, Mikhail Posypkin, and Vladimir Shishkov. Coverage-Driven Automated Compiler Test Suite Generation. Electronic Notes Theoretical Computational Science, 82(3), 2003   DOI   ScienceOn
19 R. A. DeMillo, R. J. Lipton, and F.G. Sayward. Hints on Test Data Selection: Help for the Practicing Programmer. IEEE Computer, 11(4): 34-41, 1978   DOI   ScienceOn
20 A. Gargantini and E. Riccobene. ASM-based Testing: Coverage Criteria and Automatic Test Sequence. Journal of Universal Computer Science, 7(11): 1050-1067, 2001
21 A. Kalinov, A. Kossatchev, M. Posypkin, and V. Shishkov. Using ASM Specifiation for Automatic Test Suite Generation for mpC Parallel Programming Language Compiler, In Proceedings of the Fourth International Workshop on Action Semantics, pp.99-109, 2002
22 Gyun Woo, Heung Seok Chae, and Hanil Jang, An Intermediate Representation Approach to Reducing Test Suites for Retargeted Compilers, In Proceedings of 12th Ada-Europe International Conference on Reliable Software Technologies, pp.100-113, 2007   DOI   ScienceOn
23 Boris Beizer. Software Testing Techniques. John Wiley & Sons, Inc., New York, NY, USA, 1990
24 A. Kalinov, A. Kossatchev, A. Petrenko, M. Posypkin, and V. Shishkov. Using ASM Specifications for Compiler Testing, Lecture Notes in Computer Science, volume 2589, p. 415, 2003   DOI   ScienceOn
25 Clara Jaramillo, Rajiv Gupta, and Mary Lou Soffa. Comparison Checking: An Approach to Avoid Debugging of Optimized Code. In ESEC / SIGSOFT FSE, pp. 268-284, 1999
26 George C. Necula. Translation Validation for an Optimizing Compiler. ACM SIGPLAN Notices, 35(5): 83-94, 2000   DOI
27 Mark Hennessy and James F. Power. An Analysis of Rule Coverage as a Criterion in Generating Minimal Test Suites for Grammar-Based Software. In ASE '05: Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, pp.104-113, 2005   DOI