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

· Source: cs.SE updates on arXiv.org · Field: Technology & Digital — Artificial Intelligence & Machine Learning, Software Development & Engineering · Depth: Expert, extended

Summary

Diversify2Verify is a staged LLM-based pipeline designed to enhance automated program verifiability in Why3 by generating diverse task-equivalent implementations. It infers representation-specific contracts, generates recursive and imperative array/list implementations, and attempts verification with bounded verifier-guided annotation repair. Utilizing a benchmark of 73 tasks, which produced 292 implementation variants, Diversify2Verify initially verified 96 artifacts (32.9%). After two repair passes, this improved to 154 verified artifacts (52.7%). At the task level, at least one variant was verified for 49 of 73 tasks, achieving a 67.1% success rate. These findings highlight that implementation structure significantly influences verifiability and that diversity aids in finding verification-friendly artifacts.

Key takeaway

For Research Scientists and Software Engineers aiming to generate formally verified software, recognize that task-equivalent implementations vary significantly in verifiability. You should actively diversify implementation styles, such as recursive vs. imperative or array vs. list, to increase the likelihood of finding a verification-friendly artifact. Implement a staged pipeline, separating contract generation from implementation and proof annotation, and utilize bounded, verifier-guided repair to improve success rates.

Key insights

Task-equivalent program implementations differ in verifiability, and generating diverse variants improves verification success.

Principles

Method

Diversify2Verify uses a staged LLM pipeline: contract inference, diverse implementation generation (array/list, recursive/imperative), and verifier-guided annotation repair.

In practice

Topics

Code references

Best for: AI Scientist, Research Scientist, Software Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by cs.SE updates on arXiv.org.