International Conference on Rewriting Techniques and Applications

RTA 2014: Rewriting and Typed Lambda Calculi pp 425-440 | Cite as

All-Path Reachability Logic

  • Andrei Ştefănescu
  • Ştefan Ciobâcă
  • Radu Mereuta
  • Brandon M. Moore
  • Traian Florin Şerbănută
  • Grigore Roşu
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8560)

Abstract

This paper presents a language-independent proof system for reachability properties of programs written in non-deterministic (e.g. concurrent) languages, referred to as all-path reachability logic. It derives partial-correctness properties with all-path semantics (a state satisfying a given precondition reaches states satisfying a given postcondition on all terminating execution paths). The proof system takes as axioms any unconditional operational semantics, and is sound (partially correct) and (relatively) complete, independent of the object language; the soundness has also been mechanized (Coq). This approach is implemented in a tool for semantics-based verification as part of the \(\mathbb K\) framework.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Nipkow, T.: Winskel is (almost) right: Towards a mechanized semantics textbook. Formal Aspects of Computing 10, 171–186 (1998)Google Scholar
  2. 2.
    Jacobs, B.: Weakest pre-condition reasoning for Java programs with JML annotations. J. Logic and Algebraic Programming 58(1-2), 61–88 (2004)CrossRefMATHGoogle Scholar
  3. 3.
    Appel, A.W.: Verified software toolchain. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol. 6602, pp. 1–17. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Roşu, G., Ştefănescu, A.: Checking reachability using matching logic. In: OOPSLA, pp. 555–574. ACM (2012)Google Scholar
  5. 5.
    Roşu, G., Ştefănescu, A.: From hoare logic to matching logic reachability. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 387–402. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  6. 6.
    Roşu, G., Ştefănescu, A.: Towards a unified theory of operational and axiomatic semantics. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds.) ICALP 2012, Part II. LNCS, vol. 7392, pp. 351–363. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  7. 7.
    Roşu, G., Ştefănescu, A., Ciobâcă, C., Moore, B.M.: One-path reachability logic. In: LICS 2013. IEEE (2013)Google Scholar
  8. 8.
    Roşu, G., Ellison, C., Schulte, W.: Matching logic: An alternative to hoare/Floyd logic. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 142–162. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  9. 9.
    Roşu, G., Şerbănută, T.F.: An overview of the K semantic framework. J. Logic and Algebraic Programming 79(6), 397–434 (2010)Google Scholar
  10. 10.
    Ellison, C., Roşu, G.: An executable formal semantics of C with applications. In: POPL, pp. 533–544. ACM (2012)Google Scholar
  11. 11.
    Felleisen, M., Findler, R.B., Flatt, M.: Semantics Engineering with PLT Redex. MIT (2009)Google Scholar
  12. 12.
    Berry, G., Boudol, G.: The chemical abstract machine. Theoretical Computer Science 96(1), 217–248 (1992)CrossRefMATHMathSciNetGoogle Scholar
  13. 13.
    Matthews, J., Findler, R.B.: An operational semantics for Scheme. JFP 18(1), 47–86 (2008)MATHGoogle Scholar
  14. 14.
    Ştefănescu, A., Ciobâcă, C., Moore, B.M., Şerbănuţă, T.F., Roşu, G.: Reachability Logic in K. Technical Report. University of Illinois (November 2013), http://hdl.handle.net/2142/46296
  15. 15.
    Filaretti, D., Maffeis, S.: An executable formal semantics of php. In: ECOOP. LNCS (to appear, 2014)Google Scholar
  16. 16.
    de Moura, L., Bjørner, N.S.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  17. 17.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580 (1969)CrossRefMATHGoogle Scholar
  18. 18.
    Owicki, S.S., Gries, D.: Verifying properties of parallel programs: An axiomatic approach. Communications of the ACM 19(5), 279–285 (1976)CrossRefMATHMathSciNetGoogle Scholar
  19. 19.
    Jones, C.B.: Specification and design of (parallel) programs. In: Mason, R.E.A. (ed.) Information Processing 1983: World Congress Proceedings, pp. 321–332. Elsevier (1984)Google Scholar
  20. 20.
    O’Hearn, P.W.: Resources, concurrency, and local reasoning. Theoretical Computer Science 375(1-3), 271–307 (2007)CrossRefMATHMathSciNetGoogle Scholar
  21. 21.
    Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: LICS, pp. 55–74. IEEE (2002)Google Scholar
  22. 22.
    Feng, X.: Local rely-guarantee reasoning. In: POPL, pp. 315–327. ACM (2009)Google Scholar
  23. 23.
    Vafeiadis, V., Parkinson, M.J.: A marriage of rely/guarantee and separation logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256–271. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  24. 24.
    Reddy, U.S., Reynolds, J.C.: Syntactic control of interference for separation logic. In: POPL, pp. 323–336. ACM (2012)Google Scholar
  25. 25.
    Hayman, J.: Granularity and concurrent separation logic. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 219–234. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  26. 26.
    Bae, K., Escobar, S., Meseguer, J.: Abstract logical model checking of infinite-state systems using narrowing. In: RTA, pp. 81–96 (2013)Google Scholar
  27. 27.
    Rocha, C., Meseguer, J.: Proving safety properties of rewrite theories. In: Corradini, A., Klin, B., Cîrstea, C. (eds.) CALCO 2011. LNCS, vol. 6859, pp. 314–328. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  28. 28.
    Rocha, C., Meseguer, J., Muñoz, C.A.: Rewriting modulo smt and open system analysis. In: WRLA. LNCS (to appear, 2014)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Andrei Ştefănescu
    • 1
  • Ştefan Ciobâcă
    • 2
  • Radu Mereuta
    • 1
    • 2
  • Brandon M. Moore
    • 1
  • Traian Florin Şerbănută
    • 3
  • Grigore Roşu
    • 1
    • 2
  1. 1.University of Illinois at Urbana-ChampaignUSA
  2. 2.University “Alexandru Ioan Cuza”Romania
  3. 3.University of BucharestRomania

Personalised recommendations