Formal

Methods in

Software Engineering

Methods in

Software Engineering

Publications One-Path Reachability Logic ... | Anonymous Login |

One-Path Reachability Logic

Grigore Rosu Andrei Stefanescu Stefan Ciobaca Brandon Moore | |

Proceedings of the 28th Symposium on Logic in Computer Science (LICS'13), 2013 | |

Abstract: | This paper introduces *reachability logic*, a language-independent proof system for program verification, which takes an operational semantics as axioms and derives *reachability rules*, which generalize Hoare triples. This system improves on previous work by allowing operational semantics given with *conditional* rewrite rules, which are known to support all major styles of operational semantics. In particular, Kahn's big-step and Plotkin's small-step semantic styles are newly supported. The reachability logic proof system is shown sound (i.e., partially correct) and (relatively) complete. Reachability logic thus eliminates the need to independently define an axiomatic and an operational semantics for each language, and the non-negligible effort to prove the former sound and complete w.r.t. the latter. The soundness result has also been formalized in Coq, allowing reachability logic derivations to serve as formal proof certificates that rely only on the operational semantics. |

Project(s): | K |

Grant(s): | DAK |

NEWS

New publication : Model checking recursive programs interacting via ... - 01 feb 2015

Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive ... (more)

New publication : K-Java: A Complete Semantics of Java - 10 sep 2014

This paper presents K-Java, a complete executable formal semantics of Java 1.4.

K-Java was extensively tested with a test suite developed alongside the project, following the Test Driven Development methodology.

more)

New publication : K-Java: A Complete Semantics of Java - 09 jul 2014

This paper presents K-Java, a complete executable formal semantics of Java 1.4.

K-Java was extensively tested with a test suite developed alongside the project, following the Test Driven Development methodology.

more)

New publication : Engineering Hoare Logic-based Program Verification in ... - 30 oct 2013

We propose a language-independent symbolic execution framework for languages endowed with a formal operational semantics based on term rewriting. Starting from a given definition of a language, a new language ... (more)

@FMSE 2010-2011