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

作者:王丽; 孔祥龙; 王家慧; 李必信*
来源:Frontiers of Information Technology & Electronic Engineering, 2022, 23(05): 664-678.

摘要

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