GEML: A grammar-based evolutionary machine learning approach for design-pattern detection

被引:6
|
作者
Barbudo, Rafael [1 ]
Ramirez, Aurora [1 ]
Servant, Francisco [2 ]
Romero, Jose Raul [1 ]
机构
[1] Univ Cordoba, Dept Comp Sci & Numer Anal, Cordoba 14071, Spain
[2] Virginia Tech, Dept Comp Sci, Blacksburg, VA 24060 USA
关键词
Design pattern detection; Reverse engineering; Machine learning; Associative classification; Grammar-guided genetic programming; CLASSIFICATION; ALGORITHM;
D O I
10.1016/j.jss.2021.110919
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Design patterns (DPs) are recognised as a good practice in software development. However, the lack of appropriate documentation often hampers traceability, and their benefits are blurred among thousands of lines of code. Automatic methods for DP detection have become relevant but are usually based on the rigid analysis of either software metrics or specific properties of the source code. We propose GEML, a novel detection approach based on evolutionary machine learning using software properties of diverse nature. Firstly, GEML makes use of an evolutionary algorithm to extract those characteristics that better describe the DP, formulated in terms of human-readable rules, whose syntax is conformant with a context-free grammar. Secondly, a rule-based classifier is built to predict whether new code contains a hidden DP implementation. GEML has been validated over five DPs taken from a public repository recurrently adopted by machine learning studies. Then, we increase this number up to 15 diverse DPs, showing its effectiveness and robustness in terms of detection capability. An initial parameter study served to tune a parameter setup whose performance guarantees the general applicability of this approach without the need to adjust complex parameters to a specific pattern. Finally, a demonstration tool is also provided. (c) 2021 Elsevier Inc. All rights reserved.
引用
收藏
页数:24
相关论文
共 50 条
  • [1] GGREADA: A graph grammar-based machine design algorithm
    Linda C. Schmidt
    Jonathan Cagan
    [J]. Research in Engineering Design, 1997, 9 : 195 - 213
  • [2] GGREADA: A graph grammar-based machine design algorithm
    Schmidt, LC
    Cagan, J
    [J]. RESEARCH IN ENGINEERING DESIGN-THEORY APPLICATIONS AND CONCURRENT ENGINEERING, 1997, 9 (04): : 195 - 213
  • [3] From Plagiarism Detection to Bible Analysis: The Potential of Machine Learning for Grammar-Based Text Analysis
    Tschuggnall, Michael
    Specht, Guenther
    [J]. MACHINE LEARNING AND KNOWLEDGE DISCOVERY IN DATABASES, ECML PKDD 2016, PT III, 2016, 9853 : 245 - 248
  • [4] Timber Joints Analysis and Design Using Shape and Graph Grammar-Based Machine Learning Approach Synthetic Data Preparation of Timber Joints' Shape and Graph Grammar for Machine Learning Application
    Yau, Ho Man
    Dounas, Theodoros
    Jabi, Wassim
    Lombardi, Davide
    [J]. ECAADE 2023 DIGITAL DESIGN RECONSIDERED, VOL 1, 2023, : 569 - 578
  • [5] A Grammar-based Evolutionary Approach for Assessing Deep Neural Source Code Classifiers
    Saletta, Martina
    Ferretti, Claudio
    [J]. 2022 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2022,
  • [6] Grammar-Based Evolutionary Approach for Automatic Workflow Composition with Open Preprocessing Sequence
    Barbudo, Rafael
    Ventura, Sebastian
    Raul Romero, Jose
    [J]. PROCEEDINGS OF THE 13TH INTERNATIONAL CONFERENCE ON SOFT COMPUTING AND PATTERN RECOGNITION (SOCPAR 2021), 2022, 417 : 647 - 656
  • [7] A modular approach for multilingual timex detection and normalization using deep learning and grammar-based methods
    Escribano, Nayla
    Rigau, German
    Agerri, Rodrigo
    [J]. KNOWLEDGE-BASED SYSTEMS, 2023, 273
  • [8] A Grammar-Based Approach to Invertible Programs
    Matsuda, Kazutaka
    Mu, Shin-Cheng
    Hu, Zhenjiang
    Takeichi, Masato
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2010, 6012 : 448 - +
  • [9] A grammar-based approach to synonym analysis
    Bulonkov, MA
    Kochetov, DV
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 1996, 22 (03) : 126 - 133
  • [10] A Statistical, Grammar-Based Approach to Microplanning
    Gardent, Claire
    Perez-Beltrachini, Laura
    [J]. COMPUTATIONAL LINGUISTICS, 2017, 43 (01) : 1 - 30