计算机科学 ›› 2024, Vol. 51 ›› Issue (11A): 240100130-9.doi: 10.11896/jsjkx.240100130

• 计算机软件&体系架构 • 上一篇    下一篇

面向风格的软件体系结构演化路径生成方法

钟林辉, 杨超逸, 夏子豪, 黄淇轩, 屈乔乔, 李方云, 孙文彬   

  1. 江西师范大学计算机信息工程学院 南昌 330022
  • 出版日期:2024-11-16 发布日期:2024-11-13
  • 通讯作者: 钟林辉(shiningto@jxnu.edu.cn)
  • 基金资助:
    国家自然科学基金(62062039,61966017);江西省自然科学基金(20212BAB202017,20224BAB202013,20212BAB202018);校教改课题(JXSDJG2044)

Style-oriented Software Architecture Evolution Path Generation Method

ZHONG Linhui, YANG Chaoyi, XIA Zihao, HUANG Qixuan, QU Qiaoqiao, LI Fangyun, SUN Wenbin   

  1. College of Computer and Information Engineering,Jiangxi Normal University,Nanchang 330022,China
  • Online:2024-11-16 Published:2024-11-13
  • About author:ZHONG Linhui,born in 1974,Ph.D,professor,is a member of CCF(No.09772M).His main research interests include software architecture,software evolution and maintenance.
  • Supported by:
    National Natural Science Foundation of China(62062039,61966017),Natural Science Foundation of Jiangxi Province,China(20212BAB202017,20224BAB202013,20212BAB202018) and School Education Reform Project(JXSDJG2044).

摘要: 软件体系结构风格是对软件通用结构的泛化,软件的结构风格通常与结构特征密切相关,通过向某种风格演化能够使其软件的结构特征更加明显。传统的面向软件体系结构风格的演化方法在构建演化路径时,需要人工构造目标软件体系结构,因此缺少自动化的支持。目前,亦未提出针对软件体系结构风格的度量方法。因此,文中以正交化软件体系结构风格为例,提出了一种遗传算法与规划领域定义语言(Planning Domain Definition Language-PDDL)相结合的软件体系结构风格演化路径生成方法。该方法提出了一种基于语义相似度的遗传变异算子和正交软件体系结构风格的度量方法,提出了软件体系结构与PDDL的映射规则。实验证明,提出的遗传变异算子相比通用变异算子能更好地提升算法前期的收敛效率,正交软件体系结构风格演化完成后,软件的计算变动代价、正交风格距离以及McCabe度量等指标得以改善。

关键词: 软件体系结构, 软件体系结构风格, 遗传算法, 软件演化, 基于搜索的软件工程

Abstract: Software architecture style is a generalization of the common structure of software,and the structure style of software is usually closely related to the structural characteristics.By evolving to a certain style,the structural characteristics of the software can be more obvious.Traditional software architecture style evolution methods not only require manual construction of the target software architecture when building the evolution path,which lack the automation support,but also no measurement method for software architecture style has been proposed.Therefore,this paper takes orthogonal software architecture style as an example and proposes a software architecture style evolution path generation method that combines genetic algorithm and planning domain definition language(PDDL).This method proposes a genetic mutation operator based on semantic similarity and a measurement method for orthogonal software architecture style,and proposes the mapping rules between software architecture and PDDL.Experiments show that the proposed genetic mutation operator can better improve the convergence efficiency of the algorithm in the early stage,and after the orthogonal software architecture style evolution is completed,the software is improved in terms of change cost,orthogonal style distance and McCabe measurement.

Key words: Software architecture, Software architecture style, Genetic algorithm, Software evolution, Search-based software engineering

中图分类号: 

  • TP311
[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.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!