c.curionodeThe Turing Archive

1972 · Languages & software

Correctness by construction

Good software begins with reasoning about what each part must guarantee.

1972Turing Award
Correctness by construction: Good software begins with reasoning about what each part must guarantee.
Original AI-generated infographic by Curionode. Read the text version below for the full explanation.
Read the poster text
  1. Specify

    State what must be true.

  2. Structure

    Build understandable components.

  3. Reason

    Preserve the required properties.

Clear structure and explicit invariants help people reason about software before failures appear.

Testing remains valuable, but passing a collection of tests cannot establish every possible behaviour of a program.

01 · The idea

In everyday language

Edsger Dijkstra argued that programming is an intellectual discipline, not simply a cycle of patching failures. Structured control flow and careful reasoning make a program easier to understand as a composition of smaller parts. His contributions ranged across algorithms, concurrency and the foundations of program design.

Why it matters

Clear structure and explicit invariants help people reason about software before failures appear.

02 · The people

Who brought the idea to life?

Illustrated portrait of Edsger Dijkstra

Edsger Dijkstra

Edsger Dijkstra argued that programs should be designed so their correctness can be understood and demonstrated. His contributions ranged from shortest-path algorithms to synchronization, operating systems, and structured programming. At Eindhoven he led work on the layered THE operating system. His writing challenged programming habits that obscured reasoning and helped establish a mathematical, disciplined approach to constructing dependable software systems.

Read the biography ↗

03 · Read further

From the original sources

Original explanations based on the official award record. The subject label is an editorial navigation aid.

  1. Official ACM profile: Edsger Dijkstra ↗amturing.acm.org
  2. Heidelberg Laureate Forum: Edsger Dijkstra ↗www.heidelberg-laureate-forum.org