Semi-formal approach for validating compiler for safety critical software in airborne systems

For safety critical systems, porting the correct object code to perform the safety function is very critical. So apart from verifying the embedded software at hardware, software and system levels, safety critical systems need to be tested and validated even at the object code level [1,2,3] (ref: DO 178, Section 6.4.4.2). This paper proposes a novel semi-formal approach for validating compiler used for safety critical software for airborne systems. The novel approach is demonstrated as a case study for Microtec cross-compiler used for generating the object code for Motorola 68060 for indigenously developed Stall warning and aircraft interface computer system software. Program Analysis technique is used to validate the cross-compiler. The technique is incorporated in an in-house tool which integrates the manual knowledge database to carry out the compiler validation. This tool provides partial automation of the verification process which will be used to provide proof as per the RTCA DO-178B guidelines [3].

[1]  Adam Chlipala Syntactic Proofs of Compositional Compiler Correctness , 2009 .

[2]  Xavier Leroy,et al.  Formal verification of a realistic compiler , 2009, CACM.

[3]  Marc Pantel,et al.  Formally verified optimizing compilation in ACG-based flight control software , 2012 .

[4]  David Crocker Escher Making Formal Methods popular through Automated Verification , 2022 .

[5]  Amir Pnueli,et al.  CoVaC: Compiler Validation by Program Analysis of the Cross-Product , 2008, FM.

[6]  Stefan Berghofer,et al.  Extracting a formally verified, fully executable compiler from a proof assistant , 2004, COCV@ETAPS.

[7]  George C. Necula,et al.  Oracle-based checking of untrusted software , 2001, POPL '01.

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

[9]  S. Subramanian,et al.  Automatic verification of object code against source code , 1996, Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96.

[10]  Elena Petrova,et al.  Pervasive Compiler Verification - From Verified Programs to Verified Systems , 2008, Electron. Notes Theor. Comput. Sci..

[11]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[12]  Guillaume Melquiond,et al.  Floating-point arithmetic , 2023, Acta Numerica.

[13]  Carsten Sinz,et al.  A Precise Memory Model for Low-Level Bounded Model Checking , 2010, SSV.

[14]  Robert S. Boyer,et al.  The Boyer-Moore theorem prover and its interactive enhancement , 1995 .