🤖 AI Summary
This work addresses the challenge of automatically inferring loop invariants in programs with multiple interacting loops. It proposes a novel neurosymbolic framework that uniquely integrates obligation-guided reasoning with weakest precondition refinement, explicitly modeling inter-loop dependencies through loop-level abstractions and propagating proof obligations accordingly. By synergistically combining large language models with formal verification techniques, the approach introduces a deductive feedback mechanism to iteratively refine candidate invariants. Evaluated on a new benchmark comprising classical algorithms, the method successfully solves 72 out of 82 multi-loop problems, substantially outperforming existing approaches, while also maintaining state-of-the-art performance on single-loop tasks.
📝 Abstract
Loop invariant inference is a fundamental yet challenging problem in program verification. Recent LLM-aided guess-and-check techniques have shown strong performance on single-loop programs, but they often struggle with programs containing multiple interacting loops. This paper presents InvWeaver, a neuro-symbolic framework for synthesizing invariants for such programs. The key idea is to expose inter-loop dependencies and propagate proof obligations through a combination of loop-level abstraction, obligation-guided inference, and weakest-precondition-based refinement. We evaluate InvWeaver on a comprehensive benchmark suite, including a newly curated dataset derived from classic algorithms. Experimental results show that InvWeaver substantially outperforms existing invariant inference methods, solving 72 out of 82 multi-loop benchmark problems and maintaining strong performance on single-loop tasks.