摘要
掌握软件架构的变更对软件的持续演进具有十分重要的作用,然而目前的变更检测方法主要关注于细粒度的代码变更,忽略了对架构层级的检测.为了检测架构层级的变更,本文提出一种基于MAAT(Multilevel Architecture Analysis Tree)两步匹配的架构多层次变更检测方法.该方法包括三个步骤,分别是:构造MAAT;基于两个MAAT实施两步匹配算法检测变更;对变更进行分类和聚类.基于以上算法,我们开发了工具ACAnalyzer.实验结果证明,ACAnalyzer具有较好的准确性和性能.
Understanding the change of software architecture plays an important role in the continuous evolution of software.However,the current change detection methods mainly focus on fine-grained code and ignore the architecture lev⁃el.In order to detect the change of architecture level,we propose a software architecture multiple-level change detection method based on two-step MAAT(Multilevel Architecture Analysis Tree)matching.The method includes three steps.First⁃ly,we construct an MAAT for each program.Secondly,a two-step matching algorithm is implemented to detect changes based on the two MAATs.Finally,we classify and cluster these changes.Based on the above algorithm,we develop the tool ACAnalyzer.And experimental results prove that ACAnalyzer has good accuracy and performance.
作者
王桐
李必信
王东东
WANG Tong;LI Bi-xin;WANG Dong-dong(School of Computer Science and Technology,Anhui University of Technology,Maanshan,Anhui 243000,China;School of Computer Science and Engineering,Southeast University,Nanjing,Jiangsu 210000,China)
出处
《电子学报》
EI
CAS
CSCD
北大核心
2023年第3期694-700,共7页
Acta Electronica Sinica
基金
国家重点研发计划(No.2019YFE0105500)
国家自然科学基金(No.61872078)
安徽省自然科学基金(No.2108085QF263)
安徽工业大学青年基金(No.QZ202013)。
关键词
软件架构
变更检测
抽象语法树
软件演进
两步匹配
software architecture
change detection
abstract syntax tree
software evolution
two-step matching