Design by contract: a simple technique for improving the quality of software
Mark Bolstad · 2004
At its heart, design by contract (DbC) (B.Meyer, 1997) is a technique for expressing the relationship between a software routine (the supplier) and the callers of that routine (the clients). DbC is inspired by commercial relationships and business contracts that formally express the rights and obligations binding a client and a supplier. DbC provides a clean, easy-to-implement technique that specifies the roles and constraints applying to a routine, and ultimately, improves the quality of any software with minimal additional cost. In this paper we define what DbC is, how it can benefit any software, and show several examples of software developed at ARL MSRC that use DbC.