买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种面向开源软件供应链的跨生态软件检测方法及装置_中国科学院软件研究所_202311187931.2 

申请/专利权人:中国科学院软件研究所

申请日:2023-09-14

公开(公告)日:2024-04-16

公开(公告)号:CN117149839B

主分类号:G06F16/2457

分类号:G06F16/2457;G06F16/901;G06F16/903;G06F8/71;G06F18/22;G06N3/042;G06N3/045;G06N3/047;G06N3/048;G06N3/09

优先权:

专利状态码:有效-授权

法律状态:2024.04.16#授权;2023.12.19#实质审查的生效;2023.12.01#公开

摘要:本发明提供了一种面向开源软件供应链的跨生态软件检测方法及装置。其步骤包括:1构建跨生态软件对齐种子集;2抽使用图神经网络进行预训练嵌入;3对软件节点的邻域子图进行采样;4进行跨图邻域信息匹配;5构建损失函数进行模型训练;6计算邻域子图的相似度。本发明为了解决当前基于规则方法无法充分检测跨生态软件的问题,提出了基于图匹配神经网络的软件实体对齐方法,并通过该方法检测跨生态软件。本发明可以有效提升跨生态软件对匹配的准确度,促进跨生态软件库的发现,提升开发者在不熟悉的编程语言生态中查找目标软件库的效率。

主权项:1.一种面向开源软件供应链的跨生态软件检测方法,其特征在于,所述方法包括:生成待检测生态圈的软件图谱和目标生态圈的软件图谱;获取待检测生态圈的软件图谱中任一软件节点ei的邻域子图;获取目标生态圈的软件图谱中与所述软件节点ei的邻域子图相似度最高的TopK个邻域子图;其中,所述获取目标生态的软件图谱中与所述软件节点ei的邻域子图相似度最高的TopK个邻域子图,包括:构建训练数据集,所述训练数据集包括若干个不同生态圈的软件数据;利用软件数据间存在的证据,构建跨生态软件的对齐种子数据集;生成每一生态圈的软件数据对应的软件图谱样本;构建跨图邻域信息匹配模型,并基于预训练嵌入训练损失OE和跨图匹配训练损失Oc进行所述跨图邻域信息匹配模型的训练;其中,所述跨图邻域信息匹配模型用于:基于注意力机制的图神经网络,计算每一软件图谱样本中软件节点的初始嵌入向量表示;其中,所述基于注意力机制的图神经网络,计算每一软件图谱样本中软件节点的初始嵌入向量表示,包括:计算软件节点ei到其邻居节点ej之间的注意力系数cij;根据所述注意力系数cij,计算软件节点ei与其邻居节点ej的注意力权重aij;基于所述注意力权重aij和邻居节点的嵌入向量表示,对该软件节点ei的嵌入向量表示进行更新,以得到初始嵌入向量表示;将对齐种子数据集中的软件节点作为中心节点,对其邻居节点进行采样,以构建该中心节点的邻域子图;结合所述初始嵌入向量表示,进行邻域子图的跨图邻域信息更新,以得到软件图谱样本中软件节点的跨图嵌入向量表示;其中,结合所述初始嵌入向量表示,进行邻域子图的跨图邻域信息更新,以得到软件图谱样本中软件节点的跨图嵌入向量表示,包括:计算软件节点ei与另一邻域子图中软件节点ej的注意力权重a′ij;基于注意力权重a′ij,计算每一软件节点ei与另一邻域子图中软件节点ej的匹配向量其中,hi表示软件节点ei的初始嵌入向量表示,hj表示另一邻域子图中软件节点ej的初始嵌入向量表示;基于所述匹配向量mi聚合另一邻域子图中软件节点ej的信息,以更新软件节点ei的嵌入表示,得到软件图谱样本中软件节点的跨图嵌入向量表示;聚合跨图嵌入向量表示,得到邻域子图的向量表示,并基于邻域子图的向量表示,计算任两个软件图谱样本中软件节点间的相似度;基于训练后的跨图邻域信息匹配模型,得到目标生态的软件图谱中与所述软件节点ei的邻域子图相似度最高的TopK个邻域子图;基于所述TopK个邻域子图,得到所述软件节点ei在目标生态圈中的跨生态软件检测结果。

全文数据:

权利要求:

百度查询: 中国科学院软件研究所 一种面向开源软件供应链的跨生态软件检测方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。