DeMIMA:: A multilayered approach for design pattern identification

被引:116
作者
Gueheneuc, Yann-Gael [1 ]
Antoniol, Giuliano [2 ]
机构
[1] Univ Montreal, Dept Informat & Rech Operat, Montreal, PQ H3C 3J7, Canada
[2] Ecole Polytech, Dept Informat, Montreal, PQ H3C 3J7, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
maintenance traceability; design patterns; interclass relationships;
D O I
10.1109/TSE.2008.48
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Design patterns are important in object-oriented programming because they offer design motifs, elegant solutions to recurrent design problems, which improve the quality of software systems. Design motifs facilitate system maintenance by helping maintainers to understand design and implementation. However, after implementation, design motifs are spread throughout the source code and are thus not directly available to maintainers. We present DeMIMA, an approach to semiautomatically identify microarchitectures that are similar to design motifs in source code and to ensure the traceability of these microarchitectures between implementation and design. DeMIMA consists of three layers: two layers to recover an abstract model of the source code, including binary class relationships, and a third layer to identify design patterns in the abstract model. We apply DeMIMA to five open-source systems and, on average, we observe 34 percent precision for the 12 design motifs considered. Through the use of explanation-based constraint programming, DeMIMA ensures 100 percent recall on the five systems. We also apply DeMIMA on 33 industrial components.
引用
收藏
页码:667 / 684
页数:18
相关论文
共 48 条
[1]  
Albin-Amiot H., 2001, P 1 ECOOP WORKSH AUT
[2]   Object-oriented design patterns recovery [J].
Antoniol, G ;
Casazza, G ;
Di Penta, M ;
Fiutem, R .
JOURNAL OF SYSTEMS AND SOFTWARE, 2001, 59 (02) :181-196
[3]   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
[4]  
Bansiya J., 1998, DOBBS J
[5]  
BECK K, 1994, P ECOOP 94, P139
[6]   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
[7]  
Brown K, 1996, TR9607 U ILL URB CHA
[8]  
CIVELLO F, 1993, P OOPSLA, P376
[9]   Converting Java']Java programs to use generic libraries [J].
Donovan, A ;
Kiezun, A ;
Tschantz, MS ;
Ernst, MD .
ACM SIGPLAN NOTICES, 2004, 39 (10) :15-34
[10]  
DUCASSE S, 1995, P 10 C OBJ OR PROGR, P265