Design pattern detection using a DSL-driven graph matching approach

被引:35
|
作者
Bernardi, Mario Luca [1 ]
Cimitile, Marta [2 ]
Di Lucca, Giuseppe [1 ]
机构
[1] Univ Sannio, Dept Engn, Benevento, Italy
[2] Unitelma Sapienza Univ, Fac Jurisprudence, Rome, Italy
关键词
design pattern detection; object-oriented systems; graph matching; domain-specific languages; model-driven development; RECOVERY; IDENTIFICATION; VARIANTS;
D O I
10.1002/smr.1674
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Knowledge about design pattern (DP) instances improves program comprehension and reengineering of object-oriented systems. Effectively, it helps to discover developer design decisions and trade-offs that often are not documented. This work describes an approach to automatically detect DPs in existing object-oriented systems by tracing systems' source code components with the roles they play in the patterns. In the proposed approach, DPs are modeled based on their 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. Moreover, the approach can also detect pattern variants, defined by overriding the pattern properties. This paper presents a description of the approach, provides a brief description of the supporting tool, and discusses the results from the experiments carried out to validate it. The approach was validated on seven systems of an open benchmark that contains systems of increasing sizes. For five additional systems, the results have been compared with the ones from a similar approach existing in the literature. The obtained results, the identified DP variants, and the effectiveness of the approach are thoroughly presented and discussed. Copyright (c) 2014 John Wiley & Sons, Ltd.
引用
收藏
页码:1233 / 1266
页数:34
相关论文
共 50 条
  • [1] A Model-Driven Graph-Matching Approach for Design Pattern Detection
    Bernardi, Mario Luca
    Cimitile, Marta
    Di Lucca, Giuseppe Antonio
    [J]. 2013 20TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE), 2013, : 172 - 181
  • [2] Graph Pattern Matching as an Embedded Clojure DSL
    Horn, Tassilo
    [J]. GRAPH TRANSFORMATION (ICGT 2015), 2015, 9151 : 189 - 204
  • [3] A degree-driven approach to design pattern mining based on graph matching
    Zhang, Ping
    Yu, Dongjin
    Wang, Jiaojiao
    [J]. 2017 24TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2017), 2017, : 179 - 188
  • [4] Design Pattern Mining Using Graph Matching
    LI Qing-hua 1
    2. Department of Computer Science
    [J]. Wuhan University Journal of Natural Sciences, 2004, (04) : 444 - 448
  • [5] Design Pattern Mining Using State Space Representation of Graph Matching
    Gupta, Manjari
    Rao, Rajwant Singh
    Pande, Akshara
    Tripathi, A. K.
    [J]. ADVANCES IN COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, PT I, 2011, 131 : 318 - 328
  • [6] Design Pattern Mining for GIS Application Using Graph Matching Techniques
    Pande, Akshara
    Gupta, Manjari
    Tripathi, A. K.
    [J]. ICCSIT 2010 - 3RD IEEE INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY, VOL 3, 2010, : 477 - 482
  • [7] Graph Pattern Matching: A Join/Semijoin Approach
    Cheng, Jiefeng
    Yu, Jeffrey Xu
    Yu, Philip S.
    [J]. IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, 2011, 23 (07) : 1006 - 1021
  • [8] A benchmark for design Pattern detection tools: a Community driven Approach
    Arcelli, Francesca
    Caracciolo, Andrea
    Zanoni, Marco
    [J]. ERCIM NEWS, 2012, (88): : 32 - 32
  • [9] A Hybrid Approach of Subgraph Isomorphism and Graph Simulation for Graph Pattern Matching
    Sugawara, Kazunori
    Suzuki, Nobutaka
    [J]. DATABASE AND EXPERT SYSTEMS APPLICATIONS (DEXA 2018), PT II, 2018, 11030 : 329 - 338
  • [10] Design Pattern Detection by Template Matching
    Dong, Jing
    Sun, Yongtao
    Zhao, Yajing
    [J]. APPLIED COMPUTING 2008, VOLS 1-3, 2008, : 765 - +