We present the foundations of a verifier for higher-order functional programs with generics and recursive algebraic data types. Our ver- ifier supports finding sound proofs and counterexamples even in the presence of certain quantified invariants and recursive functions. Our approach uses the same language to describe programs and in- variants and uses semantic criteria for establishing termination. Our implementation makes effective use of SMT solvers by encoding first-class functions and quantifiers into a quantifier-free fragment of first-order logic with theories. We are able to specify properties of datastructure operations involving higher-order functions with minimal annotation overhead and verify them with a high degree of automatio...
Abstract. We present a semi-decision procedure for checking satisfia-bility of formulas in the langu...
The theory of finite term algebras provides a natural framework to describe the semantics of functio...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
We present an automated approach to relatively completely veri-fying safety (i.e., reachability) pro...
We present a verification procedure for pure higher-order functional Scala programs with parametric ...
We present an automated approach to relatively completely verifying safety (i.e., reachability) prop...
Formal verification of real-world software systems remains challenging for a number of reasons, incl...
This paper describes a fully automatic technique for verifying properties of higher-order functional...
International audienceThis paper describes a fully automatic technique for verifying safety properti...
Type-based model checking algorithms for higher-order recursion schemes have recently emerged as a p...
Abstract. To support verification of expressive properties of functional programs, we consider algeb...
We describe a parameterized decision procedure that extends the decision procedure for functional re...
Procedures for first-order logic with equality are used in many modern theorem provers and solvers, ...
We develop quantifier elimination procedures for a fragment of higher order logic arising from the f...
The theory of finite term algebras provides a natural framework to describe the semantics of functio...
Abstract. We present a semi-decision procedure for checking satisfia-bility of formulas in the langu...
The theory of finite term algebras provides a natural framework to describe the semantics of functio...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...
We present an automated approach to relatively completely veri-fying safety (i.e., reachability) pro...
We present a verification procedure for pure higher-order functional Scala programs with parametric ...
We present an automated approach to relatively completely verifying safety (i.e., reachability) prop...
Formal verification of real-world software systems remains challenging for a number of reasons, incl...
This paper describes a fully automatic technique for verifying properties of higher-order functional...
International audienceThis paper describes a fully automatic technique for verifying safety properti...
Type-based model checking algorithms for higher-order recursion schemes have recently emerged as a p...
Abstract. To support verification of expressive properties of functional programs, we consider algeb...
We describe a parameterized decision procedure that extends the decision procedure for functional re...
Procedures for first-order logic with equality are used in many modern theorem provers and solvers, ...
We develop quantifier elimination procedures for a fragment of higher order logic arising from the f...
The theory of finite term algebras provides a natural framework to describe the semantics of functio...
Abstract. We present a semi-decision procedure for checking satisfia-bility of formulas in the langu...
The theory of finite term algebras provides a natural framework to describe the semantics of functio...
Static analysis of program semantics can be used to provide strong guarantees about the correctness ...