1.安徽工业大学计算机科学与技术学院, 安徽马鞍山 243000
2.东南大学计算机科学与工程学院,江苏南京 210000
[ "王 桐 女,1990年出生于黑龙江绥化市.博士.现为安徽工业大学计算机科学与技术学院讲师.主要研究方向为智能化软件架构维护与演进. E-mail: tongwang_se@163.com" ]
李必信 男,1969年出生于安徽庐江县.现任东南大学计算机科学与工程学院教授、博士生导师.主要研究方向为智能软件开发、软件测试和缺陷检测.
王东东 男,1993年出生于山东滕州.硕士研究生.主要研究方向为软件架构恢复.
收稿:2021-07-26,
修回:2022-01-13,
纸质出版:2023-03-25
移动端阅览
王桐,李必信,王东东.一种基于MAAT两步匹配的架构多层次变更检测方法[J].电子学报,2023,51(03):694-700.
WANG Tong,LI Bi-xin,WANG Dong-dong.A Software Architecture Multiple-Level Change Detection Method Based on Two-Step MAAT Matching[J].ACTA ELECTRONICA SINICA,2023,51(03):694-700.
王桐,李必信,王东东.一种基于MAAT两步匹配的架构多层次变更检测方法[J].电子学报,2023,51(03):694-700. DOI: 10.12263/DZXB.20210988.
WANG Tong,LI Bi-xin,WANG Dong-dong.A Software Architecture Multiple-Level Change Detection Method Based on Two-Step MAAT Matching[J].ACTA ELECTRONICA SINICA,2023,51(03):694-700. DOI: 10.12263/DZXB.20210988.
掌握软件架构的变更对软件的持续演进具有十分重要的作用,然而目前的变更检测方法主要关注于细粒度的代码变更,忽略了对架构层级的检测.为了检测架构层级的变更,本文提出一种基于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 level. 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. Firstly
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 T , WANG D D , LI B X . A multilevel analysis method for architecture erosion [C]// Proceedings of the 31st International Conference on Software Engineering and Knowledge Engineering . Lisbon : KSI Research Inc and Knowledge Systems Institute Graduate School , 2019 : 443 - 448 .
SUN X B , ZHOU T C , WANG R C , et al . Experience report: Investigating bug fixes in machine learning frameworks/libraries [J]. Frontiers of Computer Science , 2021 , 15 ( 6 ): 1 - 16 .
王桐 , 廖力 , 李必信 . 一种基于演进原则度量的软件架构持续演进效果评估方法 [J]. 电子学报 , 2019 , 47 ( 7 ): 1475 - 1481 .
WANG T , LIAO L , LI B X . An approach to evaluate the sustainable evolution effect of software architecture based on the measurements of evolution principles [J]. Acta Electronica Sinica , 2019 , 47 ( 7 ): 1475 - 1481 . (in Chinese)
CANFORA G , CERULO L , DI PENTA M . Ldiff: An enhanced line differencing tool [C]// 2009 IEEE 31st International Conference on Software Engineering . Piscataway : IEEE , 2009 : 595 - 598 .
CANFORA G , CERULO L , PENTA M D . Identifying changed source code lines from version repositories [C]// Fourth International Workshop on Mining Software Repositories . Minneapolis : IEEE , 2007 : 14 - 14 .
AYINALA K T , CHENG K S , OH K , et al . Tool support for code change inspection with deep learning in evolving software [C]// 2020 IEEE International Conference on Electro Information Technology . Piscataway : IEEE , 2020 : 13 - 17 .
DOTZLER G , PHILIPPSEN M . Move-optimized source code tree differencing [C]// 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE) . Piscataway : IEEE , 2016 : 660 - 671 .
FLURI B , WURSCH M , PINZGER M , et al . Change distilling: Tree differencing for fine-grained source code change extraction [J]. IEEE Transactions on Software Engineering , 2007 , 33 ( 11 ): 725 - 743 .
WANG T , ZHANG Y L , LI B X . Recover and Optimize Software Architecture based on Source code and Directory Hierarchies [C]// The 31st International Conference on Software Engineering and Knowledge Engineering . Lisbon : KSI Research Inc. and Knowledge Systems Institute Graduate School , 2019 : 469 - 472 .
FALLERI J R , MORANDAT F , BLANC X , et al . Fine-grained and accurate source code differencing [C]// Proceedings of the 29th ACM/IEEE International Conference On Automated Software Engineering . New York : ACM , 2014 : 313 - 324 .
MIRAKHORLI M , CLELAND-HUANG J . Detecting, tracing, and monitoring architectural tactics in code [J]. IEEE Transactions on Software Engineering , 2016 , 42 ( 3 ): 205 - 220 .
CHAWATHE S S , RAJARAMAN A , GARCIA-MOLINA H , et al . Change detection in hierarchically structured information [J]. ACM SIGMOD Record , 1996 , 25 ( 2 ): 493 - 504 .
HIGO Y , OHTANI A , KUSUMOTO S . Generating simpler AST edit scripts by considering copy-and-paste [C]// 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE) . Piscataway : IEEE , 2017 : 532 - 542 .
FRICK V , GRASSAUER T , BECK F , et al . Generating accurate and compact edit scripts using tree differencing [C]// 2018 IEEE International Conference on Software Maintenance and Evolution . Piscataway : IEEE , 2018 : 264 - 274 .
0
浏览量
17
下载量
0
CSCD
关联资源
相关文章
相关作者
相关机构
京公网安备11010802024621