Design By Contract Methodology

PVR Murthy · 2018

Software components are still considered the weakest link when it comes to addressing reliability of a system. We argue that a systematic application of Bertrand Meyer's design by contract methodology improves reliability quite significantly. In the perspective of design by contract methodology, reliability is viewed as correctness and robustness. The concept of Reliability by Construction is dealt with in detail. Process steps to introduce or integrate design by contract methodology into existing SDLC of a product or system are discussed. The notion of sufficiently strong contracts is dealt with along with their advantages in defect prevention. Composition of function calls or services and the properties that contract specifications of successive functions(calls) need satisfy are stated. The process of contract refinement during successive phases of SDLC is discussed. Contract specification rules in the presence of inheritance in object-oriented programs are also discussed. Finally, we argue that design by contract methodology is a step towards zero-defect programming.

Read the paper · More papers on PaperTik