Specifications Are Coming

Published on Aug 19, 2025
1 min read

Specifications are documents that describe how software should behave and what functions it must perform. In other words, they are another implementation that exists independently of the actual program. By leveraging specifications, we can verify that our software is constructed correctly, which improves its safety and reliability.

Yet maintaining specifications is hard and boring. Because specifications do not directly improve performance or features, most companies neglect them. Once a specification falls behind, it quickly degrades into legacy that nobody reads or maintains.

But with the advent of AI developers, the situation has completely changed. The most important thing when working with AI developers is to provide detailed, concrete objectives. In short, specification writing becomes the most important element.

Now we must consider how to write specifications well. Methods and tools for writing specifications are still less mature than programming itself. I predict future programming systems research to focus on specification writing and its related areas.

Let’s imagine an ideal programming system: Human programmers write a specification, and AI developers implement the program according to the specification. If human changes the specification, AI developers update the program. Equivalence between specification and implementation is proven by AI-based verification engine automatically.