I realised that both verification and testing were using the same technology—assertions—on a common goal of improving software products in their speed of delivery, their quality, and their reliability.
This reflection comes from the “Envoi” chapter that Tony Hoare wrote for a volume on his own life and work. He describes a change of mind late in his career, on the long-running divide between proving programs correct and testing them.
As an academic, Hoare had argued for the superiority of formal proof over testing. Here he recognises that the two approaches in fact rely on the same underlying device, the assertion, a statement about what should be true at a given point in a program. Both, he saw, serve the same practical ends: faster delivery, higher quality and greater reliability.
The realisation led him to abandon his earlier insistence on proof over testing and to work instead on bringing the two together. The passage marks a notable shift, in which a leading theorist reconciled a position he had long defended with the realities of engineering practice.
Full quotation
“The scales fell from my eyes. I realised that both verification and testing were using the same technology—assertions—on a common goal of improving software products in their speed of delivery, their quality, and their reliability. Ever since then I have renounced all the principles which I preached as an academic, about the superior results of proving programs instead of testing them. I would concentrate instead on reconciling these two previously opposing positions.”
Explore the author
Tony Hoare
19 quotes · 13 works · 36 themes · 93 tags