[发明专利]开源代码检测方法、装置及计算机可读存储介质有效
| 申请号: | 201911035273.9 | 申请日: | 2019-10-29 |
| 公开(公告)号: | CN110990256B | 公开(公告)日: | 2023-09-05 |
| 发明(设计)人: | 李伟光 | 申请(专利权)人: | 中移(杭州)信息技术有限公司;中国移动通信集团有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 上海晨皓知识产权代理事务所(普通合伙) 31260 | 代理人: | 成丽杰 |
| 地址: | 310011 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 源代码 检测 方法 装置 计算机 可读 存储 介质 | ||
本发明实施例涉及开源代码检测技术领域,公开了一种开源代码检测方法,所述方法包括:接收开源代码实体,并建立开源代码实体的神经网络模型;对所述神经网络模型进行训练;在完成对所述神经网络模型的训练后,接收待检测的混源代码实体;对所述混源代码实体进行预设处理,将处理后的数据输入到训练后的神经网络模型进行检索;根据检索结果判断所述混源代码实体与所述开源代码实体是否匹配。本发明中,利用静态特征与神经网络相结合的开源代码检测技术,利用人工智能技术使得误报率降低,且通过对神经模型进行训练,使检测成本随着训练的模型的逐步成熟而降低。
技术领域
本发明实施例涉及开源代码检测技术领域,特别涉及一种开源代码检测方法、装置及计算机可读存储介质。
背景技术
开源代码涉及公开可用的计算机源代码,可由开发代码的程序员自由访问和使用。开源代码可以用于多种场景,例如:通过获得开源的单元测试代码,来节省编程和调试的时间和精力;将开源代码移植到用户没有足够经验或知识的场景;添加通用选项,如图形支持,打印等。
尽管开源代码有许多优点,开源代码也可能带来风险。使用开源代码涉及到许可证问题。此类许可都有可能会对使用开源代码开发的用户或用户项目产生特定限制或要求。只有知道要求,用户才可以决定是否可以接受它或遵守它的要求,承担风险并使用开源代码。
但是,也存在用户没有注意许可证问题。例如,公司员工将开源代码合并到项目中以后,在没有采取适当处理的情况下就离职,且没有通知团队其他成员,从而造成公司在不知情的情况下未遵守开源代码的相关使用许可,造成了风险。类似地,许多公司不清楚自己的产品到底包含了哪些开源代码。
因此,有必要检测并识别编程项目的源代码中是否包含开源代码,甚至需要确定使用了哪些开源项目的代码,以及使用了哪种许可证,以便使用开源代码的公司或者用户决定是否愿意承担风险并遵守这些条款,重写代码或以其他方式解决问题。
现有的开源代码检测方法往往都以字符匹配为主,其中,东南大学申请的发明专利“一种基于串匹配和特征匹配的开源代码检测方法”(CN109062792A),该申请中通过特征匹配的方式来缩小数据库的搜索空间,然后依据token串的方式,基于字符串匹配算法的思想,来匹配出最大公共子串,从而在应用于大规模软件开发项目的开源代码检测时,解决了匹配时间和内存消耗的问题。
然而,发明人发现现有技术中至少存在如下问题:(1)并不能解决误报率高的问题;token计算尤其是并发计算场景下CPU高消耗导致死机的问题,并不能真正提升检测效率。
发明内容
本发明实施方式的目的在于提供一种开源代码检测方法,使得开源代码的检测误报率低,准确率高,且检测效率高,成本低。
为解决上述技术问题,本发明的实施方式提供了一种公开了一种开源代码检测方法,所述方法包括:接收开源代码实体,并建立开源代码实体的神经网络模型;对所述神经网络模型进行训练;在完成对所述神经网络模型的训练后,接收待检测的混源代码实体;对所述混源代码实体进行预设处理,将处理后的数据输入到训练后的神经网络模型进行检索;根据检索结果判断所述混源代码实体与所述开源代码实体是否匹配。
优选地,所述方法还包括步骤:根据所述混源代码实体与所述开源代码实体的匹配结果,输出并显示所述混源代码的检索报告。
优选地,所述检索报告至少显示下述信息的一种:
混源代码的实体信息,该实体信息至少包括文件路径、文件名称和匹配概率;与混源代码匹配的开源代码所对应的开源项目信息,该开源项目信息至少包括软件名称、协议类型及当前版本;混源代码与开源代码的横向对比窗口;误报按钮,以供用户在匹配结果出现误报时进行人工标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中移(杭州)信息技术有限公司;中国移动通信集团有限公司,未经中移(杭州)信息技术有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911035273.9/2.html,转载请声明来源钻瓜专利网。





