ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
advertisementadvertisement
Journal of Systems and Software
Volume 59, Issue 2, 15 November 2001, Pages 181-196
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Article
Purchase PDF (480 K)

 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/S0164-1212(01)00061-9    How to Cite or Link Using DOI (Opens New Window)
Copyright © 2001 Elsevier Science Inc. All rights reserved.

Object-oriented design patterns recovery

G. AntoniolCorresponding Author Contact Information, E-mail The Corresponding Author, a, G. Casazzab, M. Di Pentaa and R. Fiutemc

a University of Sannio, Faculty of Engineering, Piazza Roma, I-82100 Benevento, Italy b University of Naples “Federico II”, DIS – Via Claudio 21, I-80125 Naples, Italy c Sodalia SpA via V. Zambra 1, I-38100 Trento, Italy

Received 13 April 2000; 
revised 7 August 2000; 
accepted 5 January 2001. 
Available online 29 October 2001.

Purchase the full-text article



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
3.1. Design pattern library
3.2. AOL representation and parsing
3.3. Class metrics extraction
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
5.1. WEB interface
6. Experimental results
6.1. Results and discussion
6.2. ET++
7. Conclusions
Appendix A. AOL extended BNF grammar
References
Vitae










Journal of Systems and Software
Volume 59, Issue 2, 15 November 2001, Pages 181-196
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.