一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种最优顶点匹配的缺陷检测方法及系统

2022-09-04 09:32:52 来源:中国专利 TAG:


1.本发明涉及程序安全技术领域,特别是关于一种最优顶点匹配的缺陷检测方法及系统。


背景技术:

2.代码缺陷可能会导致软件系统存在逻辑问题,带来经济损失或导致系统崩溃,更严重的可能还会被恶意用户利用,构成安全漏洞,对个人用户、企事业单位甚至国家政府的信息安全构成巨大的威胁。因此,代码缺陷检测一直是一个重要的研究课题。近年来,基于代码相似性度量的缺陷检测方法被证明是十分有效的,这类方法以包含已知缺陷的代码片段(例如:函数)为种子,与目标库中的代码片段(目标)进行匹配,以检测其中与种子相似的可疑对象。代码片段本质上是一种图,可以自然地表示为各种代码图,例如控制流图和程序依赖图等。因此,学界已有很多研究基于图嵌入方式来分析程序,并基于代码图的相似性度量来检测代码缺陷。然而在实践中,一个缺陷的逻辑通常只涉及到代码片段中的若干条语句,而其他语句均与缺陷无关,可以被视为噪声。如果将整个代码图编码为一个向量,噪声语句的信息也将被编码到图向量中。因此,代码相似性度量任务将受到噪声语句的严重干扰,并导致误报和漏报。
3.解决噪声问题的一种方法是在嵌入和匹配之前移除噪声顶点,种子图中的噪声能够很容易地去除,因为可以事先识别并确定种子代码中哪些是缺陷相关语句,例如:一些研究应用切片方法去除种子函数中的噪声。然而,并不能假定目标代码中存在特定的缺陷,并提前标记出相关语句以排除噪声。换句话说,在将目标代码与种子代码进行比较时,前者中不可避免地会存在噪声,当仅排除种子中的噪声时,相似性度量仍然会受到干扰。从本质上讲,通过最优顶点匹配可以有效地解决噪声问题,也就是说,如果每个顶点均为最优配对的,则可以从目标图中定位和识别与切片后的种子(净化的种子图)对应的顶点。基于这些成对的顶点则可以精确地度量代码间的相似性。还可以基于感兴趣的顶点度量图的相似性,即种子中与缺陷相关的顶点及其在目标图中的对应顶点,由此可以排除噪声顶点,并获得合理的相似度。
4.然而,最优顶点匹配的计算会带来巨大的时间开销。为获取图的结构信息,最优顶点匹配需要同时考虑两个不同的图的顶点之间的一阶和二阶(甚至更高阶)相似性,并最大化匹配上的顶点之间的相似性。由于该任务需要考虑高阶相似性,该任务通常是np(多项式非确定性问题)完全的。在代码缺陷检测的实践中,通常需要将种子与数十万个目标匹配,总时间成本是不可接受的。因此,如何对最优顶点匹配加速,以大规模地度量代码图相似性,解决现有工作中含有漏洞的函数中的噪声语句可能导致的误报和漏报是一个亟待解决的技术问题。


技术实现要素:

