English

Specifying Reusable Components

Software Engineering 2013-08-14 v1

Abstract

Reusable software components need expressive specifications. This paper outlines a rigorous foundation to 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 with a notion of model, which underpins the precise definitions of such concepts as abstract equivalence and specification completeness. Experiments applying model-based contracts to libraries of data structures suggest that the method enables accurate specification of practical software.

Keywords

Cite

@article{arxiv.1003.5777,
  title  = {Specifying Reusable Components},
  author = {Nadia Polikarpova and Carlo A. Furia and Bertrand Meyer},
  journal= {arXiv preprint arXiv:1003.5777},
  year   = {2013}
}
R2 v1 2026-06-21T15:04:25.671Z