计算机科学 ›› 2024, Vol. 51 ›› Issue (11A): 240100130-9.doi: 10.11896/jsjkx.240100130
钟林辉, 杨超逸, 夏子豪, 黄淇轩, 屈乔乔, 李方云, 孙文彬
ZHONG Linhui, YANG Chaoyi, XIA Zihao, HUANG Qixuan, QU Qiaoqiao, LI Fangyun, SUN Wenbin
摘要: 软件体系结构风格是对软件通用结构的泛化,软件的结构风格通常与结构特征密切相关,通过向某种风格演化能够使其软件的结构特征更加明显。传统的面向软件体系结构风格的演化方法在构建演化路径时,需要人工构造目标软件体系结构,因此缺少自动化的支持。目前,亦未提出针对软件体系结构风格的度量方法。因此,文中以正交化软件体系结构风格为例,提出了一种遗传算法与规划领域定义语言(Planning Domain Definition Language-PDDL)相结合的软件体系结构风格演化路径生成方法。该方法提出了一种基于语义相似度的遗传变异算子和正交软件体系结构风格的度量方法,提出了软件体系结构与PDDL的映射规则。实验证明,提出的遗传变异算子相比通用变异算子能更好地提升算法前期的收敛效率,正交软件体系结构风格演化完成后,软件的计算变动代价、正交风格距离以及McCabe度量等指标得以改善。
中图分类号:
[1]MEI H,SHEN J R.Progress of Research on Software Architecture[J].Journal of Software,2006,17(6):1257-1275.(in Chinese) 梅宏,申峻嵘.软件体系结构研究进展[J].软件学报,2006,17(6):1257-1275. [2]DUCASSE S,POLLETD.Software architecture reconstruction:A process-oriented taxonomy[J].IEEE Transactions on Software Engineering,2009,35(4):573-591. [3]MANCORIDIS S,MITCHELL B S,RORRES C,et al.Usingautomatic clustering to produce high-level system organizations of source code[C]//Proceedings 6th International Workshop on Program Comprehension(IWPC'98)(Cat.No.98TB100242).IEEE,1998:45-52. [4]BARNES J M,PANDEY A,GARLAN D.Automated planning for software architecture evolution[C]//2013 28th IEEE/ACM International Conference on Automated Software Engineering(ASE).IEEE,2013:213-223. [5]CHONDAMRONGKUL N,SUN J,WARRENI.Software architectural migration:An automated planning approach[J].ACM Transactions on Software Engineering and Methodology(TOSEM),2021,30(4):1-35. [6]MAHDAVI K,HARMAN M,HIERONS R M.A multiple hill climbing approach to software module clustering[C]//International Conference on Software Maintenance,2003.IEEE,2003:315-324. [7]ABDEEN H,DUCASSE S,SAHRAOUI H,et al.Automaticpackage coupling and cycle minimization[C]//2009 16th Working Conference on Reverse Engineering.IEEE,2009:103-112. [8]PRAJAPATI A,GEEM Z W.Harmony search-based approach for multi-objective software architecture reconstruction[J].Mathematics,2020,8(11):1906. [9]LIN Y,PENG X,CAI Y,et al.Interactive and guided architectural refactoring with search-based recommendation[C]//Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering.2016:535-546. [10]MURPHY G,NOTKIN D,SULLIVAN K.Software reflexion models:bridging the gap between design and implementation[J].IEEE Transaction on Software Engineering,2001,27(4):364-380. [11]ZHONG L H,XIA J,PENG Y,et al.Research on a Method of Software Architecture Change Measure with Graph Edit Distance and its Application[J].Journal of Chinese Computer Systems,2018,39(3):425-432.(in Chinese) 钟林辉,夏鲸,彭云,等.一种图编辑距离的软件体系结构变化性度量方法及应用研究[J].小型微型计算机系统,2018,39(3):425-432. [12]ZHANG Y S.Models of Orthogonal Software Architecture[J].Computer Applications,2004,24(6):96-98.(in Chinese) 张友生.正交软件体系结构模型[J].计算机应用,2004,24(6):96-98110 [13]XUAN R,CHEN L,SHI H H.The reusable design and implementation of graph algorithms family [J].Journal of Jiangxi Normal Uniyersity(Natural Science),2023,47(1):52-60.(in Chinese) 轩瑞,陈磊,石海鹤.图类算法可重用设计及其实现[J].江西师范大学学报(自然科学版),2023,47(1):52-60. [14]EFSTATHIOU V,CHATZILENAS C,SPINELLIS D.Wordembeddings for the software engineering domain[C]//Procee-dings of the 15th International Conference on Mining Software Repositories.2018:38-41. [15]ARORA S,LIANG Y,MA T.A simple but tough-to-beat baseline for sentence embeddings[C]//International Conference on Learning Representations.2017. [16]GEREVINI A,SERINA I.LPG:A Planner Based on LocalSearch for Planning Graphs with Action Costs[C]//AIPS.2002,2:281-290. [17]MCCABE T J.A complexity measure[J].IEEE Transactions on Software Engineering,1976(4):308-320. [18]ZHONG L H,QI J,YE H T,et al.The Study on the Method for Matching the Software Evolutionary Style Based on Multi-Dimensional Evolutionary Tree[J].Journal of Jiangxi Normal Uniyersity(Natural Science),2021,45(1):55-59.(in Chinese) 钟林辉,齐杰,叶海涛,等.基于多维属性演化树的软件演化风格匹配方法研究[J].江西师范大学学报(自然科学),2021,45(1):55-59. |
|