• DocumentCode
    647208
  • Title

    A model-driven graph-matching approach for design pattern detection

  • Author

    Bernardi, Mario Luca ; Cimitile, Marta ; Di Lucca, Giuseppe Antonio

  • Author_Institution
    Dept. of Eng., Univ. of Sannio, Benevento, Italy
  • fYear
    2013
  • fDate
    14-17 Oct. 2013
  • Firstpage
    172
  • Lastpage
    181
  • Abstract
    In this paper an approach to automatically detect Design Patterns (DPs) in Object Oriented systems is presented. It allows to link system´s source code components to the roles they play in each pattern. DPs are modelled by high level structural properties (e.g. inheritance, dependency, invocation, delegation, type nesting and membership relationships) that are checked against the system structure and components. The proposed metamodel also allows to define DP variants, overriding the structural properties of existing DP models, to improve detection quality. The approach was validated on an open benchmark containing several open-source systems of increasing sizes. Moreover, for other two systems, the results have been compared with the ones from a similar approach existing in literature. The results obtained on the analyzed systems, the identified variants and the efficiency and effectiveness of the approach are thoroughly presented and discussed.
  • Keywords
    formal specification; graph theory; inheritance; object-oriented programming; pattern matching; public domain software; reverse engineering; type theory; component role; delegation; dependency; design pattern detection; high level structural properties; inheritance; invocation; membership relationship; metamodel; model-driven graph-matching approach; object oriented systems; open-source system; pattern specification; system source code components; system structure; type nesting; Algorithm design and analysis; Containers; DSL; Object oriented modeling; Observers; Software systems; Unified modeling language; Design Patterns Mining; Reverse Engineering; Software Comprehension; Source Code Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering (WCRE), 2013 20th Working Conference on
  • Conference_Location
    Koblenz
  • Type

    conf

  • DOI
    10.1109/WCRE.2013.6671292
  • Filename
    6671292