skip to main content
research-article

Checking reachability using matching logic

Authors Info & Claims
Published:19 October 2012Publication History
Skip Abstract Section

Abstract

This paper presents a verification framework that is parametric in a (trusted) operational semantics of some programming language. The underlying proof system is language-independent and consists of eight proof rules. The proof system is proved partially correct and relatively complete (with respect to the programming language configuration model). To show its practicality, the generic framework is instantiated with a fragment of C and evaluated with encouraging results.

References

  1. A. W. Appel. Verified software toolchain. In ESOP, volume 6602 of LNCS, pages 1--17, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Barrett and C. Tinelli. CVC3. In CAV, pages 298--302, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Berry and G. Boudol. The chemical abstract machine. Th. Comp. Sci., 96(1):217--248, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Blazy and X. Leroy. Mechanized semantics for the Clight subset of the C language. J. Autom. Reasoning, 43(3):263--288, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  5. A. Chlipala. Mostly-automated verification of low-level pro-grams in computational separation logic. In PLDI, pages 234--245, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Clavel, F. Durán, S. Eker, J. Meseguer, P. Lincoln, N. Martí-Oliet, and C. Talcott. All About Maude, volume 4350 of LNCS. 2007.Google ScholarGoogle Scholar
  7. O. Danvy and L. Nielsen. Refocusing in reduction semantics. Technical Report RS-04-26, BRICS, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  8. L. M. de Moura and N. Bjørner. Z3: An efficient SMT solver. In TACAS, volume 4963 of LNCS, pages 337--340, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. Distefano, P. W. O'Hearn, and H. Yang. A local shape analysis based on separation logic. In TACAS, volume 3920 of LNCS, pages 287--302, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Ellison and G. Rosu. An executable formal semantics of C with applications. In POPL, pages 533--544, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Felleisen and R. Hieb. The revised report on the syntactic theories of sequential control and state. Th. Comp. Sci., 103 (2):235--271, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Felleisen, R. B. Findler, and M. Flatt. Semantics Engineer-ing with PLT Redex. MIT, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. W. Floyd. Assigning meaning to programs. In Symposium on Applied Mathematics, volume 19, pages 19--32, 1967.Google ScholarGoogle ScholarCross RefCross Ref
  14. J. Goguen and G. Malcolm. Algebraic Semantics of Imperative Programs. MIT Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Harel, D. Kozen, and J. Tiuryn. Dynamic logic. In Handbook of Philosophical Logic, pages 497--604, 1984.Google ScholarGoogle ScholarCross RefCross Ref
  16. A. Hobor, A. W. Appel, and F. Z. Nardelli. Oracle semantics for concurrent separation logic. In ESOP, volume 4960 of LNCS, pages 353--367, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Hubert and C. Marché. A case study of C source code verification: the Schorr-Waite algorithm. In SEFM, pages 190--199, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Loginov, T. W. Reps, and M. Sagiv. Automated verification of the Deutsch-Schorr-Waite tree-traversal algorithm. In SAS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Meseguer. Conditioned rewriting logic as a united model of concurrency. Theor. Comput. Sci., 96(1):73--155, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. D. Mosses. CASL Reference Manual, volume 2960 of LNCS. Springer, 2004.Google ScholarGoogle Scholar
  21. T. Nipkow. Winskel is (almost) right: Towards a mechanized semantics textbook. Formal Aspects of Computing, 10:171--186, 1998.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. W. O'Hearn and D. J. Pym. The logic of bunched implications. Bulletin of Symb. Logic, 5(2):215--244, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  23. P. W. O'Hearn, J. C. Reynolds, and H. Yang. Local reasoning about programs that alter data structures. In CSL, pages 1--19, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Pavlovic and D. R. Smith. Composition and refinement of behavioral specifications. In ASE, pages 157--165, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In LICS, pages 55--74, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. G. Rosu and T.-F. Serbanuta. An overview of the K semantic framework. J. Log. Algebr. Program., 79(6):397--434, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  27. G. Rosu and A. Stefanescu. Matching logic: a new program verification approach (NIER track). In ICSE, pages 868--871, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. G. Rosu and A. Stefanescu. Towards a unified theory of operational and axiomatic semantics. In ICALP (2), volume 7392 of LNCS, pages 351--363, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G. Rosu and A. Stefanescu. From Hoare logic to matching logic. In FM, To appear, 2012.Google ScholarGoogle Scholar
  30. G. Rosu and A. Stefanescu. Checking reachability using matching logic. Technical Report http://hdl.handle.net/2142/33771, Univ. of Illinois, Aug. 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. G. Rosu, C. Ellison, and W. Schulte. Matching logic: An alternative to Hoare/Floyd logic. In AMAST, volume 6486 of LNCS, pages 142--162, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. S. Sagiv, T. W. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Trans. Prog. Lang. Syst., 24(3):217--298, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. G. Winskel. The formal semantics of programming languages - an introduction. Foundation of computing series. MIT Press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. A. Wright and M. Felleisen. A syntactic approach to type soundness. Inf. & Computation, 115(1):38--94, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Checking reachability using matching logic

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 47, Issue 10
      OOPSLA '12
      October 2012
      1011 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2398857
      Issue’s Table of Contents
      • cover image ACM Conferences
        OOPSLA '12: Proceedings of the ACM international conference on Object oriented programming systems languages and applications
        October 2012
        1052 pages
        ISBN:9781450315616
        DOI:10.1145/2384616

      Copyright © 2012 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 October 2012

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!