Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Selected papers of the Second Workshop on Concurrency and compositionality
An axiomatic basis for computer programming
Communications of the ACM
Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Coinductive big-step operational semantics
Information and Computation
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Semantics Engineering with PLT Redex
Semantics Engineering with PLT Redex
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Circular coinduction: a proof theoretical foundation
CALCO'09 Proceedings of the 3rd international conference on Algebra and coalgebra in computer science
Matching logic: an alternative to hoare/floyd logic
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Matching logic: a new program verification approach (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Symbolic execution with separation logic
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
An executable formal semantics of C with applications
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Checking reachability using matching logic
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
The rewriting logic semantics project: A progress report
Information and Computation
LICS '13 Proceedings of the 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science
Hi-index | 0.00 |
This paper presents a nine-rule language-independent proof system that takes an operational semantics as axioms and derives program reachability properties, including ones corresponding to Hoare triples. This eliminates the need for language-specific Hoare-style proof rules to verify programs, and, implicitly, the tedious step of proving such proof rules sound for each language separately. The key proof rule is Circularity, which is coinductive in nature and allows for reasoning about constructs with repetitive behaviors (e.g., loops). The generic proof system is shown sound and has been implemented in the MatchC verifier.