Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
IEEE Transactions on Software Engineering
Smalltalk-80: The Language
Declarative Reasoning about the Structure of Object-Oriented Systems
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
Declaratively Codifying Software Architectures Using Virtual Software Classifications
TOOLS '99 Proceedings of the Technology of Object-Oriented Languages and Systems
A Declarative Evolution Framework for Object-Oriented Design Patterns
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Language-independent detection of object-oriented design patterns
Computer Languages, Systems and Structures
Inter-language reflection: A conceptual model and its implementation
Computer Languages, Systems and Structures
Hi-index | 0.00 |
It is a well-known problem that design information of object-oriented programs is often lost or is not kept up-to-date when the program evolves. This design information can be recovered from the program using such techniques as logic meta programming. In this technique logic queries are used to check whether the program is implemented along certain well-known patterns. Currently the technique relies on structural information and patterns are expressed in the queries as conditions over structural elements of the program. Some patterns are however better expressed in dynamic terms which requires behavioural information about the program. Such information can be obtained from execution traces of the program, but these record only one possible input dependent program execution out of many. Abstract interpretation of the object-oriented program could provide a well-founded means for extracting the necessary behavioural information.