Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
How the design of JML accommodates both runtime assertion checking and formal verification
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
The Spec# Programming System: Challenges and Directions
Verified Software: Theories, Tools, Experiments
Computer
Are practitioners writing contracts?
Rigorous Development of Complex Fault-Tolerant Systems
Making specifications complete through models
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
Proceedings of the 33rd International Conference on Software Engineering
What good are strong specifications?
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
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.