Automated construction of reference model for software remodularization through software evolution

被引:0
|
作者
Meng, Fanyi [1 ]
Yu, Hai [1 ]
Chong, Chun Yong [2 ]
Wang, Ying [1 ]
Zhu, Zhiliang [1 ]
机构
[1] Northeastern Univ, Software Coll, Shenyang, Peoples R China
[2] Monash Univ Malaysia, Sch Informat Technol, Selangor, Malaysia
关键词
reference model; software architecture; software clustering; software evolution; MODULARIZATION; IMPACT;
D O I
10.1002/smr.2700
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The undocumented evolution of a software project and its underlying architecture underscores the need to recover the architecture from the software's implementation-level artifacts. Despite the existence of various software remodularization techniques, they often suffer from inaccuracies, and evaluating their effectiveness is challenging due to the absence of accurate "ground-truth" architectures or reference models. Prior studies on reference model construction are time-consuming and labor-intensive as it heavily relies on manual analysis by domain experts. Besides, other existing approaches that directly utilize the directory or package structure of the latest version can be unreliable, lacking in-depth analysis of the employed software structure. To address the above limitations, in this paper, we propose Automated Construction of Reference Model (ACRM), an approach for automatically constructing reference models by assigning weights to classes for various software projects using the metadata of all software versions and historical maintenance records. We evaluate ACRM through both quantitative and qualitative analyses. The experiment results provide quantitative validation and show that the generated reference models are reasonable, as confirmed by the relationship between proposed reference models and architectural smells or bugs. Furthermore, we conduct a survey among the practitioners from industry, to gain insights from practitioners' practices and further validate the generated reference models. The survey shows that, on average, 87% of the participants agree with the reference models generated by ACRM. Moreover, we propose an improved metric, wc2c, which analyzes the strengths and weaknesses of different types of software clustering techniques using the proposed reference models of the given software. Finally, we discuss the potential benefits of using ACRM in analyzed projects, particularly in terms of improving software quality, reducing maintenance costs, and enhancing developer productivity. Automated construction of reference model (ACRM) automatically constructs reference models by assigning weights to classes for various software projects using the metadata of all software versions and historical maintenance records. ACRM can aid developers in selecting appropriate software clustering techniques in a more structured and rigorous manner by leveraging generated reference models. image
引用
收藏
页数:33
相关论文
共 50 条
  • [31] Selected Challenges of Software Evolution for Automated Production Systems
    Vogel-Heuser, B.
    Feldmann, S.
    Folmer, J.
    Ladiges, J.
    Fay, A.
    Lity, S.
    Tichy, M.
    Kowal, M.
    Schaefer, I.
    Haubeck, C.
    Lamersdorf, W.
    Kehrer, T.
    Getir, S.
    Ulbrich, M.
    Klebanov, V.
    Beckert, B.
    PROCEEDINGS 2015 IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2015, : 314 - 321
  • [32] Construction Software - Requirements of Engineers through the Ages
    Rustler, Walter
    BAUINGENIEUR, 2013, 88 : A3 - A3
  • [33] Automated support for framework-based software evolution
    Tourwé, T
    Mens, T
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2003, : 148 - 157
  • [34] Next Generation Automated Software Evolution Refactoring at Scale
    Ivers, James
    Ozkaya, Ipek
    Nord, Robert L.
    Seifried, Chris
    PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 1521 - 1524
  • [35] Towards a software industry corporate social responsibility reference model for software sustainability
    Jimenez, Elisa
    Moraga, Ma. Angeles
    Garcia, Felix
    Calero, Coral
    Garcia-Mireles, Gabriel Alberto
    SUSTAINABLE DEVELOPMENT, 2024, 32 (04) : 3471 - 3494
  • [36] Evolution Strategy Based Automated Software Clustering Approach
    Khan, Bilal
    Sohail, Shaleeza
    Javed, M. Younus
    PROCEEDINGS OF THE 2008 ADVANCED SOFTWARE ENGINEERING & ITS APPLICATIONS, 2008, : 27 - 34
  • [37] Using automated source code analysis for software evolution
    Burd, L
    Rank, S
    FIRST IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2001, : 204 - 210
  • [38] Software Evolution or Software Enhancement?
    Kurtel, Kaan
    Eren, Saban
    2018 3RD INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND ENGINEERING (UBMK), 2018, : 390 - 395
  • [39] Software maintenance versus software evolution: An approach to software systems evolution
    Parets, J
    Torres, JC
    IEEE SYMPOSIUM AND WORKSHOP ON ENGINEERING OF COMPUTER-BASED SYSTEMS, PROCEEDINGS, 1996, : 134 - 141
  • [40] Software testing evolution process model and growth of software testing quality
    He ZhiTao
    Liu Chao
    Yan HaiHua
    SCIENCE CHINA-INFORMATION SCIENCES, 2015, 58 (03) : 1 - 6