Authors
Rahul Sharma, Alex Aiken
Publication date
2016/6/1
Journal
Formal Methods in System Design
Volume
48
Issue
3
Pages
235-256
Publisher
Springer US
Description
We describe a general framework c2i for generating an invariant inference procedure from an invariant checking procedure. Given a checker and a language of possible invariants, c2i generates an inference procedure that iteratively invokes two phases. The search phase uses randomized search to discover candidate invariants and the validate phase uses the checker to either prove or refute that the candidate is an actual invariant. To demonstrate the applicability of c2i , we use it to generate inference procedures that prove safety properties of numerical programs, prove non-termination of numerical programs, prove functional specifications of array manipulating programs, prove safety properties of string manipulating programs, and prove functional specifications of heap manipulating programs that use linked list data structures.
Total citations
2015201620172018201920202021202220232024121514161624716163
Scholar articles