• 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