Horn-ICE Learning for Synthesizing Invariants and Contracts
summary
Algorithm extends ICE to Horn-ICE and claims it synthesizes inductive invariants and contracts for recursive and concurrent code by learning decision trees from Horn implication counterexamples. Implementation sits on Microsoft Boogie, adds a new incremental Horn solver, and a polynomial-time learner that uses statistical heuristics to build small trees. Evaluation on recursive benchmarks compares to Ultimate Automizer: solves roughly the same number but is order of magnitude faster on most cases. The system is implemented and experimentally effective, with heuristic choices driving remaining variability.
AI-written summary · about
