|
|
|
CS Talk However, existing relational methods apply only to the verification of *whole* software systems. For instance, the correctness of the CompCert compiler is guaranteed only when it is used to compile whole programs, since the underlying proof method lacks *compositionality*. Informally, compositionality means that the verification of a whole program may be obtained by composing together the verification of its modular subcomponents. In this talk, I will present two notions of compositionality arising in relational verification -- horizontal and vertical compositionality-- and discuss the extent to which existing relational techniques do or do not support them. I will then discuss my own work toward fully compositional inter-language relational verification, in particular: (1) the development of a compositional, *semantic* notion of equivalence between high- and low-level languages, and (2) the invention of a novel relational technique, *parametric bisimulations*, which supports both horizontal and vertical notions of compositionality.
|
||||||||||||
![]() |
|