Formal Proofs of Code Generation and Verification Tools

Tool-assisted verification of critical software has great potential but is limited by two risks: unsoundness of the verification tools, and miscompilation when generating executable code from the sources that were verified. A radical solution to these two risks is the deductive verification of compilers and verification tools themselves. In this invited talk, I describe two ongoing projects along this line: CompCert, a verified C compiler, and Verasco, a verified static analyzer based on abstract interpretation.

[1]  Virginie Wiels,et al.  Formal Verification of Avionics Software Products , 2009, FM.

[2]  Chris Hawblitzel,et al.  Safe to the last instruction: automated verification of a type-safe operating system , 2011, CACM.

[3]  Claude Marché,et al.  A Certified Multi-prover Verification Condition Generator , 2012, VSTTE.

[4]  Xavier Leroy,et al.  Validating Register Allocation and Spilling , 2010, CC.

[5]  Ana Cavalcanti,et al.  FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2-6, 2009. Proceedings , 2009, FM.

[6]  Henrik Theiling,et al.  Reliable and Precise WCET Determination for a Real-Life Processor , 2001, EMSOFT.

[7]  Xuejun Yang,et al.  Finding and understanding bugs in C compilers , 2011, PLDI '11.

[8]  Michael Norrish,et al.  seL4: formal verification of an operating-system kernel , 2010, Commun. ACM.

[9]  David Pichardie,et al.  Formal Verification of a C Value Analysis Based on Abstract Interpretation , 2013, SAS.

[10]  Xavier Leroy,et al.  A Formally Verified Compiler Back-end , 2009, Journal of Automated Reasoning.

[11]  Andrew J. Kornecki,et al.  The Qualification of Software Development Tools From the DO-178B Certification Perspective , 2006 .

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

[13]  Patrick Cousot,et al.  A static analyzer for large safety-critical software , 2003, PLDI.

[14]  David Monniaux,et al.  Efficient Generation of Correctness Certificates for the Abstract Domain of Polyhedra , 2013, SAS.