Object-oriented design patterns recovery

被引:53
作者
Antoniol, G [1 ]
Casazza, G
Di Penta, M
Fiutem, R
机构
[1] Univ Sannio, Fac Engn, I-82100 Benevento, Italy
[2] Univ Naples Federico II, DIS, I-80125 Naples, Italy
[3] Sodalia SpA, I-38100 Trento, Italy
关键词
OO design pattern recovery; OO redocumentation; software metrics; traceability;
D O I
10.1016/S0164-1212(01)00061-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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. (C) 2001 Elsevier Science Inc. All rights reserved.
引用
收藏
页码:181 / 196
页数:16
相关论文
共 35 条
[1]  
Alexander Christopher., 1977, PATTERN LANGUAGE TOW
[2]  
[Anonymous], ANTIPATTERNS
[3]   Using metrics to identify design patterns in object-oriented software [J].
Antoniol, G ;
Fiutem, R ;
Cristoforetti, L .
FIFTH INTERNATIONAL SOFTWARE METRICS SYMPOSIUM - METRICS 1998, PROCEEDINGS, 1998, :23-34
[4]  
BUSCHMANN F, 1996, SYSTEM PATTERNS PATT
[5]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493
[6]  
Cormen T. H., 1990, INTRO ALGORITHMS
[7]  
Fiutem R, 1996, INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, P319, DOI 10.1109/ICSM.1996.565035
[8]  
FRAKES W, 1992, INFORMATION RETRIEVA
[9]  
Keller R. K., 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002), P226, DOI 10.1109/ICSE.1999.841012
[10]   PROGRAM CONCEPT RECOGNITION AND TRANSFORMATION [J].
KOZACZYNSKI, W ;
NING, J ;
ENGBERTS, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (12) :1065-1075