
Design by Contract: A Missing Link in Quest for Quality Software (1998) - nickpsecurity
https://www.win.tue.nl/~wstomv/edu/2ip30/references/design-by-contract/index.html
======
nickpsecurity
What makes this a good write-up is you could give it to a project manager as
quickly as an engineer. An updated version of this with links to current tech,
esp low cost or easy to integrate, might be worthwhile. Other improvements
since then include generating tests directly from the contracts, using
contracts with automated provers, leaving contracts in as runtime checks while
throwing fuzzers at that code, and using contracts for bug repair. They can't
do everything but they're a _very high-ROI_ technique with some immediate
benefits plus maybe some down the road if your software/company gets bigger.

Write-ups or examples of some of the above:

[https://hillelwayne.com/post/pbt-
contracts/](https://hillelwayne.com/post/pbt-contracts/)

[http://www.skein-
hash.info/sites/default/files/SPARKSkein.pd...](http://www.skein-
hash.info/sites/default/files/SPARKSkein.pdf)

[https://www.amazon.com/Building-High-Integrity-
Applications-...](https://www.amazon.com/Building-High-Integrity-Applications-
SPARK/dp/1107656842/ref=sr_1_1?ie=UTF8&qid=1519403710&sr=8-1&keywords=high+integrity+applications+with+spark)

[https://blog.adacore.com/running-american-fuzzy-lop-on-
your-...](https://blog.adacore.com/running-american-fuzzy-lop-on-your-ada-
code)

[https://www.microsoft.com/en-us/research/wp-
content/uploads/...](https://www.microsoft.com/en-us/research/wp-
content/uploads/2012/10/res0099-logozzo.pdf)

