Fingerprinting design patterns

被引:90
作者
Guéhéneuc, YG [1 ]
Sahraoui, H [1 ]
Zaidi, F [1 ]
机构
[1] Univ Montreal, Dept Informat & Rech Operat, Montreal, PQ H3C 3J7, Canada
来源
11TH WORKING CONFERENCE ON REVERSE ENGINEERING, PROCEEDINGS | 2004年
关键词
D O I
10.1109/WCRE.2004.21
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Design patterns describe good solutions to common and recur-ring problems in program design. The solutions are design motifs which software engineers imitate and introduce in the architecture of their program. It is important to identify the design motifs used in a program architecture to understand solved design problems and to make informed changes to the program. The identification of micro-architectures similar to design motifs is difficult because of the large search space, i.e., the many possible combinations of classes. We propose an experimental study of classes playing roles in design motifs using metrics and a machine learning algorithm to fingerprint design motifs roles. Fingerprints are sets of metric values characterising classes playing a given role. We devise fingerprints experimentally using a repository of micro-architectures similar to design motifs. We show that fingerprints help in reducing the search space of micro-architectures similar to design motifs efficiently using the Composite design motif and the JHOTDRAW framework.
引用
收藏
页码:172 / 181
页数:10
相关论文
共 27 条
[1]   Instantiating and detecting design patterns:: Putting bits and pieces together [J].
Albin-Amiot, H ;
Cointe, P ;
Guéhéneuc, YG ;
Jussien, N .
16TH ANNUAL INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2001), PROCEEDINGS, 2001, :166-173
[2]   Design pattern recovery in object-oriented software [J].
Antoniol, G ;
Fiutem, R ;
Cristoforetti, L .
6TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 98) - PROCEEDINGS, 1998, :153-160
[3]   Design patterns and change proneness: An examination of five evolving systems. [J].
Bieman, JM ;
Straw, G ;
Wang, HX ;
Munger, PW ;
Alexander, RT .
NINTH INTERNATIONAL SOFTWARE METRICS SYMPOSIUM, PROCEEDINGS, 2003, :40-49
[4]   An investigation into coupling measures for C++ [J].
Briand, L ;
Devanbu, P ;
Melo, W .
PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1997, :412-421
[5]   A unified framework for cohesion measurement in object-oriented systems [J].
Briand, LC ;
Daly, JW ;
Wust, J .
FOURTH INTERNATIONAL SOFTWARE METRICS SYMPOSIUM, PROCEEDINGS, 1997, :43-53
[6]  
Chidamber Shyam R., 1993, E53315 MIT SLOAN SCH
[7]  
Ciupke O., 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278), P18, DOI 10.1109/TOOLS.1999.787532
[8]  
EPPSTEIN D, 1995, PROCEEDINGS OF THE SIXTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, P632
[9]  
Gamma Erich., 1994, DESIGN PATTERNS
[10]   Using design patterns and constraints to automate the detection and correction of inter-class design defects [J].
Guéhéneuc, YG ;
Albin-Amiot, H .
TOOLS 39: TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS: SOFTWARE TECHNOLOGY FOR THE AGE OF THE INTERNET, 2001, 39 :296-305