Abstract

We design learning algorithms for synthesizing invariants using Horn implication counterexamples (Horn-ICE), extending the ICE-learning model. In particular, we describe a decision-tree learning algorithm that learns from nonlinear Horn-ICE samples, works in polynomial time, and uses statistical heuristics to learn small trees that satisfy the samples. Since most verification proofs can be modeled using nonlinear Horn clauses, Horn-ICE learning is a more robust technique to learn inductive annotations that prove programs correct. Our experiments show that an implementation of our algorithm is able to learn adequate inductive invariants and contracts efficiently for a variety of sequential and concurrent programs.

Highlights

  • Synthesizing inductive invariants, including loop invariants, pre/post contracts for functions, and rely-guarantee contracts for concurrent programs, is one of the most important problems in program verification

  • (2) We show that algorithm guarantees that a decision tree consistent with all samples is constructed, provided there exists one

  • We evaluate our algorithm for finding loop invariants and summaries for sequential programs and Rely-Guarantee contracts in concurrent programs

Read more

Summary

Introduction

Synthesizing inductive invariants, including loop invariants, pre/post contracts for functions, and rely-guarantee contracts for concurrent programs, is one of the most important problems in program verification. There are several techniques for finding inductive invariants, including abstract interpretation [Cousot and Cousot 1977], predicate abstraction [Ball et al 2001], interpolation [Jhala and McMillan 2006; McMillan 2003], and IC3 [Bradley 2011]. These techniques are typically white-box techniques that carefully examine the program, evaluating it symbolically or extracting unsatisfiable.

Objectives
Methods
Findings
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.