Copyright © 2001 Elsevier Science Inc. All rights reserved.
Object-oriented design patterns recovery
Received 13 April 2000;
References and further reading may be available for this article. To view references and further reading you must purchase this article.
Abstract
Object-Oriented (OO) design patterns are an emergent technology: they are reusable micro-architectures, high-level building blocks. A system which has been designed using well-known, documented and accepted design patterns is also likely to exhibit good properties such as modularity, separation of concerns and maintainability. While for forward engineering the benefits of using design patterns are clear, using reverse engineering technologies to discover instances of patterns in a software artifact (e.g., design or code) may help in several key areas, among which are program understanding, design-to-code traceability and quality assessment. This paper describes a conservative approach and experimental results, based on a multi-stage reduction strategy using OO software metrics and structural properties to extract structural design patterns from OO design or C++ code. To assess the effectiveness of the pattern recovery approach, a process and a portable tool suite written in Java, remotely accessible by means of any WEB browser, has been developed. The developed system and experimental results on 8 industrial software (design and code) and 200,000 lines of public domain C++ code are presented.
Author Keywords: OO design pattern recovery; OO redocumentation; Software metrics; Traceability
Article Outline
- 1. Introduction
- 2. Design patterns
- 3. Recovery process
- 4. Pattern recognition
- 4.1. Class level metrics constraints
- 4.2. Shortest path constraints
- 4.3. Structural constraints
- 4.4. Delegation constraints
- 5. System implementation
- 6. Experimental results
- 7. Conclusions
- Appendix A. AOL extended BNF grammar
- References
- Vitae







E-mail Article
Add to my Quick Links

Cited By in Scopus (20)






