架构变更提交语义切片:迈向语义设计评审
软件工程
2021-09-03 v1
摘要
软件架构变更涉及多个模块或组件,相较于局部代码变更更为复杂难析。旨在评审变更提交中架构方面(设计)的开发团队需考虑诸多关键场景,例如跨模块程序实体的访问规则与使用限制。此外,当恰当的架构表述对系统开发与部署至关重要时,设计评审必不可少。梳理架构变更、恢复语义设计以及生成设计说明是设计评审过程的关键任务。为支持这些任务,我们构建了一个轻量级工具 [4],可检测并分解包含架构实例的提交中的语义切片。语义切片由变更实例中所涉及模块、其类与方法及相连模块的关系信息描述组成,便于评审者理解。我们从源代码提取多种目录与命名结构(DANS)属性以开发该工具。利用 DANS 属性,我们的工具首先基于所定义度量检测架构变更实例,然后(基于字符串处理)分解切片。我们对十个开源项目(用 Java 和 Kotlin 开发)的初步研究表明,DANS 属性在检测和生成架构切片时具有极高的精确率与召回率(93-100%)。我们提出的工具将作为项目发布中语义设计恢复与设计摘要生成的初步方法。
引用
@article{arxiv.2109.00659,
title = {Semantic Slicing of Architectural Change Commits: Towards Semantic Design Review},
author = {Amit Kumar Mondal and Chanchal K. Roy and Kevin A. Schneider and Banani Roy and Sristy Sumana Nath},
journal= {arXiv preprint arXiv:2109.00659},
year = {2021}
}