【技术实现步骤摘要】
确定存在依赖违规的方法、装置、电子设备、介质及程序
本专利技术通常涉及软件工程领域,更具体地,涉及用于确定源代码中存在依赖违规的方法、装置、电子设备、计算机可读介质及程序。
技术介绍
软件架构设计文档一般采用自然语言来定义模块、组件、层、类、方法、子系统等这些实体之间的依赖关系。然而,在基于软件架构设计文档所开发的软件代码中有可能改变了这些依赖关系。希望提供一种可以检查基于软件架构设计文档所开发的软件代码相比于软件架构设计文档是否存在依赖违规的方法。
技术实现思路
在下文中给出关于本专利技术的简要概述,以便提供关于本专利技术的某些方面的基本理解。应当理解,这个概述并不是关于本专利技术的穷举性概述。它并不是意图确定本专利技术的关键或重要部分,也不是意图限定本专利技术的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。根据本专利技术的一个方面,确定源代码中存在依赖违规的方法,包括:将用于开发源代码的一篇架构设计文档输入一个预先存储的实体提取模型来提取架构设计文档中 ...
【技术保护点】
1.用于确定源代码中存在依赖违规的方法,包括:/n将用于开发源代码的一篇架构设计文档输入一个预先存储的实体提取模型来提取所述架构设计文档中包括的每一个单词的词向量,所述单词包括实体的单词和非实体的单词;/n按照所述架构设计文档的每一个句子中的单词的顺序,将所述每一个句子转换为用单词的词向量表示的序列数据,将转换得到的所述每一个句子的序列数据分别输入一个预先存储的关系提取模型,来提取所述架构设计文档中所有实体之间的关系;/n基于所提取的实体之间的关系,生成表示所述架构设计文档中所包括的实体以及实体之间的关系的依赖设计规则;/n将基于所述架构设计文档开发的源代码转换为第一依赖树 ...
【技术特征摘要】
1.用于确定源代码中存在依赖违规的方法,包括:
将用于开发源代码的一篇架构设计文档输入一个预先存储的实体提取模型来提取所述架构设计文档中包括的每一个单词的词向量,所述单词包括实体的单词和非实体的单词;
按照所述架构设计文档的每一个句子中的单词的顺序,将所述每一个句子转换为用单词的词向量表示的序列数据,将转换得到的所述每一个句子的序列数据分别输入一个预先存储的关系提取模型,来提取所述架构设计文档中所有实体之间的关系;
基于所提取的实体之间的关系,生成表示所述架构设计文档中所包括的实体以及实体之间的关系的依赖设计规则;
将基于所述架构设计文档开发的源代码转换为第一依赖树;以及
将所述第一依赖树与所述依赖设计规则进行比较,来确定所述源代码中是否存在依赖违规。
2.如权利要求1所述的方法,其中,
在生成表示所述架构设计文档中所包含的实体和实体之间的关系的依赖设计规则之后,所述方法还包括:将所述依赖设计规则转换为第二依赖树,
将所述第一依赖树与所述依赖设计规则进行比较包括:将所述第一依赖树与所述第二依赖树进行比较。
3.如权利要求1所述的方法,其中,将所述依赖设计规则格式化为三元组形式,所述三元组形式包括实体1,实体2,实体1和实体2之间的关系。
4.如权利要求1至3中任意一项所述的方法,其中,将基于所述架构设计文档开发的源代码转换为第一依赖树包括:
采用静态代码分析工具所述源代码进行扫描得到依赖结构矩阵,基于所述依赖结构矩阵来构建表示所述架构设计文档中所包括的实体之间的依赖关系的依赖树。
5.如权利要求4所述的方法,其中,对所述源代码进行扫描包括:对文件系统中存储的源代码进行扫描或对版本控制系统中存储的源代码进行扫描。
6.如权利要求1至5中任意一项所述的方法,其中,所述实体提取模型和所述关系提取模型...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。