[发明专利]将源代码转换成数字标识符并与数据集进行比较的方法在审
申请号: | 201910904478.X | 申请日: | 2019-09-24 |
公开(公告)号: | CN110941726A | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | J·克希亚 | 申请(专利权)人: | 福斯德公司 |
主分类号: | G06F16/38 | 分类号: | G06F16/38;G06F8/41;G06F16/31 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 王小东;黄纶伟 |
地址: | 瑞典斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 转换 成数 标识符 数据 进行 比较 方法 | ||
本公开涉及将源代码转换成数字标识符并与数据集进行比较的方法,具体地,涉及如下系统和方法,其通过将输入代码转换成简化代码并且使用该简化代码生成可以与数据库中的代码进行比较的代码片段,来标识该输入代码的特征。优选地,通过以下项中的至少一个来简化代码:使大小写统一,去除字符,以及利用标识符替换字符和关键字中的至少一者。
技术领域
本公开总体上涉及代码处理和数据技术。免费和开源代码的日益普及以及对许可证合规性的日益关注导致需要利用公共免费和开源代码来构建数据库,目的是在给定的源代码文件中标识包含免费和开源代码。
背景技术
在现有技术解决方案中,因为有大量可用的免费和开源代码,因此索引和存储因数据库占用(database footprint)和搜索性能而成为一项巨大的挑战。此外,分析源代码的任务是一个敏感问题,同时存储到数据库中的大量重复的免费和开源代码可能会与其各自的许可条件而发生冲突。
发明内容
提供以下简化概要以便基本理解本公开中所描述的各种发明实施方式的一些方面。所述概要不是本公开的详尽概述。既不旨在标识要求保护的发明的关键/紧要要素,也不旨在叙述本发明的范围。以下概要仅以简化的形式来呈现在本公开所描述的实施方式中使用的一些概念,作为对那些概念的更详细描述的序言。
本公开描述的一些实施方式的目的是,提供这样的系统和方法,即,该系统和方法将源代码文本从任何编程语言转换成各个源代码行的一系列数字标识符,并且比较这些标识符与其它源代码文件以找到行子集的匹配。这是通过将源代码转换成符号标识符并与数据集进行比较的方法来实现的,在该方法中,将源代码用作输入代码。在该方法中,通过使用以下方法步骤中的至少一个来生成简化源代码作为输出:使大小写统一;去除字符;以及利用标识符来替换字符和关键字中的至少一者,并且在该方法中,生成连续行标识符的最小集合,连续行的标识符的最小集合是代码片段(snippet),并且在数据集中找到如下事件(occurrences),该事件与特定数据集中的特定范围的行标识符匹配。
本公开描述的一些实施方式还专注于一种将源代码转换成符号标识符并与数据集进行比较的数据系统,在该数据系统中,源代码是输入代码。该数据系统包括编码器单元,该编码器单元生成简化源代码作为输出,该编码器单元被配置成执行以下项中的至少一个:使大小写统一;去除字符;以及利用标识符来替换字符和关键字中的至少一者,并且该数据系统包括比较单元,该比较单元被配置成:生成连续行标识符的最小集合,连续行的标识符的所述最小集合是代码片段,并且在数据集中找到事如下件,该事件与特定数据集中的特定范围的行标识符匹配。
本文所述的实施方式可以基于通过使用以下方法步骤中的至少一个来生成简化源代码作为输出:使大小写统一;去除字符;以及利用标识符来替换字符和关键字中的至少一个。本文所述的实施方式还可以基于:通过生成产生匹配的连续行标识符的最小集合,来比较标识符与数据集。
本文所述的实施方式的益处可以是,它们可以允许通过比较其数字标识符来对软件进行比较,而不需要有原始的源代码。而且,因仅需要存储数字标识符而减少了数据占用空间。而且,通过将搜索简化成针对具有几乎完美平衡的索引的数据集的固定长度数值比较,从而简化了数据库搜索。
通过考虑下面结合附图的本发明的详细描述,将更容易明白本发明的前述和其它目的、特征以及优点。
附图说明
下面参照附图,对本公开的示例性和非限制性实施方式及其优点进行更详细说明,其中:
图1呈现了根据本公开的示例性和非限制性实施方式的源代码文本的简化处理。
图2呈现了根据本公开的示例性和非限制性实施方式的图1中的简化代码文本的行标识符的生成处理。
图3呈现了根据本公开的示例性和非限制性实施方式的图2所示源代码的代码片段ID。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福斯德公司,未经福斯德公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910904478.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:提供深度神经网络的权重的平衡修剪的系统和方法
- 下一篇:包壳主动间隙控制结构