An incremental software architecture recovery technique driven by code changes

被引:4
作者
Wang, Li [1 ,2 ]
Kong, Xianglong [1 ]
Wang, Jiahui [3 ]
Li, Bixin [1 ]
机构
[1] Southeast Univ, Sch Comp Sci & Engn, Nanjing 210096, Peoples R China
[2] Jiangsu Automat Res Inst, Lianyungang 222061, Peoples R China
[3] Huawei Digital Technol Lab, Suzhou 215125, Peoples R China
基金
中国国家自然科学基金;
关键词
Architecture recovery; Software evolution; Code change; TP311; CLUSTERING ALGORITHMS; DEPENDENCIES;
D O I
10.1631/FITEE.2100461
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
It is difficult to keep software architecture up to date with code changes during software evolution. Inconsistency is caused by the limitations of standard development specifications and human power resources, which may impact software maintenance. To solve this problem, we propose an incremental software architecture recovery (ISAR) technique. Our technique obtains dependency information from changed code blocks and identifies different strength-level dependencies. Then, we use double classifiers to recover the architecture based on the method of mapping code-level changes to architecture-level updates. ISAR is evaluated on 10 open-source projects, and the results show that it performs more effectively and efficiently than the compared techniques. We also find that the impact of low-quality architectural documentation on effectiveness remains stable during software evolution.
引用
收藏
页码:664 / 677
页数:14
相关论文
共 31 条
  • [1] An incremental software architecture recovery technique driven by code changes代码变更驱动的增量式软件架构恢复技术
    Li Wang
    Xianglong Kong
    Jiahui Wang
    Bixin Li
    Frontiers of Information Technology & Electronic Engineering, 2022, 23 : 664 - 677
  • [2] Measuring the Impact of Code Dependencies on Software Architecture Recovery Techniques
    Lutellier, Thibaud
    Chollak, Devin
    Garcia, Joshua
    Tan, Lin
    Rayside, Derek
    Medvidovic, Nenad
    Kroeger, Robert
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (02) : 159 - 181
  • [3] Identifying Semantic Outliers of Source Code Artifacts and Their Application to Software Architecture Recovery
    Lee, Ki-Seong
    Lee, Chan-Gun
    IEEE ACCESS, 2020, 8 (08): : 212467 - 212477
  • [4] Software Architecture Recovery
    Rasool, Ghulam
    Asif, Nadim
    PROCEEDINGS OF WORLD ACADEMY OF SCIENCE, ENGINEERING AND TECHNOLOGY, VOL 23, 2007, 23 : 434 - +
  • [5] Software architecture recovery of embedded software
    Eixelsberger, W
    Klosch, R
    Warholm, L
    Gall, H
    PROCEEDINGS OF THE 1997 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1997, : 558 - 559
  • [6] Hierarchical clustering for software architecture recovery
    Maqbool, Onaiza
    Babri, Haroon A.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (11) : 759 - 780
  • [7] 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,
  • [8] Evolution in Software Architecture Recovery Techniques - A Survey
    Zahid, Maryam
    Mehmmod, Zahid
    Inayat, Irum
    2017 13TH INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES (ICET 2017), 2017,
  • [9] Evolutionary and collaborative software architecture recovery with Softwarenaut
    Lungu, Mircea
    Lanza, Michele
    Nierstrasz, Oscar
    SCIENCE OF COMPUTER PROGRAMMING, 2014, 79 : 204 - 223
  • [10] A Study of Repetitiveness of Code Changes in Software Evolution
    Hoan Anh Nguyen
    Anh Tuan Nguyen
    Tung Thanh Nguyen
    Nguyen, Tien N.
    Rajan, Hridesh
    2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 180 - 190