• DocumentCode
    2674934
  • Title

    Model-driven detection of Design Patterns

  • Author

    Bernardi, Mario Luca ; Di Lucca, Giuseppe Antonio

  • Author_Institution
    Dept. of Eng., Univ. of Sannio, Benevento, Italy
  • fYear
    2010
  • fDate
    12-18 Sept. 2010
  • Firstpage
    1
  • Lastpage
    5
  • Abstract
    Tracing source code elements of an existing Object Oriented software system to the components of a Design Pattern is a key step in program comprehension or re-engineering. It helps, mainly for legacy systems, to discover the main design decisions and trade-offs that are often not documented. In this paper an approach is presented to automatically detect Design Patterns in existing Object Oriented systems by tracing system´s source code components to the roles they play in the Patterns. Design Patterns are modelled by high level structural Properties (e.g. inheritance, dependency, invocation, delegation, type nesting and membership relationships) that are checked, by source code parsing, against the system structure and components. The approach allows to detect also Pattern variants, defined by overriding the Pattern structural properties. The approach was applied to some open-source systems to validate it. Results on the detected patterns, discovered variants and on the overall quality of the approach are provided and discussed.
  • Keywords
    object-oriented programming; program compilers; program diagnostics; public domain software; reverse engineering; software maintenance; systems re-engineering; design decision; design pattern; high level structural property; legacy system; model-driven detection; object oriented software system; open-source system; pattern structural property; pattern variant; program comprehension; program reengineering; program tracing; source code component; source code element; source code parsing; system component; system structure; Algorithm design and analysis; Computational modeling; Java; Object oriented modeling; Observers; Pattern matching; Unified modeling language; Design Patterns; Software Comprehension; Software Evolution; Software Maintenance; Source Code Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2010 IEEE International Conference on
  • Conference_Location
    Timisoara
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4244-8630-4
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2010.5609740
  • Filename
    5609740