c.curionodeThe Turing Archive

1978 · Languages & software

A proof beside the program

Assertions turn a program’s intended behaviour into something that can be reasoned about.

1978Turing Award
A proof beside the program: Assertions turn a program’s intended behaviour into something that can be reasoned about.
Original AI-generated infographic by Curionode. Read the text version below for the full explanation.
Read the poster text
  1. Assert

    Describe the starting condition.

  2. Transform

    Follow the program’s operations.

  3. Establish

    Prove the required result.

Program verification and precise language tools helped make reliable software a subject of systematic study.

A proof depends on its assumptions, specification and model; those must also match the intended task.

01 · The idea

In everyday language

Robert Floyd helped give software construction a mathematical vocabulary. Assertions describe what should be true at particular points in a computation. By relating them to the operations a program performs, one can reason about correctness rather than rely only on observed runs. His contributions also reached parsing, semantics and algorithm analysis.

Why it matters

Program verification and precise language tools helped make reliable software a subject of systematic study.

02 · The people

Who brought the idea to life?

Illustrated portrait of Robert Floyd

Robert Floyd

Robert Floyd helped make program correctness a subject of rigorous mathematical reasoning. He developed methods for attaching logical assertions to program steps and proving that a computation meets its specification. His research also included influential algorithms, parsing, and program synthesis. At Stanford he helped shape an approach to computer science in which efficient procedures and convincing arguments about their behavior develop together.

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: Robert Floyd ↗amturing.acm.org
  2. Heidelberg Laureate Forum: Robert Floyd ↗www.heidelberg-laureate-forum.org