5.针对上述问题,本发明的目的是提供一种最优顶点匹配的缺陷检测方法及系统,
能够解决现有工作中含有漏洞的函数中的噪声语句可能导致的误报和漏报问题。
6.为实现上述目的,本发明采取以下技术方案:第一方面,提供一种最优顶点匹配的缺陷检测方法,包括:
7.选取一个包含已知缺陷的函数作为种子;
8.以函数为单位,将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代码特征图,并对种子的代码特征图进行净化;
9.筛选出与净化后的种子图具有高匹配度的目标代码特征图作为候选目标图;
10.对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到种子图和候选目标图之间的相似度;
11.根据种子图和候选目标图之间的相似度,确定候选目标图中是否包含与种子缺陷类似的未知缺陷。
12.进一步地,所述以函数为单位,将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代码特征图,包括:
13.以函数为单位,对待检测系统中的目标源代码和种子分别进行解析,得到各函数对应的控制流图和程序依赖图;
14.综合每一函数的控制流图和程序依赖图,生成其以中间语句为顶点的代码特征图;
15.将每一中间语句均视为一个符号,将每一函数中的符号序列均视为一条句子,构建语料库,并基于掩码语言模型,训练bert模型;
16.采用bert模型,将每一符号均嵌入到一个向量中,如果代码特征图中的一个顶点只包括一个符号,则顶点向量为符号向量;否则,将顶点中的符号连接为一个短语,并采用bert模型生成短语向量,将每一函数均转换为以向量为顶点的代码特征图;
17.去除种子代码特征图中与缺陷无关的顶点,得到净化后的种子图。
18.进一步地,所述筛选出与种子图具有高匹配度的目标代码特征图作为候选目标图采用vme模型,包括:
19.将净化后的种子图和目标图均输入至vme模型中,分别将净化后的种子图和目标图嵌入为种子向量和目标向量;
20.采用vme模型,计算得到的种子向量和目标向量之间的匹配分数;
21.根据得到的匹配分数,对所有待检测的目标图进行降序排序,取其中排名最高的若干目标图作为候选目标图。
22.进一步地,所述vme模型包括面向顶点匹配嵌入模块和匹配分数计算模块,其中,面向顶点匹配嵌入模块包括具有门结构的多层感知机网络和最大池化层;
23.具有门结构的多层感知机网络用于将净化后的种子图和目标图分别转换为顶点向量;
24.最大池化层用于将种子图和目标图的顶点向量分别聚合为整图向量;
25.匹配分数计算模块用于识别出种子图的整图向量中大于某一阈值的维度,分别提取出种子图和目标图的整图向量中的该部分维度,构造出种子向量和目标向量。
26.进一步地,所述对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到种子图和候选目标图之间的相似度,包括:
27.采用最优顶点匹配模型,对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到亲和矩阵;
28.对得到的亲和矩阵进行规范化,得到规范化后的亲和矩阵;
29.根据规范化后的亲和矩阵,得到种子图和候选目标图之间的顶点匹配结果;
30.根据得到的顶点匹配结果,计算种子图和候选目标图之间的相似度。
31.进一步地,所述最优顶点匹配模型包括:
32.种子图卷积模块,用于将种子图的结构信息编码至顶点向量中,得到以向量为顶点的种子图;
33.目标图卷积模块,用于将候选目标图的结构信息编码至顶点向量中,得到以向量为顶点的候选目标图;
34.亲和度度量函数模块,用于将所述种子图卷积模块和目标图卷积模块的输出输入至亲和度度量函数中,得到亲和矩阵。
35.进一步地,所述根据种子图和候选目标图之间的相似度,确定候选目标图中是否包含与种子缺陷类似的未知缺陷,包括:
36.对种子图和候选目标图之间的相似度求平均值,并作为候选目标图和种子图之间的相似度;
37.根据相似度,对候选目标图所对应的函数进行降序排序,取其中排名最高的若干个对应候选目标图的函数的源代码进行分析,确认其中是否包含与种子缺陷类似的未知缺陷。
38.第二方面,提供一种最优顶点匹配的缺陷检测系统,包括:
39.种子选取模块,用于选取一个包含已知缺陷的函数作为种子;
40.数据预处理模块,用于以函数为单位,将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代码特征图,并对种子的代码特征图进行净化;
41.筛选模块,用于筛选出与净化后的种子图具有高匹配度的目标代码特征图作为候选目标图;
42.相似度编码模块,用于对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到种子图和候选目标图之间的相似度;
43.缺陷检索模块,用于根据种子图和候选目标图之间的相似度,确定候选目标图中是否包含与种子缺陷类似的未知缺陷。
44.第三方面,提供一种处理设备,包括计算机程序指令,其中,所述计算机程序指令被处理设备执行时用于实现上述最优顶点匹配的缺陷检测系统方法对应的步骤。
45.第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时用于实现上述最优顶点匹配的缺陷检测系统方法对应的步骤。
46.本发明由于采取以上技术方案,其具有以下优点:
47.1、本发明移除了种子代码片段中与缺陷无关的噪声语句,并基于最优顶点匹配度量目标代码片段与种子代码片段之间的相似度,进而抑制噪声代码的影响,能够减少缺陷检测中的漏报和误报,且能够保证检测效率的效率与可扩展性。
48.2、本发明基于图卷积神经网络设计了一个最优顶点匹配模型,并在其中加入了基
于种子图的注意力机制,能够抑制目标图中的噪声传播,能够获得近似但足够精确的最优顶点匹配结果,满足代码缺陷检测的效率需求。
49.3、本发明采用两阶段策略对最优顶点匹配进行加速,以避免解决np完全问题,即先快速过滤出可能与种子图具有高匹配率的目标图作为候选,再基于hse模型计算候选目标图与种子图的最优顶点匹配结果,本发明采用两种嵌入模型,以获得近似但足够精确的最优顶点匹配结果,从而令本发明可以被应用于大规模目标代码库。
50.综上所述,本发明可以广泛应用于代码缺陷检测、程序安全等领域中。
附图说明
51.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:
52.图1是本发明一实施例提供的方法流程示意图;
53.图2是本发明一实施例提供的系统结构示意图。
具体实施方式
54.下面将参照附图更详细地描述本发明的示例性实施方式。虽然附图中显示了本发明的示例性实施方式,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本发明,并且能够将本发明的范围完整地传达给本领域的技术人员。
55.应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
56.尽管可以在文中使用术语第一、第二、第三等来描述多个元件、部件、区域、层和/或部段,但是,这些元件、部件、区域、层和/或部段不应被这些术语所限制。这些术语可以仅用来将一个元件、部件、区域、层或部段与另一区域、层或部段区分开。除非上下文明确地指出,否则诸如“第一”、“第二”之类的术语以及其它数字术语在文中使用时并不暗示顺序或者次序。因此,以下讨论的第一元件、部件、区域、层或部段在不脱离示例实施方式的教导的情况下可以被称作第二元件、部件、区域、层或部段。
57.针对现有工作中含有漏洞的函数中的噪声语句可能导致的误报和漏报问题,本发明实施例提供的最优顶点匹配的缺陷检测方法及系统,相较于现有的基于代码相似度的缺陷检测方法,可以抑制代码中与缺陷无关的噪声语句对于代码相似性度量的不利影响,减少缺陷的漏报和误报,且具有较高的检测效率和可扩展性。
58.实施例1
59.如图1所示,本实施例提供一种最优顶点匹配的缺陷检测方法,包括以下步骤:
60.1)选取一个包含已知缺陷的函数作为种子。
61.2)以函数为单位,将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代码特征图,并将代码特征图的顶点嵌入为向量,以将函数表示为以向量为顶点的代码特征图,并对种子的代码特征图进行净化,具体为:
62.2.1)以函数为单位,对待检测系统中的目标源代码和种子分别进行解析,得到各函数对应的控制流图(control flow graph,cfg)和程序依赖图(program dependency graph,pdg)。
63.2.2)综合每一函数(包括步骤1)中的函数)的控制流图和程序依赖图,生成其以中间语句为顶点的代码特征图。
64.具体地,生成的代码特征图的边包括控制流边、控制依赖边和数据依赖边三种,代码特征图的顶点为若干条中间语句,每一顶点中包含的中间语句对应于目标源代码中的一行语句。
65.2.3)将每一中间语句均视为一个符号(token),将每一函数中的符号序列均视为一条句子,构建语料库,并基于掩码语言模型,训练bert模型(bidirectional encoder representation from transformers,基于转换器的双向编码表征)。
66.2.4)采用bert模型,将每一符号(即中间语句)均嵌入到一个向量中,如果代码特征图中的一个顶点只包括一个符号,则顶点向量为符号向量;否则,将顶点中的符号连接为一个短语,并采用bert模型生成短语向量,将每一函数均转换为以向量为顶点的代码特征图,得到种子代码特征图(即种子图)和目标代码特征图(即目标图)。
67.2.5)去除种子图中与缺陷无关的顶点,得到净化后的种子图。
68.具体地,根据已知缺陷的公开信息(例如:补丁),标记函数中与已知缺陷相关的关键语句,以及其中的关键变量,然后采用切片算法,以关键变量为切片条件,根据该函数对应的程序依赖图切取出函数中的缺陷相关语句,这些相关语句对应的顶点将构成净化后的种子图。
69.3)采用vme模型(vertex-matching-oriented embedding model,面向顶点匹配的嵌入模型),筛选出与净化后的种子图具有高匹配度的目标图作为候选目标图,以显著减少待进行顶点匹配的目标图的数量,具体为:
70.3.1)将净化后的种子图和目标图均输入至vme模型中,分别将净化后的种子图和目标图嵌入为种子向量和目标向量。
71.具体地,vme模型包括面向顶点匹配嵌入模块(vmembedding)和匹配分数计算模块,其中,面向顶点匹配嵌入模块包括具有门结构的多层感知机网络和最大池化层。
72.具体地,具有门结构的多层感知机网络用于将净化后的种子图和目标图分别转换为顶点向量,最大池化层用于将种子图和目标图的顶点向量分别聚合为整图向量。
73.具体地,具有门结构的多层感知机网络通过下述公式(1)进行顶点向量的转换:
74.h
′i=σ(mlp(hi))

