We present an extension to an on-demand abstraction framework, which integrates deductive verification and abstract interpretation. Our extension allows for a significantly higher precision when reasoning about programs containing arrays. We demonstrate the usefulness of our approach in the context of reasoning about secure information flow. In addition to abstracting arrays that may have been modified, our approach can also keep full precision while adding additional information about array elements which have been only read but not modified
International audienceArray bound checking and array dependency analysis (for parallelization) have ...
AbstractPredicate abstraction is a form of abstract interpretation where the abstract domain is cons...
We present a methodology for constructing abstractions and refining them by analyzing counter-exampl...
Completeness in abstract interpretation models the ideal situation where no loss of precision is int...
We outline an approach to use ordering-based theorem-proving strategies as satisfiability procedures...
International audienceThis paper presents a framework to abstract data structures within Horn clause...
Abstract. Verification seeks to prove or refute putative properties of a given program. Deductive ve...
International audienceProving properties on programs accessing data structures such as arrays often ...
Verification seeks to prove or refute putative properties of a given program. Deductive verificatio...
Predicate abstraction refinement is one of the leading approaches to software verification. The key ...
Lazy abstraction with interpolation-based refinement has been shown to be a powerful technique for v...
Lazy abstraction with interpolants has been shown to be a powerful technique for verifying imperativ...
Buffer overflow vulnerabilities are the result of programing errors that allow out-of-bounds writes ...
We present a methodology for constructing abstractions and refining them by analyzing counter-examp...
We argue that the naive use of the imperative style of working witharrays in a declarative setting l...
International audienceArray bound checking and array dependency analysis (for parallelization) have ...
AbstractPredicate abstraction is a form of abstract interpretation where the abstract domain is cons...
We present a methodology for constructing abstractions and refining them by analyzing counter-exampl...
Completeness in abstract interpretation models the ideal situation where no loss of precision is int...
We outline an approach to use ordering-based theorem-proving strategies as satisfiability procedures...
International audienceThis paper presents a framework to abstract data structures within Horn clause...
Abstract. Verification seeks to prove or refute putative properties of a given program. Deductive ve...
International audienceProving properties on programs accessing data structures such as arrays often ...
Verification seeks to prove or refute putative properties of a given program. Deductive verificatio...
Predicate abstraction refinement is one of the leading approaches to software verification. The key ...
Lazy abstraction with interpolation-based refinement has been shown to be a powerful technique for v...
Lazy abstraction with interpolants has been shown to be a powerful technique for verifying imperativ...
Buffer overflow vulnerabilities are the result of programing errors that allow out-of-bounds writes ...
We present a methodology for constructing abstractions and refining them by analyzing counter-examp...
We argue that the naive use of the imperative style of working witharrays in a declarative setting l...
International audienceArray bound checking and array dependency analysis (for parallelization) have ...
AbstractPredicate abstraction is a form of abstract interpretation where the abstract domain is cons...
We present a methodology for constructing abstractions and refining them by analyzing counter-exampl...