Specifying Reusable Components
Nadia Polikarpova, Carlo A. Furia, Bertrand Meyer

TL;DR
This paper introduces a rigorous foundation for model-based contracts, enhancing the specification and verification of reusable software components through formal modeling and experiments on data structure libraries.
Contribution
It presents a novel formal framework for model-based contracts that extend Design by Contract, improving the accuracy and expressiveness of component specifications.
Findings
Enables precise specification of data structures
Supports formal verification of reusable components
Improves design accuracy with model-based contracts
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
