About me

Michael L Perry

Improving Enterprises

Principal Consultant

@michaellperry

User login


Q.E.D. is about confidence in software. It is a system of coding practices by which we can write mathematically provable software in any language.

Theory

Every piece of code is a theorem. It is a sequence of logical conclusions, each based on the one before, leading up to desired behavior. To validate that behavior, you need to prove the theorem. Even though most compilers don't prove those theorems for you, they can still provide some assistance.

Q.E.D. coding is based on the combined works of great mathematicians and practitioners in the field of software. Some of the influences include:

  • Bertrand Meyer - author of Object Oriented Software Construction
  • Robert C. Martin - author of Design Principles and Design Patterns
  • Euclid - author of The Elements
  • Alan Turing - author of Computing Machinery and Machine Intelligence
  • Donald Knuth - author of The Art of Computer Programming

Software has a long tradition as applied mathematics. Q.E.D. coding draws from that tradition to define a practice of creating reliable, provable software.