【技术实现步骤摘要】
本专利技术属于软件工程领域中的软件架构恢复,具体涉及一种基于结构依赖和语义相似性的软件架构恢复方法和系统。
技术介绍
1、软件架构是代表组件、组件间交互以及指导开发过程的总体设计原则的蓝图,它可以显著影响整个软件生命周期。随着软件不断发展以满足不断变化的需求,其架构往往会偏离原始设计,这将导致软件架构退化,从而损害软件的质量属性,如可维护性、可扩展性和性能。为了减轻软件架构退化的影响,架构师和开发人员必须先了解软件系统的当前架构,然后才能进行适当的调整。然而,手动分析和恢复系统架构是一项劳动密集型且容易出错的过程,尤其是在软件规模和复杂性不断增长的情况下。架构师通常需要投入大量时间和精力进行架构恢复,先前的研究表明,即使对于中型项目(70-280 k行代码),经验丰富的恢复专家平均也需要100小时才能构建准确的“真实”架构。
2、为了应对这一挑战,研究人员近年来提出了许多软件架构恢复技术,这些技术旨在从实现级工件中自动提取架构信息,以帮助开发人员更好地理解当前的软件架构。现有方法主要可分为三类:基于依赖关系的方法,利用文件之
...【技术保护点】
1.一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,包括:
2.根据权利要求1所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,所述通过代码预训练模型对软件的源代码文件进行编码和嵌入,提取所述源代码文件的语义信息,计算所述源代码文件之间的语义相似性包括:
3.根据权利要求2所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,计算所述源代码文件之间的连接权重的方法为:
4.根据权利要求3所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,基于每个源代码文件的代码表示生成的语义嵌入
...【技术特征摘要】
1.一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,包括:
2.根据权利要求1所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,所述通过代码预训练模型对软件的源代码文件进行编码和嵌入,提取所述源代码文件的语义信息,计算所述源代码文件之间的语义相似性包括:
3.根据权利要求2所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,计算所述源代码文件之间的连接权重的方法为:
4.根据权利要求3所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,基于每个源代码文件的代码表示生成的语义嵌入向量,两个源代码文件之间的语义嵌入向量的余弦相似性与1之和的均值作为所述两个源代码文件之间的语义相似性值。
5.根据权利要求3所述的一种基于结构依赖和语义相似性的软件架构恢复方法,其特征在于,两个源代码文件之间的结构依赖关系具体为:不存在依赖关系、存在依赖关系、存在循环依赖关系,所述两个源代码文件之间的结构依赖性值随所述不存在依赖关系、所述存在依赖关系、所述存在循环依赖...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。