Specifying Reusable Components

Nadia Polikarpova,Carlo A. Furia,Bertrand Meyer
DOI: https://doi.org/10.1007/978-3-642-15057-9_9
2010-03-30
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.
Software Engineering
What problem does this paper attempt to address?