Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
CVC: A Cooperating Validity Checker
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
On-demand refinement of dependent types
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Predicate abstraction in a program logic calculus
Science of Computer Programming
Hi-index | 0.00 |
The last decade has displayed a trend for automatic reasoning techniques to operate on demand. Examples of this trend are counterexample-driven predicate refinement, as used in software model checking [7, 1, 8], and lemmas on demand, as used in automatic theorem proving [6, 5, 3, 0, 9]. In line with this trend, I will in this talk show a technique that combines abstract interpretation [4] and theorem proving, inferring program invariants when the theorem prover cannot proceed without them. This is joint work with Francesco Logozzo. To motivate the technique, the talk will also include a demo of the Spec# programming system [2, 10], which makes use of loop-invariant inference, verificationcondition generation, and automatic theorem proving to reason about object-oriented programs.