🤖 AI Summary
Existing program verification approaches struggle to reliably identify skill deficiencies and extract actionable improvement signals from ambiguous feedback. This work proposes the first skill self-evolution framework tailored for program verification, which attributes verification failures to specific skill gaps, extracts diagnostic features as reusable experience, and selectively adopts only those skill revisions that enhance verification performance while preserving program semantics. Integrating large language model agents, verification trajectory analysis, diagnostic signature extraction, and an iterative optimization mechanism under semantic constraints, the framework consistently outperforms current baselines across diverse verification tools, agent architectures, and large model backends, thereby overcoming the limitations of traditional self-evolution methods in complex verification scenarios.
📝 Abstract
Automating program verification with LLM agents requires generating specifications, annotations, auxiliary lemmas, and tool invocations, all of which depend on reusable skills. A natural remedy is skill self-evolution: distilling skills from trajectories and refining them through feedback. However, existing evolution methods struggle with program verification tasks because they cannot reliably identify skill-specific failures or extract actionable signals from opaque verifier feedback. In this paper, we propose VeriSkill, a self-evolution framework built for program verification. It attributes verification failures to skill deficiencies, distills diagnostic signatures into reusable lessons, and iteratively refines candidate skills, admitting only revisions that improve verification performance while preserving program semantics. Experiments show that VeriSkill consistently outperforms all baselines across multiple verification tools, agent frameworks, and LLM backends.