DocumentCode
797237
Title
DeMIMA: A Multilayered Approach for Design Pattern Identification
Author
Gueheneuc, Yann-Gael ; Antoniol, Giuliano
Author_Institution
Dept. d´´Inf. et Rech. Operationnelle, Univ. Montreal, Montreal, QC
Volume
34
Issue
5
fYear
2008
Firstpage
667
Lastpage
684
Abstract
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 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 identify semi-automatically micro-architectures that are similar to design motifs in source code and to ensure the traceability of these micro-architectures 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% precision for the considered 12 design motifs. Through the use of explanation-based constraint programming, DeMIMA ensures 100% recall on the five systems. We also apply DeMIMA on 33 industrial components.
Keywords
object-oriented programming; public domain software; software maintenance; software quality; DeMIMA; design pattern identification; facilitate system maintenance; multilayered approach; object-oriented programming; open-source systems; software systems quality; source code; Object-Oriented Programming; Patterns;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/TSE.2008.48
Filename
4564471
Link To Document