Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Designing object-oriented C++ applications: using the Booch method
Designing object-oriented C++ applications: using the Booch method
Modular reasoning in the presence of subclassing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Forcing behavioral subtyping through specification inheritance
Proceedings of the 18th international conference on Software engineering
Object-Oriented Software Construction
Object-Oriented Software Construction
A New Definition of the Subtype Relation
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Inheriting and Modifying Behavior
TOOLS '97 Proceedings of the Tools-23: Technology of Object-Oriented Languages and Systems
Representation Inheritance: A Safe Form of "White Box'' Code Inheritance
ICSR '96 Proceedings of the 4th International Conference on Software Reuse
The Larch Family of Specification Languages
IEEE Software
An inheritance-based technique for building simulation proofs incrementally
ACM Transactions on Software Engineering and Methodology (TOSEM)
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
FM '08 Proceedings of the 15th international symposium on Formal Methods
Incremental Reasoning for Multiple Inheritance
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
A dynamic binding strategy for multiple inheritance and asynchronously communicating objects
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
A liskov principle for delta-oriented programming
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Tracking behavioral constraints during object-oriented software evolution
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
In the Object-Oriented approach a designer can, given an existing base class, use inheritance to build a derived class that extends, or that slightly differs from the base class. But in order to exploit the full potential of inheritance to build systems incrementally, the designer must also be able to reason about the derived class incrementally. This paper presents a specification notation and verification procedure that allows such incremental reasoning out; the approach makes important use of the concrete specification of a class, in addition to the usual abstract specification. The reasoning reuse that the approach enables is illustrated by applying it to a simple example.