Skip to main content
Log in

An incremental software architecture recovery technique driven by code changes

代码变更驱动的增量式软件架构恢复技术

  • Research Article
  • Published:
Frontiers of Information Technology & Electronic Engineering Aims and scope Submit manuscript

Abstract

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.

摘要

在软件演化过程中, 受开发能力和投入资源限制, 软件架构通常难以与代码保持同步更新, 导致架构设计与代码产生不一致, 对软件维护等工作造成潜在影响。为解决此问题, 本文提出一种增量式软件架构恢复技术, 即ISAR。该技术首先从变更代码片段中提取依赖信息, 然后根据依赖强度分析模块间关联关系, 最后基于代码变更与架构更新间的关联关系设计两层分类器以恢复架构。本文基于10个开源项目构建验证实验, 结果表明ISAR在架构恢复精度和效率方面优于传统技术。此外, 本文发现架构设计文档质量对ISAR架构恢复精度有一定影响, 但随着版本迭代逐渐趋于稳定。

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

Download references

Author information

Authors and Affiliations

Authors

Contributions

Bixin LI designed the technical framework. Li WANG and Xianglong KONG implemented the approach and drafted the paper. Jiahui WANG proposed the initial idea and confirmed the correctness of the recovered architecture. Bixin LI revised and finalized the paper.

Corresponding author

Correspondence to Bixin Li  (李必信).

Additional information

Compliance with ethics guidelines

Li WANG, Xianglong KONG, Jiahui WANG, and Bixin LI declare that they have no conflict of interest.

Project supported by the National Natural Science Foundation of China (No. 61872078)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wang, L., Kong, X., Wang, J. et al. An incremental software architecture recovery technique driven by code changes. Front Inform Technol Electron Eng 23, 664–677 (2022). https://doi.org/10.1631/FITEE.2100461

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1631/FITEE.2100461

Key words

关键词

CLC number

Navigation