Specifying reusable components

  • Authors:
  • Nadia Polikarpova;Carlo A. Furia;Bertrand Meyer

  • Affiliations:
  • Chair of Software Engineering, ETH Zurich, Switzerland;Chair of Software Engineering, ETH Zurich, Switzerland;Chair of Software Engineering, ETH Zurich, Switzerland

  • Venue:
  • VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Reusable software components need expressive specifications. This paper outlines a rigorous foundation of model-based contracts, a method to equip classes with strong contracts that support accurate design, implementation, and formal verification of reusable components. Model-based contracts conservatively extend the classic Design by Contract approach with a notion of model, which underpins the precise definitions of such concepts as abstract object equivalence and specification completeness. Experiments applying model-based contracts to libraries of data structures suggest that the method enables accurate specification of practical software.