ComputingComputer EngineeringComputer ScienceCompilersFormal MethodsSoftware EngineeringCompiler Back EndsCompiler ConstructionControl-flow AnalysisDeductive VerificationProof AssistantsCode CompilationCompiler DesignCoqFormal Methods For SafetyProgram VerificationSafety PropertiesSafety-critical SoftwareSafety-critical Software Engineering
This paper reports on the development and formal certification (proof of semantic preservation) of a compiler from Cminor (a C-like imperative language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. Such a certified compiler is useful in the context of formal methods applied to the certification of critical software: the certification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well.
19
George C. Necula · 1997 · 1.8K citations
Register allocation & spilling via graph coloring
Gregory J. Chaitin · ACM SIGPLAN Notices · 1982 · 767 citations · Full text
Register allocation & spilling via graph coloring
Gregory J. Chaitin · 1982 · 668 citations
From system F to typed assembly language
Greg Morrisett, David Walker, Karl Crary et al. · ACM Transactions on Programming Languages and Systems · 1999 · 587 citations · Full text