Skip to main content

Science Quote by Edsger Dijkstra

"Program testing can be used to show the presence of bugs, but never to show their absence!"

About this Quote

Dijkstra’s line lands like a koan with teeth: testing feels like proof, yet it’s structurally incapable of delivering the one assurance managers, users, and sometimes developers secretly want - that the code is clean. The wit is in the asymmetry. A single failing test is an existence proof: here is a bug, right now, undeniably. But a thousand passing tests only say you didn’t trip over anything in the rooms you bothered to walk through, in the lighting you happened to turn on.

The specific intent is corrective, almost disciplinary. Dijkstra is pushing back against a cultural habit in engineering: treating testing as a moral alibi. In the 1960s and 70s, software was scaling faster than the methods used to reason about it, and “just test it” became a pragmatic creed. Dijkstra, an evangelist for rigor and formal reasoning, points out the philosophical hole at the center of that creed: programs have near-infinite behaviors, and tests are finite samples. Absence-of-evidence can’t be promoted to evidence-of-absence.

The subtext is also a critique of optimism-as-process. Testing flatters our desire to ship and our faith in checklists. Dijkstra reminds us that reliability isn’t a vibe; it’s an argument. Good engineering, in his worldview, means designing systems whose correctness can be reasoned about, not merely hoped for. Testing remains essential, but demoted: a bug-finder, not a truth machine.

Quote Details

TopicCoding & Programming
Source
Unverified source: Notes on Structured Programming (T.H. Report 70-WSK-03) (Edsger Dijkstra, 1970)
Text match: 85.00%   Provider: Cross-Reference
Evidence:
Section 3: "On the reliability of mechanisms" (corollary at end of first part); page 7 in the EWD249 transcription (section starts on p. 4). Primary source is Dijkstra’s own report/monograph EWD249, "Notes on Structured Programming". The University of Texas-hosted E.W. Dijkstra Archive transcript...
Other candidates (2)
Introduction to Computation and Programming Using Python (John V. Guttag, John Guttag, 2013) compilation94.1%
... Edsger Dijkstra, “Program testing can be used to show the presence of bugs, but never to show their absence!”29 O...
Computer science (Edsger Dijkstra) compilation35.8%
farther than others it is because i have stood on the shoulders of giants i am forced to say today we stand o
More Quotes by Edsger Add to List
Program testing can be used to show the presence of bugs, but never to show their absence!
Click to enlarge Portrait | Landscape

About the Author

Netherland Flag

Edsger Dijkstra (May 11, 1930 - August 6, 2002) was a Scientist from Netherland.

25 more quotes available

View Profile

Similar Quotes

Wietse Venema, Scientist