Safety of Compilers and Translation Techniques Status quo of Technology and Science

The paper investigates the status quo of technology and science for compiler safety methods. We consider specific requirements for compilers and generators for automotive applications and discuss established and newly emerging methods of compiler safety in this context. We put the main focus on compiler verification methods on the one hand and testing technology on the other hand and discuss their applicability in the automotive context.

[1]  Eric Charton,et al.  AJACS : APPLYING JAVA TO AUTOMOTIVE CONTROL SYSTEMS , 2004 .

[2]  George C. Necula,et al.  Translation validation for an optimizing compiler , 2000, PLDI '00.

[3]  Peter Pepper,et al.  A Study on Transformational Semantics , 1978, Program Construction.

[4]  J.B. Goodenough The Ada Compiler Validation Capability , 1981, Computer.

[5]  Manuel Blum,et al.  Software reliability via run-time result-checking , 1997, JACM.

[6]  Patrick Cousot,et al.  Basic concepts of abstract interpretation , 2004, IFIP Congress Topical Sessions.

[7]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[8]  Sabine Glesner Optimierende Compiler: Vertrauen ist gut, Verifikation ist besser! , 2005 .

[9]  Rod Chapman SPARK — a state-of-the-practice approach to the Common Criteria implementation requirements , 2001 .

[10]  Shari Lawrence Pfleeger,et al.  Evaluating software engineering standards , 1994, Computer.

[11]  Xavier Leroy,et al.  Formal certification of a compiler back-end or: programming a compiler with a proof assistant , 2006, POPL '06.

[12]  Ingo Stürmer,et al.  Test suite design for code generation tools , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[13]  Alexander K. Petrenko,et al.  Using ASM Specifications for Compiler Testing , 2003, Abstract State Machines.

[14]  Rajiv Gupta,et al.  Comparison checking: an approach to avoid debugging of optimized code , 1999, ESEC/FSE-7.

[15]  Thilo S. Gaul,et al.  AJACS: Applying Java to Automotive Control Systems , 2001 .

[16]  Carl Christian Frederiksen Correctness of Classical Compiler Optimizations using CTL , 2002, COCV@ETAPS.

[17]  Stephan Merz,et al.  Model Checking , 2000 .

[18]  Chris Tapp An Introduction to MISRA C , 2008 .

[19]  Rajiv Gupta,et al.  Debugging and Testing Optimizers through Comparison Checking , 2002, COCV@ETAPS.

[20]  Wolfgang J. Paul,et al.  Towards the Formal Verification of a C0 Compiler: Code Generation and Implementation Correctnes , 2005, SEFM.

[21]  Miroslav Popovic,et al.  Software testing concept used for MAS/C-compiler , 2000, Proceedings of the 26th Euromicro Conference. EUROMICRO 2000. Informatics: Inventing the Future.

[22]  Sabine Glesner,et al.  Program Checking with Certificates: Separating Correctness-Critical Code , 2003, FME.

[23]  Mikhail Posypkin,et al.  Survey of Compiler Testing Methods , 2005, Programming and Computer Software.

[24]  Mitchell Wand,et al.  VLISP: A verified implementation of Scheme , 1995, LISP Symb. Comput..

[25]  Maulik A. Dave,et al.  Compiler verification: a bibliography , 2003, SOEN.

[26]  Gerda Janssens,et al.  Geometric Model Checking: An Automatic Verification Technique for Loop and Data Reuse Transformations , 2002, COCV@ETAPS.

[27]  Gerhard Goos,et al.  Modular Compiler Verification: A Refinement-Algebraic Approach Advocating Stepwise Abstraction , 1997 .

[28]  Rostislav Yavorskiy,et al.  Experiments on Semantics Based Testing of a Compiler , 2004 .

[29]  Alexander K. Petrenko,et al.  Coverage-driven Automated Compiler Test Suite Generation , 2003, Electron. Notes Theor. Comput. Sci..

[30]  Brian A. Malloy,et al.  Weaving aspects into C++ applications for validation of temporal invariants , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[31]  Brian A. Malloy,et al.  Automated validation of class invariants in C++ applications , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[32]  Takahide Yoshikawa,et al.  Random program generator for Java JIT compiler test system , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[33]  Manuel Blum,et al.  Designing programs that check their work , 1989, STOC '89.

[34]  Jeffrey G. Gray,et al.  A Testing Framework for Model Transformations , 2005, Model-Driven Software Development.

[35]  Ingo Stürmer,et al.  Code Generator Certification : A Test Suite-oriented Approach , 2004 .

[36]  C. J. Burgess,et al.  The automatic generation of test cases for optimizing Fortran compilers , 1996, Inf. Softw. Technol..

[37]  Colin O'Halloran,et al.  ClawZ: control laws in Z , 2000, ICFEM 2000. Third IEEE International Conference on Formal Engineering Methods.

[38]  John G. P. Barnes,et al.  High Integrity Software - The SPARK Approach to Safety and Security , 2003 .

[39]  Timothy S. McNerney Verifying the Correctness of Compiler Transformations on Basic Blocks using Abstract Interpretation , 1991, PEPM.

[40]  Amir Pnueli,et al.  Translation Validation , 1998, TACAS.

[41]  Michael Tonndorf Ada conformity assessments: a model for other programming languages? , 1999 .

[42]  Michael Tonndorf Ada conformity assessments: a model for other programming languages? , 1999, SIGAda '99.

[43]  Ingo Stürmer,et al.  Generating Test Cases for Code Generators by Unfolding Graph Transformation Systems , 2004, ICGT.

[44]  Yves Le Traon,et al.  Model Transformation Testing Challenges , 2006 .

[45]  George C. Necula,et al.  Proof-carrying code , 1997, POPL '97.

[46]  Jim Steel,et al.  Model-based test driven development of the Tefkat model-transformation engine , 2004, 15th International Symposium on Software Reliability Engineering.

[47]  Xavier Leroy,et al.  Formal Verification of a C Compiler Front-End , 2006, FM.

[48]  Robert Mandl,et al.  Orthogonal Latin squares: an application of experiment design to compiler testing , 1985, CACM.