Enhancing Formal Software Specification with Artificial Intelligence
Antonio Abu Nassar, Eitan Farchi
TL;DR
The paper demonstrates that recent AI advances enable extracting most benefits of formal software specification while substantially reducing notation overhead and required expertise by using natural language augmented with lightweight mathematical notation as an intermediate representation. Through a case study on organizational knowledge growth, it shows that AI-driven reflection, review, and code generation can achieve early validation, explicit invariants, and correctness-by-design, with significantly reduced development effort and often correct first attempts. It identifies and resolves ambiguities around how to separate analyst-controlled aspects from those benefiting from formal rigor, and it integrates Shapley-value style attribution to track contributions across dynamic knowledge sharing. The work emphasizes left-shifting validation, modularization, and agentic workflows, and it provides a platform for comparing strategies (including Monte Carlo averaging) in two simulation settings and more generally informs future AI-assisted, specification-driven software development.
Abstract
Formal software specification is known to enable early error detection and explicit invariants, yet it has seen limited industrial adoption due to its high notation overhead and the expertise required to use traditional formal languages. This paper presents a case study showing that recent advances in artificial intelligence make it possible to retain many of the benefits of formal specification while substantially reducing these costs. The necessity of a clear distinction between what is controlled by the system analyst and can highly benefits from the rigor of formal specification and what need not be controlled is demonstrated. We use natural language augmented with lightweight mathematical notation and written in \LaTeX\ as an intermediate specification language, which is reviewed and refined by AI prior to code generation. Applied to a nontrivial simulation of organizational knowledge growth, this approach enables early validation, explicit invariants, and correctness by design, while significantly reducing development effort and producing a correct implementation on the first attempt.
