[发明专利]确定存在依赖违规的方法、装置、电子设备、介质及程序在审
申请号: | 201811101865.1 | 申请日: | 2018-09-20 |
公开(公告)号: | CN110928546A | 公开(公告)日: | 2020-03-27 |
发明(设计)人: | 韩克;高亮 | 申请(专利权)人: | 西门子股份公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/74 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵冬梅 |
地址: | 德国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 确定 存在 依赖 违规 方法 装置 电子设备 介质 程序 | ||
本发明涉及确定存在依赖违规的方法、装置、电子设备、介质及程序。该方法包括:将用于开发源代码的架构设计文档输入实体提取模型来提取架构设计文档中包括的每一个单词的词向量,单词包括实体的单词和非实体的单词;按照架构设计文档的每一个句子中的单词的顺序,将每一个句子转换为用单词的词向量表示的序列数据,将转换得到的句子的序列数据分别输入关系提取模型,来提取架构设计文档中所有实体之间的关系;基于所提取的实体之间的关系,生成表示架构设计文档中所包括的实体以及实体之间的关系的依赖设计规则;将基于架构设计文档开发的源代码转换为第一依赖树;以及将第一依赖树与依赖设计规则进行比较,来确定源代码中是否存在依赖违规。
技术领域
本发明通常涉及软件工程领域,更具体地,涉及用于确定源代码中存在依赖违规的方法、装置、电子设备、计算机可读介质及程序。
背景技术
软件架构设计文档一般采用自然语言来定义模块、组件、层、类、方法、子系统等这些实体之间的依赖关系。然而,在基于软件架构设计文档所开发的软件代码中有可能改变了这些依赖关系。
希望提供一种可以检查基于软件架构设计文档所开发的软件代码相比于软件架构设计文档是否存在依赖违规的方法。
发明内容
在下文中给出关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
根据本发明的一个方面,确定源代码中存在依赖违规的方法,包括:将用于开发源代码的一篇架构设计文档输入一个预先存储的实体提取模型来提取架构设计文档中包括的每一个单词的词向量,单词包括实体的单词和非实体的单词;按照架构设计文档的每一个句子中的单词的顺序,将每一个句子转换为用单词的词向量表示的序列数据,将转换得到的每一个句子的序列数据分别输入一个预先存储的关系提取模型,来提取架构设计文档中所有实体之间的关系;基于所提取的实体之间的关系,生成表示架构设计文档中所包括的实体以及实体之间的关系的依赖设计规则;将基于架构设计文档开发的源代码转换为第一依赖树;以及将第一依赖树与依赖设计规则进行比较,来确定源代码中是否存在依赖违规。
以这样的方式,通过将基于源代码转换的依赖树和基于架构设计文档生成的依赖设计规则进行比较,可以确定源代码所实现的实体及实体之间的关系相比于架构设计文档中所定义的实体及实体之间的关系是否存在不一致,也即确定是否存在依赖违规。
优选地,在上述方面的一个示例中,在生成表示架构设计文档中所包含的实体和实体之间的关系的依赖设计规则之后,所述方法还包括:将依赖设计规则转换为第二依赖树,其中,将第一依赖树与依赖设计规则进行比较包括:将第一依赖树与第二依赖树进行比较。
以这样的方式,将依赖设计规则转换为第二依赖树,再将第一依赖树与第二依赖树进行比较,更加直观、方便。
优选地,在上述方面的一个示例中,将依赖设计规则格式化为(实体1,实体2,实体1和实体2之间的关系)的三元组形式。
以这样的方式,可以以更加清楚的形式来表示架构设计文档中的依赖设计规则。
优选地,在上述方面的一个示例中,将基于架构设计文档开发的源代码转换为第一依赖树包括:采用静态代码分析工具源代码进行扫描得到依赖结构矩阵,基于依赖结构矩阵来构建表示架构设计文档中所包括的实体之间的依赖关系的依赖树。其中,实体可以包括模块、组件、层、类、方法、子系统等。
以这样的方式,可以将基于架构设计文档开发的源代码转换为依赖树,以更加便于进行比较。
优选地,在上述方面的一个示例中,对源代码进行扫描包括:对文件系统中存储的源代码进行扫描或对版本控制系统中存储的源代码进行扫描。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子股份公司,未经西门子股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811101865.1/2.html,转载请声明来源钻瓜专利网。