Title
A Compositional Semantics for Verified Separate Compilation and Linking
Abstract
Recent ground-breaking efforts such as CompCert have made a convincing case that mechanized verification of the compiler correctness for realistic C programs is both viable and practical. Unfortunately, existing verified compilers can only handle whole programs---this severely limits their applicability and prevents the linking of verified C programs with verified external libraries. In this paper, we present a novel compositional semantics for reasoning about open modules and for supporting verified separate compilation and linking. More specifically, we replace external function calls with explicit events in the behavioral semantics. We then develop a verified linking operator that makes lazy substitutions on (potentially reacting) behaviors by replacing each external function call event with a behavior simulating the requested function. Finally, we show how our new semantics can be applied to build a refinement infrastructure that supports both vertical composition and horizontal composition.
Year
DOI
Venue
2015
10.1145/2676724.2693167
CPP
Keywords
Field
DocType
formal definitions and theory,horizontal composition,verified compilation and linking,compositional semantics,vertical composition
Principle of compositionality,Programming language,Subroutine,Computer science,Compiler correctness,Algorithm,Theoretical computer science,Compiler,Operator (computer programming),Behavioral semantics,Semantics
Conference
Citations 
PageRank 
References 
4
0.44
12
Authors
5
Name
Order
Citations
PageRank
Tahina Ramananandro1787.64
Zhong Shao289768.80
Shu-Chun Weng340.44
Jérémie Koenig440.44
Yuchen Fu540.44