Position: Vibe Coding Needs Vibe Reasoning: Improving Vibe Coding with Formal Verification
Jacqueline Mitchell, Yasser Shaaban

TL;DR
This paper proposes a formal verification-based system to enhance vibe coding with large language models, aiming to reduce technical debt and improve code reliability by integrating formal methods into the development process.
Contribution
It introduces a novel side-car system that autoformalizes specifications, validates code, provides actionable feedback, and supports developer influence, surpassing existing LLM-formal method integrations.
Findings
Formal methods can mitigate technical debt in vibe coding.
The proposed system improves code reliability and consistency.
Enhanced developer control over specifications is achievable.
Abstract
``Vibe coding'' -- the practice of developing software through iteratively conversing with a large language model (LLM) -- has exploded in popularity within the last year. However, developers report key limitations including the accumulation of technical debt, security issues, and code churn to achieve satisfactory results. We argue that these pitfalls result from LLMs' inability to reconcile accumulating human-imposed constraints during vibe coding, with developers inadvertently failing to resolve contradictions because LLMs prioritize user commands over code consistency. Given LLMs' receptiveness to verification-based feedback, we argue that formal methods can mitigate these pitfalls, making vibe coding more reliable. However, we posit that integrating formal methods must transcend existing approaches that combine formal methods and LLMs. We advocate for a side-car system throughout…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Software Engineering Methodologies · Software Engineering Techniques and Practices
