Compositional Inter-Language Relational Verification

54
Опубликовано 12 августа 2016, 0:12
The 'relational' approach to program verification involves showing that some lower-level program of interest is equivalent to (or a refinement of) some higher-level program, which may in turn prove more amenable to traditional verification techniques. Thanks to recent advances in theorem proving technology, the relational approach has been shown to scale to the verification of significant software systems, such as seL4 and the certified CompCert compiler for C. 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.
Свежие видео
5 дней – 5 1601:27
Adaptive | Spotlight Week
9 дней – 2861:00
End to End AI
9 дней – 2672:13
Generative AI
9 дней – 1741:03
Relational Database
автотехномузыкадетское