一种基于结构依赖和语义相似性的软件架构恢复方法和系统技术方案

技术编号:46592028 阅读:1 留言:0更新日期:2025-10-10 21:25
本发明专利技术公开了一种基于结构依赖和语义相似性的软件架构恢复方法和系统,该方法包括:通过代码预训练模型对软件的源代码文件进行编码和嵌入,提取所述源代码文件的语义信息,计算所述源代码文件之间的语义相似性;使用代码统计分析工具提取所述源代码文件之间的结构依赖关系;结合所述语义相似性和所述结构依赖关系,计算所述源代码文件之间的连接权重,构建加权图;采用社区检测算法将所述加权图划分为代表软件模块的社区,恢复软件架构。本发明专利技术提供的方法通过结合语义相似性和结构依赖性来构建加权图,并采用社区检测算法进行软件模块化分割,提高了软件架构恢复的效率、准确性和可扩展性。

【技术实现步骤摘要】

本专利技术属于软件工程领域中的软件架构恢复,具体涉及一种基于结构依赖和语义相似性的软件架构恢复方法和系统


技术介绍

1、软件架构是代表组件、组件间交互以及指导开发过程的总体设计原则的蓝图,它可以显著影响整个软件生命周期。随着软件不断发展以满足不断变化的需求,其架构往往会偏离原始设计,这将导致软件架构退化,从而损害软件的质量属性,如可维护性、可扩展性和性能。为了减轻软件架构退化的影响,架构师和开发人员必须先了解软件系统的当前架构,然后才能进行适当的调整。然而,手动分析和恢复系统架构是一项劳动密集型且容易出错的过程,尤其是在软件规模和复杂性不断增长的情况下。架构师通常需要投入大量时间和精力进行架构恢复,先前的研究表明,即使对于中型项目(70-280 k行代码),经验丰富的恢复专家平均也需要100小时才能构建准确的“真实”架构。

2、为了应对这一挑战,研究人员近年来提出了许多软件架构恢复技术,这些技术旨在从实现级工件中自动提取架构信息,以帮助开发人员更好地理解当前的软件架构。现有方法主要可分为三类:基于依赖关系的方法,利用文件之间的结构依赖关系来识本文档来自技高网...

【技术保护点】

1.一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,包括:

2.根据权利要求1所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,所述通过代码预训练模型对软件的源代码文件进行编码和嵌入,提取所述源代码文件的语义信息,计算所述源代码文件之间的语义相似性包括:

3.根据权利要求2所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,计算所述源代码文件之间的连接权重的方法为:

4.根据权利要求3所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,基于每个源代码文件的代码表示生成的语义嵌入向量,两个源代码文件...

【技术特征摘要】

1.一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,包括:

2.根据权利要求1所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,所述通过代码预训练模型对软件的源代码文件进行编码和嵌入,提取所述源代码文件的语义信息,计算所述源代码文件之间的语义相似性包括:

3.根据权利要求2所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,计算所述源代码文件之间的连接权重的方法为:

4.根据权利要求3所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,基于每个源代码文件的代码表示生成的语义嵌入向量,两个源代码文件之间的语义嵌入向量的余弦相似性与1之和的均值作为所述两个源代码文件之间的语义相似性值。

5.根据权利要求3所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,两个源代码文件之间的结构依赖关系具体为:不存在依赖关系、存在依赖关系、存在循环依赖关系,所述两个源代码文件之间的结构依赖性值随所述不存在依赖关系、所述存在依赖关系、所述存在循环依赖...

【专利技术属性】
技术研发人员:莫然丁威
申请(专利权)人:华中师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1