We present a program verification framework based on coinduction, which makes it feasible to verify programs directly against an operational semantics, without requiring intermediates like axiomatic semantics or verification condition generators. Specifications can be written and proved using any predicates on the state space of the operational semantics. We implement our approach in Coq, giving a certifying language-independent verification framework. The core proof system is implemented as a single module imported unchanged into proofs of programs in any semantics. A comfortable level of automation is provided by instantiating a simple heuristic with tactics for language-specific tasks such as finding the successor of a...
We present a method for automatically generating verification conditions for a class of imperative p...
Previous work on rewriting and reachability logic establishes a vision for a language-agnostic progr...
International audienceA common belief is that formalizing semantics of programming languages require...
We present a program verification framework based on coinduction, which makes it feasible to verif...
We present a program-verification approach based on coinduction, which makes it feasible to verify p...
Abstract. The goal of this lecture is to show how modern theorem provers—in this case, the Coq proof...
AbstractFormal verification methods have gained increased importance due to their ability to guarant...
Formal verification methods have gained increased importance due to their ability to guarantee syste...
We present language-independent formal methods that are parameterized by the operational semantics o...
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engine...
Today’s software systems often use many different computation features and span different abstractio...
The syntax of an imperative language does not mention explicitly the state, while its denotational s...
We implement an OO specification and verification framework VeriJ in the proof assistant Coq. This f...
In this tool description paper we present a certifying code generation phase. Our code generation ph...
I report on an experience using the Coq proof assistant to develop a program verification tool with ...
We present a method for automatically generating verification conditions for a class of imperative p...
Previous work on rewriting and reachability logic establishes a vision for a language-agnostic progr...
International audienceA common belief is that formalizing semantics of programming languages require...
We present a program verification framework based on coinduction, which makes it feasible to verif...
We present a program-verification approach based on coinduction, which makes it feasible to verify p...
Abstract. The goal of this lecture is to show how modern theorem provers—in this case, the Coq proof...
AbstractFormal verification methods have gained increased importance due to their ability to guarant...
Formal verification methods have gained increased importance due to their ability to guarantee syste...
We present language-independent formal methods that are parameterized by the operational semantics o...
A handbook to the Coq software for writing and checking mathematical proofs, with a practical engine...
Today’s software systems often use many different computation features and span different abstractio...
The syntax of an imperative language does not mention explicitly the state, while its denotational s...
We implement an OO specification and verification framework VeriJ in the proof assistant Coq. This f...
In this tool description paper we present a certifying code generation phase. Our code generation ph...
I report on an experience using the Coq proof assistant to develop a program verification tool with ...
We present a method for automatically generating verification conditions for a class of imperative p...
Previous work on rewriting and reachability logic establishes a vision for a language-agnostic progr...
International audienceA common belief is that formalizing semantics of programming languages require...