Parallelization of genetic algorithms for software architecture recovery

被引:0
|
作者
Varol, Taha [1 ]
Elyasi, Milad [1 ]
Aktas, T. Huzeyfe [1 ]
Ozener, O. Orsan [1 ]
Sozer, Hasan [1 ]
机构
[1] Ozyegin Univ, TR-34794 Istanbul, Turkiye
关键词
Software architecture recovery; Software module clustering; Software modularity; Genetic algorithms; Parallel algorithms; MODULARIZATION; SYSTEMS; DESIGN;
D O I
10.1007/s10515-024-00479-0
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software Architecture Recovery (SAR) techniques analyze dependencies between software modules and automatically cluster them to achieve high modularity. Many of these approaches employ Genetic Algorithms (GAs) for clustering software modules. A major drawback of these algorithms is their lack of scalability. In this paper, we address this drawback by introducing generic software components that can encapsulate subroutines (operators) of a GA to execute them in parallel. We use these components to implement a novel hybrid GA for SAR that exploits parallelism to find better solutions faster. We compare the effectiveness of parallel algorithms with respect to the sequential counterparts that are previously proposed for SAR. We observe that parallelization enables a greater number of iterations to be performed in the search for high-quality solutions. The increased efficiency achieved through parallel processing allows for faster convergence towards optimal solutions by harnessing the power of multiple processing units in a coordinated manner. The amount of improvement in modularity is above 50%, which particularly increases in the context of large-scale systems. Our algorithm can scale to recover the architecture of a large system, Chromium, which has more than 18,500 modules and 750,000 dependencies among these modules.
引用
收藏
页数:24
相关论文
共 50 条
  • [21] Multilevel Parallelization of Unsupervised Learning Algorithms in Pattern Recognition on a Roadrunner Architecture
    Pentiuc, Stefan-Gheorghe
    Ungurean, Ioan
    INTELLIGENT DISTRIBUTED COMPUTING V, 2011, 382 : 71 - 80
  • [22] Architecture, implementation and parallelization of the software to search for periodic gravitational wave signals
    Poghosyan, G.
    Matta, S.
    Streit, A.
    Bejger, M.
    Krolak, A.
    COMPUTER PHYSICS COMMUNICATIONS, 2015, 188 : 167 - 176
  • [23] Implementing genetic algorithms to CUDA environment using data parallelization
    Oiso, Masashi
    Matsumura, Yoshiyuki
    Yasuda, Toshiyuki
    Ohkura, Kazuhiro
    Tehnicki Vjesnik, 2011, 18 (04): : 511 - 517
  • [24] Software Architecture Recovery with Information Fusion
    Zhang, Yiran
    Xu, Zhengzi
    Liu, Chengwei
    Chen, Hongxu
    Sun, Jianwen
    Qiu, Dong
    Liu, Yang
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 1535 - 1547
  • [25] Hierarchical clustering for software architecture recovery
    Maqbool, Onaiza
    Babri, Haroon A.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (11) : 759 - 780
  • [26] The Value of Software Architecture Recovery for Maintenance
    Link, Daniel
    Behnamghader, Pooyan
    Moazeni, Ramin
    Boehm, Barry
    PROCEEDINGS OF THE 12TH INNOVATIONS ON SOFTWARE ENGINEERING CONFERENCE (ISEC), 2019,
  • [27] Bayesian learning for software architecture recovery
    Maqbool, O.
    Babri, H. A.
    2007 INTERNATIONAL CONFERENCE ON ELECTRICAL ENGINEERING, 2007, : 153 - +
  • [28] Software architecture recovery of a program family
    Eixelsberger, W
    Ogris, M
    Gall, H
    Bellay, B
    PROCEEDINGS OF THE 1998 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1998, : 508 - 511
  • [29] Software System for Maximal Parallelization of Algorithms on the Base of the Conception of Q-determinant
    Aleeva, Valentina N.
    Sharabura, Ilya S.
    Suleymanov, Denis E.
    PARALLEL COMPUTING TECHNOLOGIES (PACT 2015), 2015, 9251 : 3 - 9
  • [30] A software architecture for parallel particle tracking algorithms
    Cheng, JRC
    Plassmann, PE
    PDPTA'03: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS 1-4, 2003, : 656 - 661