SEAILOJul 10

Diversifying to Verify: When Task-Equivalent Programs Differ in Verifiability

arXiv:2607.0936616.1h-index: 5
Predicted impact top 18% in SE · last 90 daysOriginality Incremental advance
AI Analysis

For developers using automated verification, this work shows that generating diverse implementations can significantly increase the chance of successful verification, addressing a practical bottleneck in software correctness.

The paper investigates whether different implementations of the same task vary in automated verifiability, and presents Diversify2Verify, a pipeline that improves artifact-level verification from 32.9% to 52.7% and achieves a 67.1% task-level success rate across 73 tasks.

Program verification is crucial for software correctness, but producing fully verified programs remains difficult in practice. This paper studies whether implementation structure affects automated verifiability when multiple generated programs are intended to satisfy the same task-level semantics. We present Diversify2Verify, a staged LLM-based pipeline for Why3 that infers representation-specific contracts, generates and tests diverse recursive and imperative array/list implementations, and attempts verification with bounded verifier-guided annotation repair. We also construct a verification-oriented benchmark of 73 tasks over integers, arrays, and lists, yielding 292 implementation variants. Diversify2Verify verifies 96 artifacts initially and 154 after two repair passes, improving artifact-level verification from 32.9% to 52.7%. At the task level, at least one variant verifies for 49 of 73 tasks, a 67.1% success rate. These results show that task-equivalent implementations can differ substantially in verifiability and that implementation diversity helps find verification-friendly artifacts.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes