一句话:提出 SARIF,通过细粒度分析并自适应融合依赖、代码文本和目录结构,提升软件架构自动恢复的准确率。
软件演化会使实现偏离架构文档,人工同步耗时且易错,自动架构恢复因此重要。现有方法通常只利用一两类信息,且使用粗粒度,遗漏细节。本文提出 SARIF:全自动架构恢复技术,综合依赖关系、代码文本和目录结构,对每类信息细粒度分析,并依据相关性与质量自适应融合。评估使用 6 个具有公开 ground-truth 架构的项目和 3 个由工业合作者标注的开源项目,与 9 种先进技术按 3 个常用和 2 个新相似度指标对比。结果显示 SARIF 平均准确率比此前最佳技术高 36.1%,可帮助理解系统并减少人工获取架构文档的开销。
Understanding the architecture is vital for effectively maintaining and managing large software systems. However, as software systems evolve over time, their architectures inevitably change. To keep up with the change, architects need to track the implementation-level changes and update the architectural documentation accordingly, which is time-consuming and error-prone. Therefore, many automatic architecture recovery techniques have been proposed to ease this process. Despite efforts have been made to improve the accuracy of architecture recovery, existing solutions still suffer from two limitations. First, most of them only use one or two type of information for the recovery, ignoring the potential usefulness of other sources. Second, they tend to use the information in a coarse-grained manner, overlooking important details within it. To address these limitations, we propose SARIF, a fully automated architecture recovery technique, which incorporates three types of comprehensive information, including dependencies, code text and folder structure. SARIF can recover architecture more accurately by thoroughly analyzing the details of each type of information and adaptively fusing them based on their relevance and quality. To evaluate SARIF, we collected six projects with published ground-truth architectures and three open-source projects labeled by our industrial collaborators. We compared SARIF with nine state-of-the-art techniques using three commonly-used architecture similarity metrics and two new metrics. The experimental results show that SARIF is 36.1% more accurate than the best of the previous techniques on average. By providing comprehensive architecture, SARIF can help users understand systems effectively and reduce the manual effort of obtaining ground-truth architectures.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{ZhangXL0SQL23,
title = {Software Architecture Recovery with Information Fusion},
author = {Yiran Zhang and Zhengzi Xu and Chengwei Liu and Hongxu Chen and Jianwen Sun and Dong Qiu and Yang Liu},
booktitle = {FSE},
year = {2023},
doi = {10.1145/3611643.3616285}
}