mlp(hi)
ꢀꢀꢀ
(1)
75.其中,h
′i表示转换后的输出向量,σ表示sigmoid函数,hi表示第i个顶点的初始向量,mlp表示多层感知机(multilayer perceptron)。
76.具体地,匹配分数计算模块用于识别出种子图的整图向量中大于某一阈值t的维度,分别提取出种子图和目标图的整图向量中的该部分维度,构造出两个新的向量,即种子
向量和目标向量,用于计算匹配分数。
77.3.2)采用vme模型,计算得到的种子向量和目标向量之间的匹配分数。
78.具体地,将计算得到的两个新向量之间的余弦相似度作为匹配分数:
[0079][0080]s′
=∪
s[i]>t s[i]
ꢀꢀꢀ
(3)
[0081]
t

=u
s[i]>t t[i]
ꢀꢀꢀ
(4)
[0082]
其中,msc(s,t)表示种子图和目标图之间的匹配分数,∪表示将满足条件的维度连接起来,“·”表示计算两个向量的点积,s

表示构造出的新种子向量,s[i]表示原种子向量中的第i维,t

表示构造出的新目标向量,t[i]表示原目标向量中的第i维。
[0083]
3.3)根据得到的匹配分数,对所有待检测的目标图进行降序排序,取其中排名最高的k1个目标图作为候选目标图。
[0084]
4)采用最优顶点匹配模型,对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到种子图和候选目标图之间的相似度,以获得最优顶点匹配结果,具体为:
[0085]
4.1)采用最优顶点匹配模型,对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到亲和矩阵s。
[0086]
具体地,最优顶点匹配模型采用hse模型(high-order similarity embedding model,高阶相似性嵌入模型),包括种子图卷积模块、目标图卷积模块和亲和度度量函数模块。种子图卷积模块用于将种子图的结构信息编码至顶点向量中,得到以向量为顶点的种子图,每一向量均包含对应顶点的语义信息和结构信息。目标图卷积模块用于将候选目标图的结构信息编码至顶点向量中,得到以向量为顶点的候选目标图,每一向量均包含对应顶点的语义信息和结构信息。亲和度度量函数模块用于将种子图卷积模块和目标图卷积模块的输出输入至亲和度度量函数中,得到亲和矩阵s。
[0087]
具体地,种子图卷积模块包括多轮迭代,在每轮迭代中,顶点向量(顶点特征)由其相邻顶点和该顶点i自身在上一轮的特征聚合而来,通过下述公式(5)聚合来自相邻顶点的消息。每一相邻顶点的消息均为上一轮特征的转换f
msg
,通过下述公式(6)对种子图中的顶点i自身在上一轮中的信息进行转换f
self
。f
msg
和f
self
均是作为神经网络实现的,下述公式(7)通过聚合函数f
aggr
聚合两部分的信息,以更新顶点i的状态,采用使用表示顶点i在第k轮的特征向量,而是由bert模型生成的初始特征向量:
[0088][0089][0090][0091]
其中,表示种子图s中在第k轮迭代中由邻居传递给顶点i的消息,j表示顶点i的的邻居顶点,es表示种子图s的边的集合,表示种子图s中的顶点i在第k轮传递给自身的消息,表示种子图s中的顶点i在第k-1轮的特征向量,表示种子图s中的顶点i
在第k轮的特征向量。
[0092]
具体地,目标图卷积模块为在种子图卷积模块的基础上加入了注意力机制,具体过程为:
[0093]

