Contract-Driven Development

  • Bertrand Meyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4422)


In spite of cultural difference between the corresponding scientific communities, recognition is growing that test-based and specification-based approaches to software development actually complement each other. The revival of interest in testing tools and techniques follows in particular from the popularity of “Test-Driven Development”; rigorous specification and proofs have, for their part, also made considerable progress. There remains, however, a fundamental superiority of specifications over test: you can derive tests from a specification, but not the other way around.

Contract-Driven Development is a new approach to systematic software construction combining ideas from Design by Contract, from Test-Driven Development, from work on formal methods, and from advances in automatic testing as illustrated for example in our AutoTest tool. Like TDD it gives tests a central role in the development process, but these tests are deduced from possibly partial specifications (contracts) and directly supported by the development environment. This talk will explain the concepts and demonstrate their application.

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Bertrand Meyer
    • 1
  1. 1.E.T.H. ZurichSwitzerland

Personalised recommendations