An Observationally Complete Program Logic for Imperative Higher-Order Frame Rules
LICS '05 Proceedings of the 20th Annual IEEE Symposium on Logic in Computer Science
Certified assembly programming with embedded code pointers
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Hoare type theory, polymorphism and separation1
Journal of Functional Programming
Relational semantics for effect-based program transformations: higher-order store
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Automated verification of shape and size properties via separation logic
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Nested Hoare triples and frame rules for higher-order store
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
A quick tour of the VeriFast program verifier
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
VeriFast: a powerful, sound, predictable, fast verifier for C and java
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Mostly-automated verification of low-level programs in computational separation logic
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Formal reasoning about runtime code update
ICDEW '11 Proceedings of the 2011 IEEE 27th International Conference on Data Engineering Workshops
Specification patterns and proofs for recursion through the store
FCT'11 Proceedings of the 18th international conference on Fundamentals of computation theory
Smallfoot: modular automatic assertion checking with separation logic
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Symbolic execution with separation logic
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
A semantic foundation for hidden state
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Verifying the reflective visitor pattern
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Specification patterns for reasoning about recursion through the store
Information and Computation
Hi-index | 0.00 |
We present Crowfoot, an automatic verification tool for imperative programs that manipulate procedures dynamically at runtime; these programs use a heap that can store not only data but also code (commands or procedures). Such heaps are often called higher-order store , and allow for instance the creation of new recursions on the fly. One can use higher-order store to model phenomena such as runtime loading and unloading of code, runtime update of code and runtime code generation. Crowfoot's assertion language, based on separation logic, features nested Hoare triples which describe the behaviour of procedures stored on the heap. The tool addresses complex issues like deep frame rules and recursion through the store, and is the first verification tool based on recent developments in the mathematical foundations of Hoare logics with nested triples.