AI for software engineering: from probable to provable

📅 2025-11-28
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
AI programming faces two fundamental challenges: (1) the difficulty of precisely formalizing requirements—prompt engineering is, in essence, high-effort requirements engineering—and (2) model hallucination, which compromises the reliability of generated code. This paper proposes a novel paradigm that synergistically integrates AI’s creative capacity with formal methods, shifting from probabilistic code generation to *provably correct* program synthesis. Our core contribution is a *specification-driven AI programming framework*: it takes machine-readable formal specifications (e.g., in TLA⁺ or Coq) as input constraints and leverages lightweight program verification alongside interactive theorem proving to guide large language models in generating and iteratively refining code within strict semantic boundaries. Experimental evaluation demonstrates substantial reductions in hallucination rates and significant improvements in functional correctness and verifiability of synthesized code—establishing a trustworthy pathway for AI-assisted development in safety-critical systems.

Technology Category

Application Category

📝 Abstract
Vibe coding, the much-touted use of AI techniques for programming, faces two overwhelming obstacles: the difficulty of specifying goals ("prompt engineering" is a form of requirements engineering, one of the toughest disciplines of software engineering); and the hallucination phenomenon. Programs are only useful if they are correct or very close to correct. The solution? Combine the creativity of artificial intelligence with the rigor of formal specification methods and the power of formal program verification, supported by modern proof tools.
Problem

Research questions and friction points this paper is trying to address.

Specifying goals for AI programming is difficult
AI-generated programs suffer from hallucination issues
Programs must be correct or nearly correct to be useful
Innovation

Methods, ideas, or system contributions that make the work stand out.

Combining AI creativity with formal specification methods
Integrating formal program verification for correctness
Utilizing modern proof tools to ensure program accuracy
🔎 Similar Papers
No similar papers found.