• DocumentCode
    1976672
  • Title

    From Sub-patterns to Patterns: An Approach to the Detection of Structural Design Pattern Instances by Subgraph Mining and Merging

  • Author

    Dongjin Yu ; Yanyan Zhang ; Jianlin Ge ; Wei Wu

  • Author_Institution
    Sch. of Comput., Hangzhou Dianzi Univ., Hangzhou, China
  • fYear
    2013
  • fDate
    22-26 July 2013
  • Firstpage
    579
  • Lastpage
    588
  • Abstract
    Structural design patterns address concerns related to high-level structures for applications being developed. Accurately recovered instances of structural design patterns support development related tasks like program comprehension and reengineering. However, the detection of structural design pattern instances is not always a straightforward task. The lack of documentation, the ad-hoc nature of programming and the possible variants of pattern instances often lead to the low accuracy of detection. In this paper, we present an approach to the detection of instances of structural design patterns using source codes. We first transform the source codes and predefined patterns into graphs, with the classes as nodes and the relations as edges. We then identify the instances of sub-patterns that would be the possible constituents of pattern instances by means of subgraph discovery. The sub-pattern instances are further merged by joint classes to see if the collective matches one of the predefined patterns. Compared with existing approaches, our approach focuses on simple sub-patterns, not complicated patterns. In this way, it can not only simplify the detection process, but also detect multiple pattern instances at a time. The results of the experiments on detecting pattern instances of Adapter, Bridge, Composite, Decorator and Proxy from 4 open source software systems demonstrate that our approach obtains better precision than the existing approaches.
  • Keywords
    data mining; graph theory; object-oriented methods; graph merging; open source software systems; predefined patterns; program comprehension; program reengineering; source codes; structural design pattern instances; structural design patterns support development; sub-pattern instances; subgraph discovery; subgraph mining; Accuracy; Adaptation models; Bridges; Data mining; Joints; Merging; Software systems; design pattern detection; graph merging; structural design patterns; sub-patterns; subgraph mining;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications Conference (COMPSAC), 2013 IEEE 37th Annual
  • Conference_Location
    Kyoto
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2013.92
  • Filename
    6649882