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.
- A. W. Appel. Verified software toolchain. In ESOP, volume 6602 of LNCS, pages 1--17, 2011. Google ScholarDigital Library
- C. Barrett and C. Tinelli. CVC3. In CAV, pages 298--302, 2007. Google ScholarDigital Library
- G. Berry and G. Boudol. The chemical abstract machine. Th. Comp. Sci., 96(1):217--248, 1992. Google ScholarDigital Library
- S. Blazy and X. Leroy. Mechanized semantics for the Clight subset of the C language. J. Autom. Reasoning, 43(3):263--288, 2009.Google ScholarCross Ref
- A. Chlipala. Mostly-automated verification of low-level pro-grams in computational separation logic. In PLDI, pages 234--245, 2011. Google ScholarDigital Library
- 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 Scholar
- O. Danvy and L. Nielsen. Refocusing in reduction semantics. Technical Report RS-04-26, BRICS, 2004.Google ScholarCross Ref
- L. M. de Moura and N. Bjørner. Z3: An efficient SMT solver. In TACAS, volume 4963 of LNCS, pages 337--340, 2008. Google ScholarDigital Library
- 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 ScholarDigital Library
- C. Ellison and G. Rosu. An executable formal semantics of C with applications. In POPL, pages 533--544, 2012. Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Felleisen, R. B. Findler, and M. Flatt. Semantics Engineer-ing with PLT Redex. MIT, 2009. Google ScholarDigital Library
- R. W. Floyd. Assigning meaning to programs. In Symposium on Applied Mathematics, volume 19, pages 19--32, 1967.Google ScholarCross Ref
- J. Goguen and G. Malcolm. Algebraic Semantics of Imperative Programs. MIT Press, 1996. Google ScholarDigital Library
- D. Harel, D. Kozen, and J. Tiuryn. Dynamic logic. In Handbook of Philosophical Logic, pages 497--604, 1984.Google ScholarCross Ref
- 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 ScholarDigital Library
- T. Hubert and C. Marché. A case study of C source code verification: the Schorr-Waite algorithm. In SEFM, pages 190--199, 2005. Google ScholarDigital Library
- A. Loginov, T. W. Reps, and M. Sagiv. Automated verification of the Deutsch-Schorr-Waite tree-traversal algorithm. In SAS, 2006. Google ScholarDigital Library
- J. Meseguer. Conditioned rewriting logic as a united model of concurrency. Theor. Comput. Sci., 96(1):73--155, 1992. Google ScholarDigital Library
- P. D. Mosses. CASL Reference Manual, volume 2960 of LNCS. Springer, 2004.Google Scholar
- T. Nipkow. Winskel is (almost) right: Towards a mechanized semantics textbook. Formal Aspects of Computing, 10:171--186, 1998.Google ScholarDigital Library
- P. W. O'Hearn and D. J. Pym. The logic of bunched implications. Bulletin of Symb. Logic, 5(2):215--244, 1999.Google ScholarCross Ref
- 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 ScholarDigital Library
- D. Pavlovic and D. R. Smith. Composition and refinement of behavioral specifications. In ASE, pages 157--165, 2001. Google ScholarDigital Library
- J. C. Reynolds. Separation logic: A logic for shared mutable data structures. In LICS, pages 55--74, 2002. Google ScholarDigital Library
- G. Rosu and T.-F. Serbanuta. An overview of the K semantic framework. J. Log. Algebr. Program., 79(6):397--434, 2010.Google ScholarCross Ref
- G. Rosu and A. Stefanescu. Matching logic: a new program verification approach (NIER track). In ICSE, pages 868--871, 2011. Google ScholarDigital Library
- 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 ScholarDigital Library
- G. Rosu and A. Stefanescu. From Hoare logic to matching logic. In FM, To appear, 2012.Google Scholar
- G. Rosu and A. Stefanescu. Checking reachability using matching logic. Technical Report http://hdl.handle.net/2142/33771, Univ. of Illinois, Aug. 2012.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- G. Winskel. The formal semantics of programming languages - an introduction. Foundation of computing series. MIT Press, 1993. Google ScholarDigital Library
- A. Wright and M. Felleisen. A syntactic approach to type soundness. Inf. & Computation, 115(1):38--94, 1994. Google ScholarDigital Library
Index Terms
- Checking reachability using matching logic
Recommendations
One-Path Reachability Logic
LICS '13: Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer ScienceThis paper introduces *(one-path) reach ability logic*, a language-independent proof system for program verification, which takes an operational semantics as axioms and derives *reach ability rules*, which generalize Hoare triples. This system improves ...
Checking reachability using matching logic
OOPSLA '12This 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 ...
A general approach to define binders using matching logic
We propose a novel definition of binders using matching logic, where the binding behavior of object-level binders is directly inherited from the built-in exists binder of matching logic. We show that the behavior of binders in various logical systems ...
Comments