Property-Driven Development

  • Authors:
  • Hubert Baumeister;Alexander Knapp;Martin Wirsing

  • Affiliations:
  • Ludwig-Maximilians-Universität München, Germany;Ludwig-Maximilians-Universität München, Germany;Ludwig-Maximilians-Universität München, Germany

  • Venue:
  • SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Early test development and specification enhance the quality and robustness of software as experience with agile software development methods shows. The methods propagate test-first techniques and early prototyping through executable design models. We propose to enhance test-driven development to a more general property-driven development technique: Property-driven development ties together automatic tests, formal specification, and executable UML models by developing these three views together instead of one after the other as is common practice. Scenarios and properties serve as a combined basis for system specification and test cases. By extracting common properties of several scenarios we obtain invariants and pre- and post-conditions. The behavior of the system is described UML state machines. For testing we insert invariants and pre-and postconditions as assertions in the code generated from the state machines. For verification, we use model checking. For this we have to restrict the models to finite domains. Therefore we construct suitable abstractions of the scenarios and the system behavior and verify the abstractions using a model checker.