C:C07
Chapter 7: Independent Verification and the Oracle Problem
A guide to the published second edition, with literal citations separated from wider editorial reading suggestions.
Chapter guide
Builds independent verification around authorized behavior. Regression cases, properties, counterexamples and mutants expose circular testing; correlated checker errors and benchmark limits motivate an evidence dossier that supports review without granting the maker acceptance authority.
Sintesi in italiano
Costruisce la verifica indipendente a partire dal comportamento autorizzato. Regressioni, proprietà, controesempi e mutanti rivelano i test circolari; errori correlati dei checker e limiti dei benchmark motivano un dossier di evidenze senza attribuire al maker l'autorità di accettazione.
Learning goals
- derive an independent oracle from authorized behavior
- use counterexamples and mutants to reveal circular testing
- assemble a dossier that allows another person to decide whether a candidate is ready for review
Obiettivi in italiano
Obiettivi di apprendimento
- ricavare un oracle indipendente dal comportamento autorizzato
- usare controesempi e mutant per smascherare i test circolari
- preparare un dossier di evidenze che consenta a un'altra persona di decidere se una modifica candidata sia pronta per la review
Chapter outline
- 7.1 The oracle problem in AI-generated software
- 7.2 A hierarchy of evidence
- 7.3 Preventing bug-shaped test generation
- 7.4 Regression tests for existing and changed behavior
- 7.5 Properties and adversarial counterexamples
- 7.6 Benchmark success versus merge readiness
- 7.7 Independent checkers and correlated error
- 7.8 Bounded repair versus independent acceptance
- 7.9 The acceptance evidence dossier
- 7.10 Worked engineering example: make wrong behavior fail independently
- 7.11 Practice exercise: build an oracle the maker does not control
Struttura del capitolo
- 7.1 Il problema dell'oracle nel software generato dall'AI
- 7.2 Una gerarchia delle evidenze
- 7.3 Evitare test modellati sui bug
- 7.4 Regression test per comportamenti esistenti e modificati
- 7.5 Proprietà e controesempi avversariali
- 7.6 Successo nei benchmark e prontezza al merge
- 7.7 Checker indipendenti ed errori correlati
- 7.8 Correzione delimitata e accettazione indipendente
- 7.9 Il dossier delle evidenze per l'accettazione
- 7.10 Esempio svolto: far fallire autonomamente il comportamento errato
- 7.11 Esercizio: costruire un oracle che il maker non controlla
Cited in the published chapter
19 linked atlas references from literal citations in the English and Italian editions. General bibliography membership and identifier-index entries are counted separately.
SE@PoliMi bibliography 18
- W038 — Guiding AI to Fix Its Own Flaws: An Empirical Study on LLM-Driven Secure Code Generation
Yan · 2026 - W045 — Is Vibe Coding Safe? Benchmarking Vulnerability of Agent-Generated Code in Real-World Tasks
Zhao · 2025 - W068 — Behind Agentic Pull Requests: An Empirical Study on Developer Interventions in AI Agent-Authored Pull Requests
Khelifi · 2026 - W071 — Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study
Peralta · 2026 - W077 — Evaluating and Mitigating the Misguidance Effect of Buggy Code in LLM-Generated Unit Tests
Zhao · 2026 - W079 — Correlated Errors in Large Language Models
Kim · 2025 - W080 — Unit Testing Past vs. Present: Examining LLMs' Impact on Defect Detection and Efficiency
Ramler · 2025 - W082 — LLM Evaluators Recognize and Favor Their Own Generations
Panickssery · 2024 - W095 — Beyond Code Generation: Reliability, Verification, and Cost Economics in the Agentic Software Development Lifecycle
Bhati · 2026 - W097 — Programmers Are Poor and Overconfident Judges of LLM-Generated Assertions
Kaufman · 2026 - W099 — From Code Review to Code Critique: Intent, Drift, and Spotlight for AI-Generated Diffs at Scale
Maddila · 2026 - W101 — Articulate but Wrong: Self-Review Failures in LLM-Based Code Modernization
Purnachandra Reddy · 2026 - W111 — Many SWE-bench-Passing PRs Would Not Be Merged into Main
Whitfill · 2026 - W148 — SOEN-101: Code Generation by Emulating Software Process Models Using Large Language Model Agents
Lin · 2026 - W150 — We Permit the Use of AI, but [...]: The Landscape of AI Policies in Popular Open Source Projects
Hora · 2026 - W151 — Blueprint First, Model Second: A Framework for Deterministic LLM Workflow
Qiu · 2026 - W192 — AIDev: Studying AI Coding Agents on GitHub
Li · 2026 - W193 — MirrorCode: Evidence that AI can already do some weeks-long coding tasks
METR / Epoch AI · 2026
The Pragmatic Engineer 1
- P006 — How to debug large, distributed systems: Antithesis
Gergely Orosz; Elin Nilsson · 2024-11-12
Trace literal citations to chapter sections
Locations come from the supplied English and Italian source files. Chapter text and figure captions are identified separately; identifier-index references and general bibliography membership are not treated as chapter citations.
- P006 · How to debug large, distributed systems: Antithesis
- EN · Properties and adversarial counterexamples
EN/chapters/chapter07.tex:74 - ITA · Proprietà e controesempi avversariali
ITA/chapters/chapter07.tex:74
- EN · Properties and adversarial counterexamples
- W038 · Guiding AI to Fix Its Own Flaws: An Empirical Study on LLM-Driven Secure Code Generation
- EN · Properties and adversarial counterexamples
EN/chapters/chapter07.tex:81 - ITA · Proprietà e controesempi avversariali
ITA/chapters/chapter07.tex:81
- EN · Properties and adversarial counterexamples
- W045 · Is Vibe Coding Safe? Benchmarking Vulnerability of Agent-Generated Code in Real-World Tasks
- EN · Properties and adversarial counterexamples
EN/chapters/chapter07.tex:81 - ITA · Proprietà e controesempi avversariali
ITA/chapters/chapter07.tex:81
- EN · Properties and adversarial counterexamples
- W068 · Behind Agentic Pull Requests: An Empirical Study on Developer Interventions in AI Agent-Authored Pull Requests
- EN · Benchmark success versus merge readiness
EN/chapters/chapter07.tex:87 - ITA · Successo nei benchmark e prontezza al merge
ITA/chapters/chapter07.tex:87
- EN · Benchmark success versus merge readiness
- W071 · Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study
- EN · Benchmark success versus merge readiness
EN/chapters/chapter07.tex:87 - ITA · Successo nei benchmark e prontezza al merge
ITA/chapters/chapter07.tex:87
- EN · Benchmark success versus merge readiness
- W077 · Evaluating and Mitigating the Misguidance Effect of Buggy Code in LLM-Generated Unit Tests
- EN · The oracle problem in AI-generated software
EN/chapters/chapter07.tex:17 - EN · Preventing bug-shaped test generation
EN/chapters/chapter07.tex:39 - EN · Regression tests for existing and changed behavior
EN/chapters/chapter07.tex:59 - ITA · Il problema dell'oracle nel software generato dall'AI
ITA/chapters/chapter07.tex:17 - ITA · Evitare test modellati sui bug
ITA/chapters/chapter07.tex:39 - ITA · Regression test per comportamenti esistenti e modificati
ITA/chapters/chapter07.tex:59
- EN · The oracle problem in AI-generated software
- W079 · Correlated Errors in Large Language Models
- EN · Independent checkers and correlated error
EN/chapters/chapter07.tex:98 - ITA · Checker indipendenti ed errori correlati
ITA/chapters/chapter07.tex:98
- EN · Independent checkers and correlated error
- W080 · Unit Testing Past vs. Present: Examining LLMs' Impact on Defect Detection and Efficiency
- EN · A hierarchy of evidence
EN/chapters/chapter07.tex:31 - EN · Regression tests for existing and changed behavior
EN/chapters/chapter07.tex:59 - ITA · Una gerarchia delle evidenze
ITA/chapters/chapter07.tex:31 - ITA · Regression test per comportamenti esistenti e modificati
ITA/chapters/chapter07.tex:59
- EN · A hierarchy of evidence
- W082 · LLM Evaluators Recognize and Favor Their Own Generations
- EN · Independent checkers and correlated error
EN/chapters/chapter07.tex:98 - ITA · Checker indipendenti ed errori correlati
ITA/chapters/chapter07.tex:98
- EN · Independent checkers and correlated error
- W095 · Beyond Code Generation: Reliability, Verification, and Cost Economics in the Agentic Software Development Lifecycle
- EN · A hierarchy of evidence
EN/chapters/chapter07.tex:31 - EN · Bounded repair versus independent acceptance
EN/chapters/chapter07.tex:136 - ITA · Una gerarchia delle evidenze
ITA/chapters/chapter07.tex:31 - ITA · Correzione delimitata e accettazione indipendente
ITA/chapters/chapter07.tex:136
- EN · A hierarchy of evidence
- W097 · Programmers Are Poor and Overconfident Judges of LLM-Generated Assertions
- EN · The oracle problem in AI-generated software
EN/chapters/chapter07.tex:19 - EN · Independent checkers and correlated error
EN/chapters/chapter07.tex:96 - ITA · Il problema dell'oracle nel software generato dall'AI
ITA/chapters/chapter07.tex:19 - ITA · Checker indipendenti ed errori correlati
ITA/chapters/chapter07.tex:96
- EN · The oracle problem in AI-generated software
- W099 · From Code Review to Code Critique: Intent, Drift, and Spotlight for AI-Generated Diffs at Scale
- EN · The acceptance evidence dossier
EN/chapters/chapter07.tex:160 - ITA · Il dossier delle evidenze per l'accettazione
ITA/chapters/chapter07.tex:160
- EN · The acceptance evidence dossier
- W101 · Articulate but Wrong: Self-Review Failures in LLM-Based Code Modernization
- EN · Preventing bug-shaped test generation
EN/chapters/chapter07.tex:43 - EN · Bounded repair versus independent acceptance
EN/chapters/chapter07.tex:136 - ITA · Evitare test modellati sui bug
ITA/chapters/chapter07.tex:43 - ITA · Correzione delimitata e accettazione indipendente
ITA/chapters/chapter07.tex:136
- EN · Preventing bug-shaped test generation
- W111 · Many SWE-bench-Passing PRs Would Not Be Merged into Main
- EN · A hierarchy of evidence
EN/chapters/chapter07.tex:31 - EN · Benchmark success versus merge readiness
EN/chapters/chapter07.tex:87 - EN · The acceptance evidence dossier
EN/chapters/chapter07.tex:160 - ITA · Una gerarchia delle evidenze
ITA/chapters/chapter07.tex:31 - ITA · Successo nei benchmark e prontezza al merge
ITA/chapters/chapter07.tex:87 - ITA · Il dossier delle evidenze per l'accettazione
ITA/chapters/chapter07.tex:160
- EN · A hierarchy of evidence
- W148 · SOEN-101: Code Generation by Emulating Software Process Models Using Large Language Model Agents
- EN · Regression tests for existing and changed behavior
EN/chapters/chapter07.tex:59 - ITA · Regression test per comportamenti esistenti e modificati
ITA/chapters/chapter07.tex:59
- EN · Regression tests for existing and changed behavior
- W150 · We Permit the Use of AI, but [...]: The Landscape of AI Policies in Popular Open Source Projects
- EN · The acceptance evidence dossier
EN/chapters/chapter07.tex:160 - ITA · Il dossier delle evidenze per l'accettazione
ITA/chapters/chapter07.tex:160
- EN · The acceptance evidence dossier
- W151 · Blueprint First, Model Second: A Framework for Deterministic LLM Workflow
- EN · Bounded repair versus independent acceptance
EN/chapters/chapter07.tex:136 - ITA · Correzione delimitata e accettazione indipendente
ITA/chapters/chapter07.tex:136
- EN · Bounded repair versus independent acceptance
- W192 · AIDev: Studying AI Coding Agents on GitHub
- EN · Benchmark success versus merge readiness
EN/chapters/chapter07.tex:87 - ITA · Successo nei benchmark e prontezza al merge
ITA/chapters/chapter07.tex:87
- EN · Benchmark success versus merge readiness
- W193 · MirrorCode: Evidence that AI can already do some weeks-long coding tasks
- EN · Benchmark success versus merge readiness
EN/chapters/chapter07.tex:88 - ITA · Successo nei benchmark e prontezza al merge
ITA/chapters/chapter07.tex:88
- EN · Benchmark success versus merge readiness
Editorial reading mappings
Broader topical suggestions can overlap the cited sources. A mapping does not add a citation to the published edition or establish that a practice is effective.
SE@PoliMi bibliography 69
- W011 — The Productivity-Reliability Paradox: Specification-Driven Governance for AI-Augmented Software Development
Farrag · 2026 - W028 — The AI Revolution in Software Development
Relyea · 2026 - W032 — Understanding the Impact of AI Code Assistants on Security API Usage
Mousavi · 2026 - W038 — Guiding AI to Fix Its Own Flaws: An Empirical Study on LLM-Driven Secure Code Generation
Yan · 2026 - W045 — Is Vibe Coding Safe? Benchmarking Vulnerability of Agent-Generated Code in Real-World Tasks
Zhao · 2025 - W061 — 2025 GenAI Code Security Report
Veracode · 2025 - W062 — Vibe Security Radar
Zhao · 2026 - W063 — An Endless Stream of AI Slop: How Developers Discuss the Burden of AI-Assisted Software Development
Baltes · 2026 - W064 — Studying Quality Improvements Recommended via Manual and Automated Code Review
Crupi · 2026 - W065 — These Aren't the Reviews You're Looking For: How Humans Review AI-Generated Pull Requests
Duma · 2026 - W066 — Evaluating the Impact of Explainable AI on Trust in AI-Assisted Code Review
Gao · 2026 - W067 — (Don't) Trust, but (Don't) Verify: Developers' Attention to Security in AI-Generated Code
Khalid · 2026 - W068 — Behind Agentic Pull Requests: An Empirical Study on Developer Interventions in AI Agent-Authored Pull Requests
Khelifi · 2026 - W069 — Same Scrutiny, More Time: Eye Tracking Insights into Reviewing LLM-Labelled Code
Khojah · 2026 - W070 — Impact of an LLM-based Review Assistant in Practice: A Mixed Open-/Closed-source Case Study
Olewicki · 2026 - W071 — Why Are Agentic Pull Requests Merged or Rejected? An Empirical Study
Peralta · 2026 - W072 — AI-to-AI Code Reviews of GitHub Pull Requests
Selvanayagam · 2026 - W073 — The Effect of Complexity and Provenance on Code Review Decisions: Evidence from a Controlled Experiment
Singh · 2026 - W074 — RovoDev Code Reviewer: A Large-Scale Online Evaluation of LLM-based Code Review Automation at Atlassian
Tantithamthavorn · 2026 - W075 — Self-Correction Bench: Uncovering and Addressing the Self-Correction Blind Spot in LLMs
Tsui · 2026 - W076 — SWR-Bench: Assessing LLM Performance in Real-World Code Review Comment Generation
Zeng · 2026 - W077 — Evaluating and Mitigating the Misguidance Effect of Buggy Code in LLM-Generated Unit Tests
Zhao · 2026 - W078 — Beyond the Surface: Measuring Self-Preference in LLM Judgments
Chen · 2025 - W079 — Correlated Errors in Large Language Models
Kim · 2025 - W080 — Unit Testing Past vs. Present: Examining LLMs' Impact on Defect Detection and Efficiency
Ramler · 2025 - W081 — Deep Learning-based Code Reviews: A Paradigm Shift or a Double-Edged Sword?
Tufano · 2025 - W082 — LLM Evaluators Recognize and Favor Their Own Generations
Panickssery · 2024 - W083 — A Study on Developer Behaviors for Validating and Repairing LLM-Generated Code Using Eye Tracking and IDE Actions
Tang · 2024 - W084 — Self-Preference Bias in LLM-as-a-Judge
Wataoka · 2024 - W085 — Automation Bias in Mammography: The Impact of Artificial Intelligence BI-RADS Suggestions on Reader Performance
Dratsch · 2023 - W086 — Quality Evaluation of Modern Code Reviews Through Intelligent Biometric Program Comprehension
Hijazi · 2023 - W087 — Do as AI say: susceptibility in deployment of clinical decision-aids
Gaube · 2021 - W088 — Trustworthiness Perceptions in Code Review: An Eye-tracking Study
Bertram · 2020 - W089 — The Role of Domain Expertise in User Trust and the Impact of First Impressions with Intelligent Systems
Nourani · 2020 - W090 — Decoding the Representation of Code in the Brain: An fMRI Study of Code Review and Expertise
Floyd · 2017 - W091 — Automation bias and verification complexity: a systematic review
Lyell · 2017 - W092 — Complacency and Bias in Human Use of Automation: An Attentional Integration
Parasuraman · 2010 - W093 — Automating Low-Risk Code Review at Meta: RADAR, Risk Calibration, and Review Efficiency
Adams · 2026 - W094 — AI Slop is DDoSing Open Source: Understanding the Impact of AI-Generated Contributions on Open Source Sustainability
Afroz · 2026 - W095 — Beyond Code Generation: Reliability, Verification, and Cost Economics in the Agentic Software Development Lifecycle
Bhati · 2026 - W096 — Go Home Copilot, You're Drunk: Understanding Developer Responses to Agent-Generated Code Review Comments
Cynthia · 2026 - W097 — Programmers Are Poor and Overconfident Judges of LLM-Generated Assertions
Kaufman · 2026 - W098 — Is Agentic Code Review Helpful? Mining Developers' Feedback to CodeRabbit Reviews in the Wild
Lin · 2026 - W099 — From Code Review to Code Critique: Intent, Drift, and Spotlight for AI-Generated Diffs at Scale
Maddila · 2026 - W100 — The End of Code Review: Coding Agents Supersede Human Inspection
Monperrus · 2026 - W101 — Articulate but Wrong: Self-Review Failures in LLM-Based Code Modernization
Purnachandra Reddy · 2026 - W102 — Cross-Model LLM Code Review: Should You Use Claude to Review Codex or Vice Versa?
Xiang · 2026 - W103 — An Eye for Trust: An Exploration of Developers' Trust Perceptions Through Urgency and Reputation
Yabesi · 2026 - W104 — Coding with Enemy: Can Human Developers Detect AI Agent Sabotage?
Ye · 2026 - W105 — Beyond Lexical Metrics: Sentence-Embedding Detection of Reviewer Habituation in AI Code Review
Yu · 2026 - W106 — Code Review Agent Benchmark (c-CRAB)
Zhang · 2026 - W107 — Human-AI Synergy in Agentic Code Review
Zhong · 2026 - W108 — Do LLM Evaluators Prefer Themselves for a Reason?
Chen · 2025 - W109 — LLM Critics Help Catch LLM Bugs
McAleese · 2024 - W110 — Overreliance on AI: Literature Review
Passi · 2022 - W111 — Many SWE-bench-Passing PRs Would Not Be Merged into Main
Whitfill · 2026 - W116 — Using Biometrics to Understand AI-Assisted Coding Performance and its Perception
Burelli · 2026 - W118 — How AI Impacts Skill Formation
Shen · 2026 - W120 — Automation, AI, and the Intergenerational Transmission of Knowledge
Ide · 2026 - W121 — Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task
Kosmyna · 2025 - W148 — SOEN-101: Code Generation by Emulating Software Process Models Using Large Language Model Agents
Lin · 2026 - W150 — We Permit the Use of AI, but [...]: The Landscape of AI Policies in Popular Open Source Projects
Hora · 2026 - W151 — Blueprint First, Model Second: A Framework for Deterministic LLM Workflow
Qiu · 2026 - W155 — ChatGPT: Friend or Foe When Comprehending and Changing Unfamiliar Code
Anderson · 2026 - W156 — LACY: Simulating Expert Mentoring for Software Onboarding with Code Tours
Kara · 2026 - W162 — 40 Years of Designing Code Comprehension Experiments: A Systematic Mapping Study
Wyrich · 2024 - W191 — Where Do AI Coding Agents Fail? An Empirical Study of Failed Agentic Pull Requests in GitHub
Ehsani · 2026 - W192 — AIDev: Studying AI Coding Agents on GitHub
Li · 2026 - W193 — MirrorCode: Evidence that AI can already do some weeks-long coding tasks
METR / Epoch AI · 2026
Addy Osmani 3
- O033 — The "Trust, But Verify" Pattern For AI-Assisted Engineering
Addy Osmani · 2025-06-09 - O043 — Applied "Software Engineering at Google"
Addy Osmani · 2025-03-06 - O051 — Agentic Verification
Addy Osmani · 2026-10-14
The Pragmatic Engineer 8
- P006 — How to debug large, distributed systems: Antithesis
Gergely Orosz; Elin Nilsson · 2024-11-12 - P020 — Taking on Google search: Perplexity and Kagi
Gergely Orosz · 2025-01-28 - P032 — AI Engineering in the real world
Gergely Orosz · 2025-03-25 - P039 — Building, launching, and scaling ChatGPT Images
Gergely Orosz · 2025-05-13 - P041 — The AI Engineering Stack
Gergely Orosz; Chip Huyen · 2025-05-20 - P075 — A pragmatic guide to LLM evals for devs
Gergely Orosz; Hamel Husain · 2025-12-02 - P087 — How Codex is built
Gergely Orosz · 2026-02-17 - P124 — Building resilient AI-powered software, and planning for when things go wrong
Gergely Orosz (introduction); Sam Newman (excerpts) · 2026-10-13
Martin Fowler’s website 10
- F002 — Median - A tale in three functions
Birgitta Böckeler · 2023-07-27 - F006 — TDD with GitHub Copilot
Paul Sobocinski · 2023-08-17 - F008 — How to tackle unreliability of coding assistants
Birgitta Böckeler · 2023-11-29 - F010 — Building an AI agent application to migrate a tech stack
Birgitta Böckeler · 2024-08-20 - F014 — Guiding an LLM for Robust Java ByteBuffer Code
Unmesh Joshi · 2025-04-17 - F018 — Autonomous coding agents: A Codex example
Birgitta Böckeler · 2025-06-04 - F024 — Assessing internal quality while coding with an agent
Erik Doernenburg · 2026-01-27 - F026 — Harness Engineering - first thoughts
Birgitta Böckeler · 2026-02-17 - F031 — TDD inside the agent loop - theater or actual value?
Birgitta Böckeler · 2026-08-10 - F033 — Are Harnesses Worth the Cost?
Naresh Jain · 2026-10-13
Earlier Non-Deterministic books 23
- B007 — New Workflows for the AI Era
Enrico Papalini · - B013 — PART I: Core Practices
Enrico Papalini · - B026 — Development Practices Enhanced by AI
Enrico Papalini · - B034 — Implementation Guide and Solutions
Enrico Papalini · - B039 — The Process
Enrico Papalini · - B045 — Complete Implementation Examples
Enrico Papalini · - B050 — The Process: Four Phases, Four Gates
Enrico Papalini · - B056 — Autonomous Loops and Behavioral Foundations
Enrico Papalini · - B060 — The Agent Pipeline and Gates
Enrico Papalini · - B063 — Advanced Patterns: From Frameworks to Practice
Enrico Papalini · - B076 — Spec Loop Engine
Enrico Papalini · - B086 — The Philosophy of Deterministic Failure
Enrico Papalini · - B088 — The Ralph Loop Pattern
Enrico Papalini · - B089 — Task Decomposition for Machines
Enrico Papalini · - B091 — Quality Gates and Backpressure
Enrico Papalini · - B092 — Advanced Prompting for Autonomous Systems
Enrico Papalini · - B097 — Complete Implementation Guide
Enrico Papalini · - B099 — Troubleshooting and Debugging
Enrico Papalini · - B104 — Non-Deterministic Loop Engineering: A Critical Assessment
Enrico Papalini · - B107 — The Ralph Loop: Persistent Progress Through Fresh Context
Enrico Papalini · - B108 — Building a Full Local AI Loop
Enrico Papalini · - B109 — Choosing the Right Loop
Enrico Papalini · - B111 — Glossary
Enrico Papalini ·