对于候选目标图t中的顶点p,搜索其在种子图中的最相似顶点i:
[0094][0095]
其中,表示候选目标图t中的顶点p和种子图s中的顶点i在第k轮中的特征向量之间的余弦相似度。
[0096]

对于顶点p的每一相邻顶点p

,均在顶点i
*
的相邻顶点i
*

中搜索与之最相似的顶点,并记录相似度。
[0097]

将相似度标准化,作为从相邻顶点n传递至顶点p的消息的权重(即注意力权重),如下述公式(9)所示:
[0098][0099]

根据该注意力权重对相邻顶点特征进行融合,如下述公式(10)所示:
[0100][0101]
其中,表示候选目标图t中从邻居顶点n传播至顶点p的消息的注意力权重;表示候选目标图t中的顶点n和种子图s中的顶点i
*

在第k轮中的特征向量之间的余弦相似度;表示候选目标图t中的顶点p

和种子图s中的顶点i
*

在第k轮中的特征向量之间的余弦相似度;表示候选目标图t中在第k轮迭代中由邻居传递至顶点i的消息,表示候选目标图t中的顶点n在第k轮的特征向量。
[0102]
具体地,亲和度度量函数中,种子图中的顶点i和候选目标图中的顶点p之间的亲和度s
ip
为:
[0103][0104]
其中,k表示图卷积层的数量,s∈r n×m表示规范化前的亲和矩阵,r表示实数集,n表示种子图的顶点数量,m表示目标图的顶点数量;vs表示种子图s的顶点集合,v
t
表示候选目标图t的顶点集合;f
aff
函数的具体实现为:
[0105][0106]
其中,w表示亲和度度量函数的可学习权重构成的矩阵;τ表示超参数,τ越小,亲和矩阵的区分度越高。
[0107]
4.2)采用最优传输问题求解算法(sinkhorn),对得到的亲和矩阵s进行规范化,得到规范化后的亲和矩阵p:
[0108]
p=sinkhorn(s)
ꢀꢀꢀ
(13)
[0109]
4.3)采用匈牙利算法,根据规范化后的亲和矩阵p,得到种子图和候选目标图之间
的顶点匹配结果。
[0110]
具体地,若p
max
满足下式,则候选目标图t中的顶点p
max
与种子图s中的顶点i相匹配。
[0111][0112]
4.4)根据得到的顶点匹配结果,计算种子图和候选目标图之间的相似度。
[0113]
具体地,对匹配顶点之间初始特征向量的相似性求平均值:
[0114][0115]
其中,n表示种子图s中的顶点数;pi表示候选目标图t中与种子图s中的顶点i相匹配的顶点。需要注意的是,在本文的模型中,顶点数量少于种子图的候选目标图将被不被考虑。
[0116]
5)根据种子图和候选目标图之间的相似度,确定候选目标图中是否包含与种子缺陷类似的未知缺陷,具体为:
[0117]
5.1)对种子图和候选目标图之间的相似度求平均值,并作为候选目标图和种子图之间的相似度。
[0118]
5.2)根据相似度,对候选目标图所对应的函数进行降序排序,候选目标图中是否包含与种子缺陷类似的未知缺陷。
[0119]
具体地,对所有候选目标图进行降序排序,取其中排名最高的k2个对应候选目标图的函数的源代码进行人工分析,确认其中是否包含与种子缺陷类似的未知缺陷。
[0120]
实施例2
[0121]
如图2所示,本实施例提供一种最优顶点匹配的缺陷检测系统,包括:
[0122]
种子选取模块,用于选取一个包含已知缺陷的函数作为种子。
[0123]
数据预处理模块,用于以函数为单位,将待检测系统中的目标源代码和种子均解析为以中间语句为顶点的代码特征图,并对种子的代码特征图进行净化。
[0124]
筛选模块,用于筛选出与净化后的种子图具有高匹配度的目标代码特征图作为候选目标图。
[0125]
相似度编码模块,用于对候选目标图和种子图的顶点之间的高阶相似性进行编码,得到种子图和候选目标图之间的相似度。
[0126]
缺陷检索模块,用于根据种子图和候选目标图之间的相似度,确定候选目标图中是否包含与种子缺陷类似的未知缺陷。
[0127]
在一个优选的实施例中,还包括模型训练模块,用于训练得到vme模型和hse模型。
[0128]
在一个优选的实施例中,数据预处理模块包括解析器和bert模型,其中,解析器用于将源代码中的函数解析为以中间语句序列为顶点的图,bert模型用于将每一顶点中的中间语序嵌入为包含其语义信息的向量。
[0129]
本实施例提供的系统是用于执行上述各方法实施例,具体流程和详细内容请参照上述实施例,此处不再赘述。
[0130]
实施例3
[0131]
本实施例提供一种与本实施例1所提供的最优顶点匹配的缺陷检测系统方法对应的处理设备,处理设备可以是用于客户端的处理设备,例如手机、笔记本电脑、平板电脑、台
式机电脑等,以执行实施例1的方法。
[0132]
所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在处理设备上运行的计算机程序,处理设备运行计算机程序时执行本实施例1所提供的最优顶点匹配的缺陷检测系统方法。
[0133]
在一些实现中,存储器可以是高速随机存取存储器(ram:random access memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
[0134]
在另一些实现中,处理器可以为中央处理器(cpu)、数字信号处理器(dsp)等各种类型通用处理器,在此不做限定。
[0135]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0136]
本领域技术人员可以理解,上述计算设备的结构,仅仅是与本技术方案相关的部分结构,并不构成对本技术方案所应用于其上的计算设备的限定,具体的计算设备可以包括更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0137]
实施例4
[0138]
本实施例提供一种与本实施例1所提供的最优顶点匹配的缺陷检测系统方法对应的计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的最优顶点匹配的缺陷检测系统方法的计算机可读程序指令。
[0139]
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
[0140]
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
[0141]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144]
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献