Reachability Logic in K

This paper presents a language-independent proof system for reachability properties of programs written in non-deterministic (concurrent) languages, referred to as reachability logic. The proof system derives partial-correctness properties with either all-path or one-path semantics, i.e., that states satisfying a given precondition reach states satisfying a given postcondition on all execution paths, respectively on one execution path. Reachability logic takes as axioms any unconditional operational semantics, and is sound (i.e., partially correct) and (relatively) complete, independent of the object language; the soundness has also been mechanized. The proof system is implemented in a tool for semantics-based verification as part of the K framework, and evaluated on a few examples.

[1]  Chucky Ellison,et al.  An executable formal semantics of C with applications , 2011, POPL '12.

[2]  Tobias Nipkow,et al.  Winskel is (almost) Right: Towards a Mechanized Semantics Textbook , 1996, Formal Aspects of Computing.

[3]  Cliff B. Jones,et al.  Specification and Design of (Parallel) Programs , 1983, IFIP Congress.

[4]  Chucky Ellison,et al.  Matching Logic: An Alternative to Hoare/Floyd Logic , 2010, AMAST.

[5]  John C. Reynolds,et al.  Syntactic control of interference for separation logic , 2012, POPL '12.

[6]  Andrew W. Appel,et al.  Verified Software Toolchain , 2012, NASA Formal Methods.

[7]  Jonathan Hayman Granularity and Concurrent Separation Logic , 2011, CONCUR.

[8]  Grigore Rosu,et al.  One-Path Reachability Logic , 2013, 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science.

[9]  Viktor Vafeiadis,et al.  A Marriage of Rely/Guarantee and Separation Logic , 2007, CONCUR.

[10]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[11]  Grigore Rosu,et al.  Towards a Unified Theory of Operational and Axiomatic Semantics , 2012, ICALP.

[12]  Grigore Rosu,et al.  From Hoare Logic to Matching Logic Reachability , 2012, FM.

[13]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[14]  Chucky Ellison,et al.  A Rewriting Logic Approach to Type Inference , 2009, WADT.

[15]  Robert Bruce Findler,et al.  A Rewriting Semantics for Type Inference , 2007, ESOP.

[16]  Bart Jacobs,et al.  Weakest pre-condition reasoning for Java programs with JML annotations , 2004, J. Log. Algebraic Methods Program..

[17]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[18]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[19]  Grigore Rosu,et al.  Checking reachability using matching logic , 2012, OOPSLA '12.

[20]  Peter W. O'Hearn,et al.  Resources, concurrency, and local reasoning , 2007 .

[21]  Xinyu Feng Local rely-guarantee reasoning , 2009, POPL '09.