Research · Tech Industry & Practitioner
Back to sweepResearch sweep · deep · 1948 – 2026
Information Density and Semantic Determinacy - Formal vs Natural Language
Information density, entropy and semantic determinacy in formal versus natural languages, and what it implies for specifying computation
- Claude Opus 4.8
- academic
- frontier
- blogs
- tech
Synthesised 2026-08-27
Narrative
Practitioner literature on this question clusters around a single, sharpening tension: natural-language prompts are being industrialised as specifications faster than anyone can establish how much behavioural variance they actually leave open. ACM Queue's Eight Myths on Software Engineering and GenAI (Butler, Houck, Storey, Lowdermilk, Clarke and Murphy-Hill, 2026) supplies the cleanest measured number in the lane: rewriting a prompt while preserving its meaning changed the generated code in 46 percent of cases and changed correctness outcomes in 28 percent. That is conditional entropy made concrete, not a rhetorical claim about density. Stack Overflow's 2025 Developer Survey corroborates the practitioner experience of this residual uncertainty from the other direction, recording trust in AI code accuracy falling to 29 percent even as adoption rose to 84 percent, with 66 percent of developers citing output that is almost right but not quite as their top frustration.
The industry's institutional response is spec-driven development, an attempt to reintroduce a formal or semi-formal intermediate artefact between the natural-language prompt and the generated code. Thoughtworks' Technology Radar lists spec-driven development as an active technique, tracking tools such as Amazon's Kiro (covered by InfoQ in August 2025) and GitHub's spec-kit, whose own methodology document is explicit that specifications must be precise, complete and unambiguous enough to generate a working system. Thoughtworks' internal Structured-Prompt-Driven Development writeup by Wei Zhang and Jessie Jie Xia treats prompts themselves as version-controlled, reviewable artefacts specifically to constrain non-determinism, an engineering answer to the same problem the theoretical literature frames as underdetermined behaviour conditional on specification.
Two older strands of practitioner argument bound this new activity. Dijkstra's 1978 EWD667 and Brooks' 1986 No Silver Bullet both hold that no notation, however natural, removes the essential difficulty of specifying behaviour precisely, a position TCG's 2019 rebuttal challenges directly. Amazon's 2015 CACM account of adopting TLA+ remains the strongest industrial evidence that formal specification catches defects testing and code review miss, but it is a narrow, opt-in success at one company rather than a general industry pattern, and DORA's 2025 State of AI-assisted Software Development report finds that AI adoption amplifies whatever technical and organisational discipline a team already has rather than substituting for it. Martin Fowler's site, through Birgitta Böckeler's 2025 pieces, reports the same caution from hands-on experimentation: autonomous AI code generation degrades as application complexity rises, and code itself remains the artefact that actually pins down what a system does.
Evidence quality is uneven across the lane. The Hindle et al. naturalness-of-software result is well replicated in its own terms (lower cross-entropy for code than English under comparable n-gram models) but practitioner outlets rarely state the caveat that this measures token predictability, not semantic determinacy, and several sources in this lane implicitly conflate the two. Requirements-ambiguity research from Berry, Kamsties and Paech is older and thinner on recent measurement; the one genuinely quantified study found trained inspectors miss most ambiguity instances even when primed to look for them, a rare case of measured rather than asserted underdetermination. The freshest and best-measured claims in the lane, on prompt-rewrite variance and developer trust erosion, both date from 2025 to 2026 and deserve more weight than the frequently repeated but thinly sourced formal-methods success stories.
Sources
| ID | Title | Outlet | Date | Significance |
|---|---|---|---|---|
| p1 | How Amazon Web Services Uses Formal Methods | Communications of the ACM | 2015-04 | Chris Newcombe and colleagues' first-hand account of adopting TLA+ in production distributed-systems design at AWS, the most cited industrial case of formal specification catching bugs that code review and testing missed. |
| p2 | On the Naturalness of Software | Communications of the ACM | 2016-05 | Practitioner-facing restatement of Hindle, Barr and Su's ICSE 2012 finding that source code has markedly lower cross-entropy than English text under n-gram models, the core empirical result the brief asks to be reported without folk overreach. |
| p3 | Eight Myths on Software Engineering and GenAI | ACM Queue | 2026-05 | Butler, Houck, Storey, Lowdermilk, Clarke and Murphy-Hill report that a semantically equivalent prompt rewrite changed generated code in 46 percent of cases and changed correctness in 28 percent, a directly measured instance of residual entropy conditional on a natural-language specification. |
| p4 | Structured-Prompt-Driven Development (SPDD) | martinfowler.com | 2026-04 | Wei Zhang and Jessie Jie Xia describe a Thoughtworks internal workflow that treats structured prompts as version-controlled artefacts specifically to narrow the non-determinism of agentic code generation, a live spec-as-disambiguating-residue case. |
| p5 | How far can we push AI autonomy in code generation? | martinfowler.com | 2025-08 | An experiment report finding that generation quality degrades sharply as application complexity rises and that human supervision remains necessary, evidence against the claim that natural-language prompting alone suffices as a specification interface. |
| p6 | I still care about the code | martinfowler.com | 2025-07 | Birgitta Böckeler argues against treating code as a disposable byproduct of prompting, on the grounds that the code remains the only artefact that actually pins down behaviour. |
| p7 | Spec-driven development (Technology Radar technique) | Thoughtworks Technology Radar | 2025 | Thoughtworks' formal assessment of spec-first agentic workflows (Kiro, GitHub spec-kit, Tessl) as an industry response to chat-to-code unpredictability, positioning the specification rather than the code as the maintained artefact. |
| p8 | State of AI-assisted Software Development 2025 | DORA (Google Cloud) | 2025 | The largest survey-based dataset on AI coding adoption and its effect on delivery metrics, reporting that AI amplifies existing team practices rather than substituting for them, directly relevant to whether prompts function as adequate specifications at organisational scale. |
| p9 | Announcing the 2025 DORA Report | Google Cloud Blog | 2025 | Summarises the headline finding that individual output rose (21 percent more tasks, 98 percent more pull requests) while organisational delivery performance stayed flat, separating individual throughput from system-level correctness. |
| p10 | 2025 Stack Overflow Developer Survey: AI section | Stack Overflow | 2025 | Large-sample practitioner data showing trust in AI-generated code accuracy falling to 29 percent even as usage rises to 84 percent, evidence that developers experience the prompt-to-code gap as a live reliability problem, not a solved one. |
| p11 | Developers remain willing but reluctant to use AI: the 2025 Developer Survey results are here | Stack Overflow Blog | 2025-12 | Reports that 66 percent of developers cite AI output that is almost right but not quite as their top frustration, a practitioner articulation of behavioural underdetermination given a natural-language prompt. |
| p12 | Spec-driven development with AI: get started with a new open source toolkit | The GitHub Blog | 2025-09 | GitHub's own framing of specification, not the prompt or the code, as the source of truth in agentic workflows, and the origin of the widely adopted spec-kit toolkit. |
| p13 | spec-kit: spec-driven.md | GitHub (spec-kit repository) | 2025 | The working methodology document behind spec-kit, stating explicitly that executable specifications must be precise, complete and unambiguous enough to generate a working system, an industry-native restatement of the semantic-determinacy problem. |
| p14 | Beyond Vibe Coding: Amazon Introduces Kiro, the Spec-Driven Agentic AI IDE | InfoQ | 2025-08 | Covers AWS's Kiro as a direct product response to the reliability limits of unstructured natural-language prompting, positioning requirements, design and task decomposition as intermediate disambiguating artefacts. |
| p15 | InfoQ Software Architecture and Design Trends Report 2025 | InfoQ | 2025 | Practitioner panel finding that AI-assisted coding tooling for enforcing architectural and coding guidelines lags well behind mature standards like linting, underscoring the absence of a settled disambiguating layer around LLM prompts. |
| p16 | From YAML to Intelligence: The Evolution of Platform Engineering | CNCF Blog | 2025-07 | Traces platform engineering's shift from declarative, formally schema-checked configuration (YAML) toward natural-language-driven agentic interfaces, framing the same specification-versus-ambiguity tradeoff at the infrastructure layer. |
| p17 | On the Wisdom of Natural Language Programming | TCG | 2019-05 | A direct, sustained counter-argument to Dijkstra's EWD667 from a practitioner perspective, useful as the credible pushback the brief asks for on the anti-natural-language-programming tradition. |
| p18 | IEEE Recommended Practice for Software Requirements Specifications (IEEE Std 830-1998) | IEEE | 1998 | The industry standard defining unambiguity as a required attribute of a software requirements specification, the normative practitioner counterpart to academic ambiguity-detection research. |
| p19 | Ambiguity in Natural Language Requirements Specifications (resource page) | University of Waterloo (Daniel Berry) | 2003 | Maintained bibliography and framework from Daniel Berry's group on lexical, syntactic, semantic and pragmatic ambiguity in requirements text, the canonical practitioner-adjacent taxonomy referenced across the requirements-engineering literature. |
| p20 | Resolving Ambiguities in Natural Language Software Requirements: A Comprehensive Survey | ACM SIGSOFT Software Engineering Notes | 2015 | Surveys the split between ambiguity-prevention (controlled languages, formal notations) and ambiguity-detection-and-resolution strategies, mapping the practitioner toolkit onto the theoretical distinction between eliminating and tolerating semantic underdetermination. |
| p21 | The AI Revolution in Software Development: How Generative AI is Reshaping Coding Practices | Harvard Business School Digital Data Design Institute | 2025 | Synthesises longitudinal data on Copilot's effect on developer behaviour, including the finding that productivity gains concentrate among lower-skill developers, relevant to whether an LLM restores a genuinely shared prior or just a differently distributed one. |