Designing programs that check their work
Journal of the ACM (JACM)
Translation validation for an optimizing compiler
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
TACAS '98 Proceedings of the 4th International Conference on Tools and Algorithms for Construction and Analysis of Systems
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
Validation of Optimizing Compilers,
Validation of Optimizing Compilers,
Program extraction in simply-typed higher order logic
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
On the correctness of transformations in compiler back-ends
ISoLA'04 Proceedings of the First international conference on Leveraging Applications of Formal Methods
Hi-index | 0.00 |
In theory, program result checking has been established as a well-suited method to construct formally correct compiler frontends but it has never proved its practicality for real-life compilers. Such a proof is necessary to establish result checking as the method of choice to implement compilers correctly. We show that the lexical analysis of the GNU C compiler can be formally specified and checked within the theorem prover Isabelle/HOL utilizing program checking. Thereby we demonstrate that formal specification and verification techniques are able to handle real-life compilers.