Roadmap for enhanced languages and methods to aid verification
Proceedings of the 5th international conference on Generative programming and component engineering
Verified Software: Theories, Tools, Experiments
VeriCool: An Automatic Verifier for a Concurrent Object-Oriented Language
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
IFM'07 Proceedings of the 6th international conference on Integrated formal methods
An automatic verifier for Java-like programs based on dynamic frames
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
The relationship between separation logic and implicit dynamic frames
ESOP'11/ETAPS'11 Proceedings of the 20th European conference on Programming languages and systems: part of the joint European conferences on theory and practice of software
Dynamic frames: support for framing, dependencies and sharing without restrictions
FM'06 Proceedings of the 14th international conference on Formal Methods
Pushouts in software architecture design
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
Hi-index | 0.00 |
This thesis introduces a formal theory of object oriented refinement. The formal design of the theory is based on the design principles of unification and decoupling, which we believe have not been adequately used in other object oriented refinement theories. Thanks to the use of these principles, the semantics of the theory is mathematically simpler than other approaches: the formalization of most features uses very primitive mathematical entities. Furthermore, the constructs of the theory are more general than other approaches. There are specification constructs more general than classes. Features that are typically coupled with classes, like reuse and polymorphism, now apply to these more general specifications. Finally, our solution to the frame problem is the only modular approach that we know of that does not impose any aliasing control policy. To demonstrate that the extra generality offers real advantages to the specifier, we use the theory in some specification examples that would be impossible with other approaches. These examples, mainly inspired by Design Patterns, represent realistic and common software design situations.