CN108509958A - 缺陷类型检测方法、装置、电子设备及介质 - Google Patents

缺陷类型检测方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN108509958A
CN108509958A CN201810276600.9A CN201810276600A CN108509958A CN 108509958 A CN108509958 A CN 108509958A CN 201810276600 A CN201810276600 A CN 201810276600A CN 108509958 A CN108509958 A CN 108509958A
Authority
CN
China
Prior art keywords
detected
target
defect type
color image
obtained
Prior art date
Application number
CN201810276600.9A
Other languages
English (en)
Inventor
黄献德
Original Assignee
北京金山安全软件有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京金山安全软件有限公司 filed Critical 北京金山安全软件有限公司
Priority to CN201810276600.9A priority Critical patent/CN108509958A/zh
Publication of CN108509958A publication Critical patent/CN108509958A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/36Image preprocessing, i.e. processing the image information without deciding about the identity of the image
    • G06K9/46Extraction of features or characteristics of the image
    • G06K9/4652Extraction of features or characteristics of the image related to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KRECOGNITION OF DATA; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for reading or recognising printed or written characters or for recognising patterns, e.g. fingerprints
    • G06K9/62Methods or arrangements for recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTER SYSTEMS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computer systems based on biological models
    • G06N3/02Computer systems based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Abstract

本发明实施例提供了一种缺陷类型检测方法、装置、电子设备及介质,该方法包括:获得待检测目标的字节码,其中,上述待检测目标为:基于预设编程语言所编写的程序;基于所获得的待检测目标的字节码,获得待检测目标对应的待检测色彩图像;基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定待检测目标是否存在缺陷,并在确定存在缺陷时,确定待检测目标对应的缺陷类型,其中,预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。以实现对待检测的程序是否存在缺陷的检测,进一步的,实现当待检测的程序存在缺陷时,对缺陷类型的检测。

Description

缺陷类型检测方法、装置、电子设备及介质

技术领域

[0001] 本发明涉及计算机技术领域,特别是涉及一种缺陷类型检测方法、装置、电子设备 及介质。

背景技术

[0002] 在一些情境中,将一些编写完成的程序部署到相应系统后,当上述编写完成的程 序存在缺陷时,基于该部署上述编写完成的程序的系统进行相应操作时会存在安全隐患。 例如,上述编写完成的程序为区块链上的智能合约,当将存在缺陷的智能合约部署在区块 链后,基于部署该智能合约的区块链所产生的交易行为可能出现不可被修复的情况,例如: 当交易发起方者基于上述部署该智能合约的区块链发起货币交易后,即使该货币交易的交 易接收方是错误的,该货币交易也不能被撤回。上述情况,使得区块链中的交易存在安全隐 患。可见,在部署一些编写完成的程序之前,对上述程序的正确性的分析至关重要,在一方 面中,对上述程序的缺陷的检测,以及对所存在缺陷的类型的检测,在对智上述程序的正确 性的分析过程中至关重要。

[0003] 那么,如何在部署上述程序之前,确定程序是否存在缺陷,进而确定缺陷的类型成 为亟待解决的问题。

发明内容

[0004] 本发明实施例的目的在于提供一种缺陷类型检测方法、装置、电子设备及介质,以 解决如何在部署上述程序之前,确定程序是否存在缺陷,进而确定缺陷的类型的问题。具体 技术方案如下:

[0005] 第一方面,本发明实施例提供了一种缺陷类型检测方法,所述方法包括:

[0006] 获得待检测目标的字节码,其中,所述待检测目标为:基于预设编程语言所编写的 程序;

[0007] 基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩图 像;

[0008]基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待检测目 标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型,其中,所述 预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0009]可选地,所述预设编程语言包括solidity语言,所述待检测目标包括智能合约。 [0010]可选地,所述待检测目标的字节码为一串字符串;

[0011]所述基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩 图像,包括:

[0012]基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代 码,其中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0013]将所述RGB颜色代码,转存为所述待检测目标对应的待检测色彩图像。

[0014] 可选地,所述预设的缺陷类型检测模型为预设的卷积神经网络模型;

[0015] 在所述基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待 检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型之前, 所述方法还包括:

[0016] 建立所述预设的卷积神经网络模型的过程,其中,所述过程包括:

[0017] 获得初始的卷积神经网络模型;

[0018] 获得多个样本目标的字节码,其中,所述样本目标为:基于所述预设编程语言所编 与的程序;

[0019] 基于每一样本目标的字节码,获得每一样本目标对应的样本色彩图像;

[0020] 获得每一样本色彩图像对应的标定信息,其中,所述标定信息包括:所对应样本色 彩图像对应的缺陷类型,作为预测缺陷类型;

[0021] 基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包 括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模型。

[0022] 可选地,所述初始的卷积神经网络模型包括特征提取层和特征分类层;

[0023] 所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中 所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模 型,包括:

[0024] 将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本 图像特征;

[0025] 将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前 缺陷类型;

[0026] 将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0027]当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网 络模型;

[0028]当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将 所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征; [0029] 直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经 网络模型。

[0030] 可选地,在所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标 定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神 经网络模型之后,所述方法还包括:

[0031] 基于预设检测流程,检测所述预设的卷积神经网络模型的确定结果的准确性,获 得检测结果;

[0032] 获得针对所述检测结果的调整指令,其中,所述调整指令携带所需调整结果;

[0033] 基于所获得的调整结果,对所述预设的卷积神经网络模型进行调整。

[0034]可选地,所述基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定 所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类 型,包括:

[0035]将所述待检测色彩图像输入所述预设的卷积神经网络模型,所述预设的卷积神经 网络模型提取所述待检测色彩图像的待检测图像特征;并基于所提取的所述待检测图像特 征,确定所述待检测目标是否存在缺陷,并在确定所述待检测目标存在缺陷时,确定所述待 检测目标对应的缺陷类型。

[0036]可选地,所述获得待检测目标的字节码,包括:

[0037]获得对所述待检测目标进行检测的检测指令,其中,所述检测指令包括所述待检 测目标的字节码;

[0038] 基于所获得的检测指令,得到所述待检测目标的字节码。

[0039] 第二方面,本发明实施例提供了一种缺陷类型检测装置,所述装置包括:

[0040] 第一获得模块,用于获得待检测目标的字节码,其中,所述待检测目标为:基于预 设编程语言所编写的程序;

[0041] 第二获得模块,用于基于所获得的待检测目标的字节码,获得所述待检测目标对 应的待检测色彩图像;

[0042] 确定模块,用于基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确 定所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷 类型,其中,所述预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0043] 可选地,所述预设编程语言包括solidity语言,所述待检测目标包括智能合约。

[0044] 可选地,所述待检测目标的字节码为一串字符串;

[0045] 所述第二获得模块,具体用于

[0046] 基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代 码,其中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0047] 将所述RGB颜色代码,转存为所述待检测目标对应的待检测色彩图像。

[0048] 可选地,所述预设的缺陷类型检测模型为预设的卷积神经网络模型;

[0049] 所述装置还包括:

[0050] 模型建立模块,用于在所述基于所获得的待检测色彩图像以及预设的缺陷类型检 测模型,确定所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对 应的缺陷类型之前,建立所述预设的卷积神经网络模型,其中,所述模型建立模块包括:

[0051] 第二获得单元,用于获得初始的卷积神经网络模型;

[0052] 第三获得单元,用于获得多个样本目标的字节码,其中,所述样本目标为:基于所 述预设编程语言所编写的程序;

[0053] 第四获得单元,用于基于每一样本目标的字节码,获得每一样本目标对应的样本 色彩图像;

[0054] 第五获得单元,用于获得每一样本色彩图像对应的标定信息,其中,所述标定信息 包括:所对应样本色彩图像对应的缺陷类型,作为预测缺陷类型;

[0055] 训练得到单元,用于基于所获得的每一样本色彩图像以及每一样本色彩图像对应 的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷 积神经网络模型。

[0056] 可选地,所述初始的卷积神经网络模型包括特征提取层和特征分类层;

[0057] 所述训练得到单元,具体用于

[0058] 将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本 图像特征;

[0059] 将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前 缺陷类型;

[0060] 将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0061] 当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网 络模型;

[0062] 当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将 所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征;

[0063] 直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经 网络模型。

[0064] 可选地,所述模型建立模块还包括:

[0065] 检测单元,用于在所述基于所获得的每一样本色彩图像以及每一样本色彩图像对 应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的 卷积神经网络模型之后,基于预设检测流程,检测所述预设的卷积神经网络模型的确定结 果的准确性,获得检测结果;

[0066] 第六获得单元,用于获得针对所述检测结果的调整指令,其中,所述调整指令携带 所需调整结果;

[0067] 调整单元,用于基于所获得的调整结果,对所述预设的卷积神经网络模型进行调 整。

[0068]可选地,所述确定模块,具体用于

[0069] 将所述待检测色彩图像输入所述预设的卷积神经网络模型,所述预设的卷积神经 网络模型提取所述待检测色彩图像的待检测图像特征;并基于所提取的所述待检测图像特 征,确定所述待检测目标是否存在缺陷,并在确定所述待检测目标存在缺陷时,确定所述待 检测目标对应的缺陷类型。

[0070] 可选地,所述第一获得模块,具体用于

[0071] 获得对所述待检测目标进行检测的检测指令,其中,所述检测指令包括所述待检 测目标的字节码;

[0072] 基于所获得的检测指令,得到所述待检测目标的字节码。

[0073]第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和 通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

[0074]存储器,用于存放计算机程序;

[0075]处理器,用于执行存储器上所存放的计算机程序时,实现本发明实施例所提供的 上述任一所述的缺陷类型检测方法步骤。

[0076]第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储 介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的上 述任一所述的缺陷类型检测方法步骤。

[0077]第五方面,本发明实施例提供了一种计算机程序,其中,所述计算机程序被处理器 执行时实现本发明实施例所提供的上述任一所述的缺陷类型检测方法步骤。

[0078]本发明实施例中,获得待检测目标的字节码,其中,上述待检测目标为:基于预设 编程语言所编写的程序;基于所获得的待检测目标的字节码,获得待检测目标对应的待检 测色彩图像;基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定待检测目 标是否存在缺陷,并在确定存在缺陷时,确定待检测目标对应的缺陷类型,其中,预设的缺 陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0079] 本发明实施例中,基于所获得待检测目标的字节码,获得的待检测目标对应的待 检测色彩图像,进而,基于待检测色彩图像以及预设的缺陷类型检测模型所包含的每一缺 陷类型与图像特征的对应关系,可以确定出待检测目标是否存在缺陷,以及在确定待检测 目标存在缺陷时,确定出待检测目标对应的缺陷类型,实现对待检测目标是否存在缺陷的 检测,进一步的,实现当待检测目标存在缺陷时,对缺陷类型的检测,以解决如何在部署上 述程序之前,确定程序是否存在缺陷,进而确定缺陷的类型的问题。当然,实施本发明的任 一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

[0080] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。

[0081] 图1为本发明实施例所提供的一种缺陷类型检测方法的流程示意图;

[0082] 图2为本发明实施例所提供的建立预设的卷积神经网络模型的一种流程示意图; [0083]图3为本发明实施例所提供的一种缺陷类型检测装置的结构示意图;

[0084]图4为本发明实施例所提供的模型建立模块的一种结构示意图;

[0085]图5为本发明实施例所提供的一种电子设备的结构示意图。

具体实施方式

[0086]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。

[0087]本发明实施例提供了一种缺陷类型检测方法、装置、电子设备及介质,以解决如何 在部署上述程序之前,确定程序是否存在缺陷,进而确定缺陷的类型的问题。

[0088]如图1所示,本发明实施例提供了一种缺陷类型检测方法,该方法包括:

[0089] S101:获得待检测目标的字节码;

[0090]其中,上述待检测目标为:基于预设编程语言所编写的程序;其中,上述预设编程 语言可以为solidity语言以及Javascript语言等。

[0091]可以理解的是,本发明实施例所提供的缺陷类型检测方法,可以应用于任一电子 设备中,上述电子设备可以为电脑以及智能手机等。实现本发明实施例所提供的缺陷类型 检测方法的功能软件可以以专门的客户端软件的形式存在,也可以以客户端软件的插件的 形式存在。

[0092]本发明实施例中,上述电子设备可以直接获得上述待检测目标的字节码 (Bytecode),例如,在接收到特定指令后,即获得待检测目标的字节码。在一种情况中,上述 电子设备可以为服务器,上述服务器可以接收用户通过客户端发送的关于待检测目标的检 测指令,上述检测指令可以携带上述待检测目标的字节码;或者,上述检测指令可以携带上 述待检测目标的标识,上述服务器获得上述待检测目标的标识,基于上述待检测目标的标 识,获得待检测目标的字节码。

[0093] S102:基于所获得的待检测目标的字节码,获得待检测目标对应的待检测色彩图 像;

[0094] 在一种实现方式中,电子设备获得上述待检测目标的字节码之后,可以上述待检 测目标的字节码,获得待检测目标对应的待检测色彩图像。在一种情况中,上述电子设备本 地或与电子设备通信连接的存储设备中,存储有各目标的字节码与色彩图像的对应关系, 电子设备可以基于上述对应关系以及上述待检测目标的字节码,获得待检测目标对应的待 检测色彩图像。其中,上述目标为:基于预设编程语言所编写的程序。

[0095] S103:基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定待检测 目标是否存在缺陷,并在确定存在缺陷时,确定待检测目标对应的缺陷类型。

[0096]其中,预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0097]本发明实施例中,上述预设的缺陷类型检测模型可以为:基于样本色彩图像以及 机器学习算法训练所得的模型,其中,上述样本色彩图像为:基于样本目标的字节码所获得 的图像,上述样本目标为:基于预设编程语言所编写的程序。其中,上述机器学习算法可以 为卷积神经网络算法、深度学习算法以及支持向量机算法等等。

[0098]在一种实现方式中,训练得到上述预设的缺陷类型检测模型,需要首先获得多个 样本数据,例如样本色彩图像,其中,每一样本色彩图像对应一样本目标的字节码;进而,获 得每一样本色彩图像对应的标定信息,其中,上述标定信息包括所对应的样本色彩图像对 应的预测缺陷类型,上述缺陷类型为:样本色彩图像对应的样本目标所包含的缺陷的类型。 上述标定信息可以为模型建立人员手动标定的。

[0099] 获得上述样本色彩图像以及每一样本色彩图像对应的预测缺陷类型之后,可以基 于上述述样本色彩图像以及每一样本色彩图像对应的预测缺陷类型,对初始的缺陷类型检 测模型进行训练。训练过程中,会不断调整上述初始的缺陷类型检测模型中的参数,直到初 始的缺陷类型检测模型收敛后,获得训练所得的预设的缺陷类型检测模型,其中,该预设的 缺陷类型检测模型包含每一缺陷类型与图像特征的对应关系。

[0100] 在一种情况下,初始的缺陷类型检测模型收敛的标识,可以是:初始的缺陷类型检 测模型收敛所输出的针对每一本色彩图像得到的当前检测结果,即当前缺陷类型,与所对 应标定信息中包含的预测缺陷类型相同的概率,大于第一预定阈值;在另一种情况下,初始 的缺陷类型检测模型收敛的标识,可以是:利用预设的损失函数,计算初始的缺陷类型检测 模型所输出的针对每一本色彩图像得到的当前缺陷类型,与所对应标定信息中包含的预测 缺陷类型之间的差值,该所计算的差值小于第二预定阈值。

[0101]后续的,电子设备基于上述预设的缺陷类型检测模型中所包含的每一缺陷类型与 图像特征的对应关系,以及所获得的待检测色彩图像,得到检测结果,即确定得到待检测目 标是否存在缺陷,并在确定存在缺陷时,确定得到待检测目标对应的缺陷类型。具体的,上 述电子设备可以基于预设的缺陷类型检测模型,提取待检测色彩图像的图像特征,进而基 于所提取的待检测色彩图像的图像特征,与上述预设的缺陷类型检测模型中所包含的每一 缺陷类型与图像特征的对应关系,得到检测结果。

[0102] 在一种实现方式中,上述缺陷可以表征待检测目标所存在的漏洞,上述缺陷类型 为待检测目标所存在的漏洞的类型,在一种情况中,上述待检测目标可以为智能合约。

[0103] 上述缺陷类型可以多种多样,包括但不限于:can be killed by arbitrary addresses (无限期地锁定资金)、have no way to release Ether after a certain execution state (不小心将智能合约泄漏给任意用户)、release Ether to arbitrary addresses carelessly (可被任何地址终止)Transaction-Ordering Dependence (交易顺 序依赖)、Timestamp Dependence (时间戰依赖)、Mishandled Exceptions (不当意外处理) 以及TheDao hack (去中心化组织以太币盗窃)等。

[0104]本发明实施例中,基于所获得待检测目标的字节码,获得的待检测目标对应的待 检测色彩图像,进而,基于待检测色彩图像以及预设的缺陷类型检测模型所包含的每一缺 陷类型与图像特征的对应关系,可以确定出待检测目标是否存在缺陷,以及在确定待检测 目标存在缺陷时,确定出待检测目标对应的缺陷类型,实现对待检测目标是否存在缺陷的 检测,进一步的,实现当待检测目标存在缺陷时,对缺陷类型的检测。

[0105] 在一种实现方式中,预设编程语言可以包括solidity语言,待检测目标可以包括 智能合约。其中,上述智能合约为基于上述solidity语言所编写的程序。

[0106] 在一种实现方式中,获得待检测目标的字节码,可以包括:

[0107]获得对待检测目标进行检测的检测指令,其中,检测指令包括待检测目标的字节 码;

[0108]基于所获得的检测指令,得到待检测目标的字节码。

[0109] 在一种情况中,电子设备可以为服务器,当服务器获得用户通过客户端发送的对 待检测目标进行检测的检测指令后,从上述检测指令中提取出该检测指令所携带的待检测 目标的字节码,进而针对该待检测目标的字节码,执行后续的缺陷类型检测流程。 后续的,当服务器通过预设的缺陷类型检测模型和该待检测目标的字节码,确定 出待检测目标的检测结果后,可以将所确定出的待检测目标的检测结果发送至上述客户 端。上述客户端接收到上述检测结果后,可以继续展示上述检测结果,以供用户查看,用户 可以基于上述检测结果进行后续的操作,例如,确定是否在以太坊的区块链上部署上述待 检测目标。其中,上述检测结果包括:所检测出的上述待检测目标是否存在缺陷的结果,以 及当在确定出上述待检测结果存在缺陷时,所确定的缺陷类型。

[0111] 本发明实施例,在用户部署上述待检测目标之前,检测该待检测目标是否存在缺 陷,并在确定该待检测目标存在缺陷时,确定出待检测目标所存在的缺陷的类型。可以避免 出现将存在缺陷的待检测目标部署于以太坊的区块链上,在一定程度上,避免以太坊的区 块链存在安全隐患。并且,本发明实施例确定出待检测目标所存在的缺陷的类型,更便于开 发人员对待检测目标进行修改完善。

[0112] 在一种实现方式中,该待检测目标的字节码为一串字符串;

[0113]基于所获得的待检测目标的字节码,获得待检测目标对应的待检测色彩图像的步 骤,可以包括:

[0114] 基于预设的RGB (RedGreenBlue,红绿蓝)颜色对照表,将所获得的待检测目标的字 节码,转译为RGB颜色代码;

[0115]其中,预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0116] 将RGB颜色代码,转存为待检测目标对应的待检测色彩图像。

[0117] 可以理解的是,上述待检测目标的字节码为十六进制的,且上述预设的RGB颜色对 照表中的字符子串也为十六进制的,基于上述预设的RGB颜色对照表,可以直接将待检测目 标的字节码转译为RGB颜色代码。

[0118] 具体的,可以从字符串,即上述待检测目标的字节码的首字符开始,每六个字符作 为一组字符子串,与预设的RGB颜色对照表进行匹配,将匹配成功的字符子串对应的RGB颜 色代码。例如:上述待检测目标的字节码中的“606060”对应的RGB颜色代码为RGB (96,96, 96),上述待检测目标的字节码中的“405260”对应的RGB颜色代码为RGB (64,82,96)等等。 [0119] 后续的,电子设备可以确定RGB颜色代码各自对应的RGB颜色,进而基于所确定的 RGB颜色代码各自对应的RGB颜色,得到待检测目标对应的待检测色彩图像。其中,为了提高 检测效率,上述待检测色彩图像的尺寸可以为预设尺寸,该预设尺寸可以与样本色彩图像 的尺寸相同,上述样本色彩图像为:训练得到上述预设的缺陷类型检测模型所利用的图像。 [0120]在一种实现方式中,上述预设的缺陷类型检测模型可以为预设的卷积神经网络模 型;

[0121]在基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定待检测目标 是否存在缺陷,并在确定存在缺陷时,确定待检测目标对应的缺陷类型之前,所述方法还可 以包括:

[0122] 建立预设的卷积神经网络模型的过程,其中,如图2所示,该过程可以包括:

[0123] S201:获得初始的卷积神经网络模型;

[0124] S202:获得多个样本目标的字节码;

[0125] 其中,样本目标为:基于预设编程语言所编写的程序;

[0126] S203:基于每一样本目标的字节码,获得每一样本目标对应的样本色彩图像;

[0127] S204:获得每一样本色彩图像对应的标定信息;

[0128] 其中,标定信息包括:所对应样本色彩图像对应的缺陷类型,作为预测缺陷类型; 该缺陷类型为:样本色彩图像对应的样本目标所包含的缺陷的类型。

[0129] S205:基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中 所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模 型。

[0130]可以理解的是,训练上述初始的卷积神经网络模型的样本色彩图像的数量越多, 训练所得的预设的卷积神经网络模型越稳定,进一步的,利用上述预设的卷积神经网络模 型,所确定出的待检测目标是否存在缺陷的结果,以及在确定存在缺陷时,所确定的缺陷类 型越准确。

[0131]在一种情况中,在训练上述初始的卷积神经网络模型时,所获得的样本色彩图像 的数量可能较少,例如低于一定预设阈值,此时,可以采用K-fold方式。利用所获得的样本 色彩图像以及每一样本色彩图像对应的标定信息,训练上述初始的卷积神经网络模型,以 得到初始的卷积神经网络模型。

[0132]另外,基于预设的卷积神经网络模型,确定待检测目标是否存在缺陷,以及在确定 存在缺陷时,确定其缺陷类型,可以在一定程度上保证所确定上述结果的准确性,这是由于 训练得到预设的卷积神经网络模型的样本色彩图像,为真实的样本目标对应的图像,其可 以很好的表征样本目标的各种信息。

[0133] 在本发明实施例中,上述预设编程语言可以为solidity语言以及Javascript语言 等。上述样本目标可以为智能合约,此时,上述作为样本目标的智能合约可以为已部署于以 太坊的区块链上的智能合约。此时,电子设备可以通过爬虫软件获得上述智能合约的地址, 进而基于所获得的地址,通过以太坊API (Application Program Interface,应用程序接 口)获取到上述智能合约对应的字节码。

[0134] 上述卷积神经网络模型可以为:VGG16/19网络模型、Inception v3网络模型以及 Resnet网络模型等。

[0135] 在一种实现方式中,初始的卷积神经网络模型可以包括特征提取层和特征分类 层;

[0136] 所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中 所包括的预测缺陷类型,训练初始的卷积神经网络模型,得到预设的卷积神经网络模型,可 以包括:

[0137] 将所获得的每一样本色彩图像输入特征提取层,提取该样本色彩图像的样本图像 特征;

[0138] 将所提取的样本图像特征输入特征分类层,得到该样本色彩图像对应的当前缺陷 类型;

[0139] 将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0140] 当匹配成功时,获得包含特征提取层和特征分类层的预设的卷积神经网络模型;

[0141] 当匹配失败时,调整特征提取层和特征分类层的参数,返回执行上述将所获得的 每一样本色彩图像输入特征提取层,提取该样本色彩图像的样本图像特征的步骤;

[0142] 直至匹配成功时,获得包含特征提取层和特征分类层的预设的卷积神经网络模 型。

[0143] 上述将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配的过程可以为, 利用预设的损失函数计算获得的当前缺陷类型与所对应预测缺陷类型的差值,当所计算差 值在预设允许损失范围内,则确定匹配成功,当所计算差值不在预设允许损失范围内,则确 定匹配不成功,此时,可以基于将获得的当前缺陷类型与所对应预测缺陷类型的差值变小 的原则,调整上述特征提取层和特征分类层的参数;再重新返回执行上述将所获得的每一 样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征的步骤。在一种 实现方式中,可以利用梯度下降法调整上述特征提取层和特征分类层的参数。

[0144] 在一种实现方式中,在训练上述初始的卷积神经网络模型的过程中,可以将每一 样本图像帧均输入上述初始的卷积神经网络模型,以对上述初始的卷积神经网络模型进行 训练;也可以是首先从上述样本目标的字节码中,随机或顺序选取预定数量的样本目标的 字节码,将所选取的预定数量的样本目标的字节码输入上述初始的卷积神经网络模型,以 对上述初始的卷积神经网络模型进行训练,得到预设的卷积神经网络模型。

[0145] 在一种实现方式中,为了获得更好的预设的卷积神经网络模型,在训练得到预设 的卷积神经网络模型,可以对该预设的卷积神经网络模型进行优化。具体的,在所述基于所 获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包括的预测缺陷类 型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模型之后,所述方法还可 以包括:

[0146]基于预设检测流程,检测预设的卷积神经网络模型确定结果的准确性,获得检测 结果;

[0147] 获得针对检测结果的调整指令,其中,调整指令携带所需调整结果;

[0148] 基于所获得的调整结果,对预设的卷积神经网络模型进行调整。

[0149] 其中,在得到预设的卷积神经网络模型后,电子设备可以继续将已知缺陷类型的 目标对应的色彩图像,输入上述预设的卷积神经网络模型,得到输出结果,将上述输出结果 与该色彩图像的已知缺陷类型进行匹配,基于匹配结果确定预设的卷积神经网络模型的确 定结果的准确性,得到检测结果。当匹配率低于预设匹配阈值时,模型建立人员根据检测结 果以及经验,确定相应的调整方案,并确定出调整结果,并触发携带调整结果的调整指令, 电子设备获得该调整指令,其中,调整指令携带所调整的上述预设的卷积神经网络模型的 参数,以及所需调整的各参数的调整结果,例如:参数可以包括学习率(learning rate)、批 大小(batch size)、卷积层的层数以及优化函数等等,各参数的调整结果可以包括调整学 习率至xx值,调整批大小至yy值,等等,其中,上述优化函数可以包括Relu (Rectified Linear Units)激活函数。进而,电子设备可以继续训练调整后的预设的卷积神经网络模 型。

[0150]在一种实现方式中,所述基于所获得的待检测色彩图像以及预设的缺陷类型检测 模型,确定待检测目标是否存在缺陷,并在确定存在缺陷时,确定待检测目标对应的缺陷类 型的步骤,可以包括:

[0151] 将待检测色彩图像输入预设的卷积神经网络模型,预设的卷积神经网络模型提取 待检测色彩图像的待检测图像特征;并基于所提取的待检测图像特征,确定待检测目标是 否存在缺陷,并在确定待检测目标存在缺陷时,确定待检测目标对应的缺陷类型。

[0152] 在一种情况中,电子设备可以将待检测色彩图像输入预设的卷积神经网络模型的 特征提取层,特征提取层可以基于提取待检测色彩图像的待检测图像特征,然后,将所提取 待检测图像特征输入预设的卷积神经网络模型的特征分类层,特征分类层基于上述所提取 待检测图像特征,确定该待检测目标是否存在缺陷,进而,在确定上述待检测目标存在缺陷 时,确定待检测目标所存在缺陷的缺陷类型,并输出。

[0153] 相应于上述方法实施例,本发明实施例提供了一种缺陷类型检测装置,如图3所 示,所述装置包括:

[0154]第一获得模块310,用于获得待检测目标的字节码,其中,所述待检测目标为:基于 预设编程语言所编写的程序;

[0155]第二获得模块320,用于基于所获得的待检测目标的字节码,获得所述待检测目标 对应的待检测色彩图像;

[0156]确定模块330,用于基于所获得的待检测色彩图像以及预设的缺陷类型检测模型, 确定所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺 陷类型,其中,所述预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。 [0157]本发明实施例中,基于所获得待检测目标的字节码,获得的待检测目标对应的待 检测色彩图像,进而,基于待检测色彩图像以及预设的缺陷类型检测模型所包含的每一缺 陷类型与图像特征的对应关系,可以确定出待检测目标是否存在缺陷,以及在确定待检测 目标存在缺陷时,确定出待检测目标对应的缺陷类型,实现对待检测目标是否存在缺陷的 检测,进一步的,实现当待检测目标存在缺陷时,对缺陷类型的检测。

[0158]在一种实现方式中,所述预设编程语言包括S〇lidity语言,所述待检测目标包括 智能合约。

[0159]在一种实现方式中,所述待检测目标的字节码为一串字符串;

[0160]所述第二获得模块320,具体用于

[0161]基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代 码,其中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0162]将所述RGB颜色代码,转存为所述待检测目标对应的待检测色彩图像。

[0163]在一种实现方式中,所述预设的缺陷类型检测模型为预设的卷积神经网络模型; [0164]如图4所示,所述装置还可以包括:

[0165]模型建立模块410,用于在所述基于所获得的待检测色彩图像以及预设的缺陷类 型检测模型,确定所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目 标对应的缺陷类型之前,建立所述预设的卷积神经网络模型的过程,其中,所述模型建立模 块410包括:

[0166]第二获得单元411,用于获得初始的卷积神经网络模型;

[0167]第三获得单元412,用于获得多个样本目标的字节码,其中,所述样本目标为:基于 所述预设编程语言所编写的程序;

[0168]第四获得单元413,用于基于每一样本目标的字节码,获得每一样本目标对应的样 本色彩图像;

[0169] 第五获得单元414,用于获得每一样本色彩图像对应的标定信息,其中,所述标定 信息包括:所对应样本色彩图像对应的缺陷类型,作为预测缺陷类型;

[0170] 训练得到单元415,用于基于所获得的每一样本色彩图像以及每一样本色彩图像 对应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设 的卷积神经网络模型。

[0171] 在一种实现方式中,所述初始的卷积神经网络模型包括特征提取层和特征分类 层;

[0172]所述训练得到单元,具体用于

[0173]将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本 图像特征;

[0174]将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前 缺陷类型;

[0175] 将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0176] 当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网 络模型;

[0177] 当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将 所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征;

[0178] 直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经 网络模型。

[0179] 在一种实现方式中,所述模型建立模块还包括:

[0180] 检测单元,用于在所述基于所获得的每一样本色彩图像以及每一样本色彩图像对 应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的 卷积神经网络模型之后,基于预设检测流程,检测所述预设的卷积神经网络模型的确定结 果的准确性,获得检测结果;

[0181] 第六获得单元,用于获得针对所述检测结果的调整指令,其中,所述调整指令携带 所需调整结果;

[0182] 调整单元,用于基于所获得的调整结果,对所述预设的卷积神经网络模型进行调 整。

[0183] 在一种实现方式中,所述确定模块430,具体用于

[0184]将所述待检测色彩图像输入所述预设的卷积神经网络模型,所述预设的卷积神经 网络模型提取所述待检测色彩图像的待检测图像特征;并基于所提取的所述待检测图像特 征,确定所述待检测目标是否存在缺陷,并在确定所述待检测目标存在缺陷时,确定所述待 检测目标对应的缺陷类型。

[0185]在一种实现方式中,所述第一获得模块,具体用于

[0186]获得对所述待检测目标进行检测的检测指令,其中,所述检测指令包括所述待检 测目标的字节码;

[0187]基于所获得的检测指令,得到所述待检测目标的字节码。

[0188]相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图5所示,包括 处理器510、通信接口 520、存储器530和通信总线540,其中,处理器510,通信接口 520,存储 器530通过通信总线540完成相互间的通信,

[0189] 存储器530,用于存放计算机程序;

[0190]处理器510,用于执行存储器530上所存放的计算机程序时,实现本发明实施例所 提供的上述任一所述的缺陷类型检测方法,该缺陷类型检测方法包括:

[0191]获得待检测目标的字节码,其中,所述待检测目标为:基于预设编程语言所编写的 程序;

[0192]基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩图 像;

[0193]基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待检测目 标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型,其中,所述 预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0194]本发明实施例中,基于所获得待检测目标的字节码,获得的待检测目标对应的待 检测色彩图像,进而,基于待检测色彩图像以及预设的缺陷类型检测模型所包含的每一缺 陷类型与图像特征的对应关系,可以确定出待检测目标是否存在缺陷,以及在确定待检测 目标存在缺陷时,确定出待检测目标对应的缺陷类型,实现对待检测目标是否存在缺陷的 检测,进一步的,实现当待检测目标存在缺陷时,对缺陷类型的检测。

[0195]在一种实现方式中,所述预设编程语言包括solidity语言,所述待检测目标包括 智能合约。

[0196] 在一种实现方式中,所述待检测目标的字节码为一串字符串;

[0197] 所述基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩 图像,包括:

[0198] 基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代 码,其中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0199]将所述RGB颜色代码,转存为待检测目标对应的待检测色彩图像。

[0200]在一种实现方式中,所述预设的缺陷类型检测模型为预设的卷积神经网络模型; [0201]在所述基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待 检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型之前, 还包括:

[0202] 建立所述预设的卷积神经网络模型的过程,其中,所述过程包括:

[0203]获得初始的卷积神经网络模型;

[0204]获得多个样本目标的字节码,其中,所述样本目标为:基于所述预设编程语言所编 写的程序;

[0205]基于每一样本目标的字节码,获得每一样本目标对应的样本色彩图像;

[0206]获得每一样本色彩图像对应的标定信息,其中,所述标定信息包括:所对应样本色 彩图像对应的缺陷类型,作为预测缺陷类型;

[0207]基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包 括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模型。 [0208]在一种实现方式中,所述初始的卷积神经网络模型包括特征提取层和特征分类 层;

[0209] 所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中 所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模 型,包括:

[0210] 将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本 图像特征;

[0211] 将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前 缺陷类型;

[0212]将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0213]当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网 络模型;

[0214]当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将 所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征;

[0215] 直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经 网络模型。

[0216] 在一种实现方式中,在所述基于所获得的每一样本色彩图像以及每一样本色彩图 像对应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预 设的卷积神经网络模型之后,所述方法还包括:

[0217]基于预设检测流程,检测所述预设的卷积神经网络模型的确定结果的准确性,获 得检测结果;

[0218]获得针对所述检测结果的调整指令,其中,所述调整指令携带所需调整结果;

[0219]基于所获得的调整结果,对所述预设的卷积神经网络模型进行调整。

[0220]在一种实现方式中,所述基于所获得的待检测色彩图像以及预设的缺陷类型检测 模型,确定所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应 的缺陷类型,包括:

[0221 ]将所述待检测色彩图像输入所述预设的卷积神经网络模型,所述预设的卷积神经 网络模型提取所述待检测色彩图像的待检测图像特征;并基于所提取的所述待检测图像特 征,确定所述待检测目标是否存在缺陷,并在确定所述待检测目标存在缺陷时,确定所述待 检测目标对应的缺陷类型。

[0222]所述获得待检测目标的字节码,包括:

[0223]获得对所述待检测目标进行检测的检测指令,其中,所述检测指令包括所述待检 测目标的字节码;

[0224]基于所获得的检测指令,得到所述待检测目标的字节码。

[0225]上述电子设备提到的通彳目总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便 于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

[0226]通信接口用于上述电子设备与其他设备之间的通信。

[0227]存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易 失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可 以是至少一个位于远离前述处理器的存储装置。

[0228]上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit, CPU)、网络处理器(Network Pr〇Cess〇r,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现 场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立 门或者晶体管逻辑器件、分立硬件组件。

[0229]相应于上述方法实施例,本发明实施例还提供了一种计算机可读存储介质,所述 计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实 施例所提供的上述任一所述的缺陷类型检测方法,该缺陷类型检测方法包括:

[0230]获得待检测目标的字节码,其中,所述待检测目标为:基于预设编程语言所编写的 程序;

[0231]基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩图 像;

[0232]基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待检测目 标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型,其中,所述 预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0233]本发明实施例中,基于所获得待检测目标的字节码,获得的待检测目标对应的待 检测色彩图像,进而,基于待检测色彩图像以及预设的缺陷类型检测模型所包含的每一缺 陷类型与图像特征的对应关系,可以确定出待检测目标是否存在缺陷,以及在确定待检测 目标存在缺陷时,确定出待检测目标对应的缺陷类型,实现对待检测目标是否存在缺陷的 检测,进一步的,实现当待检测目标存在缺陷时,对缺陷类型的检测。

[0234]在一种实现方式中,所述预设编程语言包括S〇lidity语言,所述待检测目标包括 智能合约。

[0235]在一种实现方式中,所述待检测目标的字节码为一串字符串;

[0236]所述基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩 图像,包括:

[0237]基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代 码,其中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0238]将所述RGB颜色代码,转存为待检测目标对应的待检测色彩图像。

[0239]在一种实现方式中,所述预设的缺陷类型检测模型为预设的卷积神经网络模型; [0240]在所述基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待 检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型之前, 还包括:

[0241] 建立所述预设的卷积神经网络模型的过程,其中,所述过程包括:

[0242]获得初始的卷积神经网络模型;

[0243] 获得多个样本目标的字节码,其中,所述样本目标为:基于所述预设编程语言所编 写的程序;

[0244]基于每一样本目标的字节码,获得每一样本目标对应的样本色彩图像;

[0245]获得每一样本色彩图像对应的标定信息,其中,所述标定信息包括:所对应样本色 彩图像对应的缺陷类型,作为预测缺陷类型;

[0246] 基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包 括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积祌经网络模型。

[0247] 在一种实现方式中,所述初始的卷积神经网络模型包括特征提取层和特征分类 层;

[0248] 所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中 所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模 型,包括:

[0249] 将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本 图像特征;

[0250] 将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前 缺陷类型;

[0251] 将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0252] 当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网 络模型;

[0253] 当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将 所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征;

[0254]直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经 网络模型。

[0255]在一种实现方式中,在所述基于所获得的每一样本色彩图像以及每一样本色彩图 像对应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预 设的卷积神经网络模型之后,所述方法还包括:

[0256]基于预设检测流程,检测所述预设的卷积神经网络模型的确定结果的准确性,获 得检测结果;

[0257]获得针对所述检测结果的调整指令,其中,所述调整指令携带所需调整结果;

[0258]基于所获得的调整结果,对所述预设的卷积神经网络模型进行调整。

[0259]相应于上述方法实施例,本发明实施例还提供了一种计算机程序,其中,所述计算 机程序被处理器执行时实现本发明实施例所提供的上述任一所述的缺陷类型检测方法,该 缺陷类型检测方法包括:

[0260]获得待检测目标的字节码,其中,所述待检测目标为:基于预设编程语言所编写的 程序;

[0261]基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩图 像;

[0262]基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待检测目 标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型,其中,所述 预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。

[0263]本发明实施例中,基于所获得待检测目标的字节码,获得的待检测目标对应的待 检测色彩图像,进而,基于待检测色彩图像以及预设的缺陷类型检测模型所包含的每一缺 陷类型与图像特征的对应关系,可以确定出待检测目标是否存在缺陷,以及在确定待检测 目标存在缺陷时,确定出待检测目标对应的缺陷类型,实现对待检测目标是否存在缺陷的 检测,进一步的,实现当待检测目标存在缺陷时,对缺陷类型的检测。

[0264] 在一种实现方式中,所述预设编程语言包括solidity语言,所述待检测目标包括 智能合约。

[0265] 在一种实现方式中,所述待检测目标的字节码为一串字符串;

[0266]所述基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩 图像,包括:

[0267]基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代 码,其中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系;

[0268]将所述RGB颜色代码,转存为待检测目标对应的待检测色彩图像。

[0269] 在一种实现方式中,所述预设的缺陷类型检测模型为预设的卷积神经网络模型;

[0270] 在所述基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待 检测目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型之前, 还包括:

[0271] 建立所述预设的卷积神经网络模型的过程,其中,所述过程包括:

[0272]获得初始的卷积神经网络模型;

[0273]获得多个样本目标的字节码,其中,所述样本目标为:基于所述预设编程语言所编 与的程序;

[0274] 基于每一样本目标的字节码,获得每一样本目标对应的样本色彩图像;

[0275] 获得每一样本色彩图像对应的标定信息,其中,所述标定信息包括:所对应样本色 彩图像对应的缺陷类型,作为预测缺陷类型;

[0276] 基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包 括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模型。

[0277] 在一种实现方式中,所述初始的卷积神经网络模型包括特征提取层和特征分类 层;

[0278] 所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中 所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模 型,包括:

[0279]将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本 图像特征;

[0280]将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前 缺陷类型;

[0281]将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配;

[0282]当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网 络丰吴型;

[0283]当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将 所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征; [0284]直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经 网络模型。

[0285] 在一种实现方式中,在所述基于所获得的每一样本色彩图像以及每一样本色彩图 像对应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预 设的卷积祌经网络模型之后,所述方法还包括:

[0286]基于预设检测流程,检测所述预设的卷积神经网络模型的确定结果的准确性,获 得检测结果;

[0287]获得针对所述检测结果的调整指令,其中,所述调整指令携带所需调整结果;

[0288] 基于所获得的调整结果,对所述预设的卷积神经网络模型进行调整。

[0289]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在 包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

[0290]本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实 施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例 的部分说明即可。

[0291]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。

Claims (10)

1. 一种缺陷类型检测方法,其特征在于,所述方法包括: 获得待检测目标的字节码,其中,所述待检测目标为:基于预设编程语言所编写的程 序; 基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩图像; 基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待检测目标是 否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型,其中,所述预设 的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。
2. 根据权利要求1所述的方法,其特征在于,所述预设编程语言包括solidity语言,所 述待检测目标包括智能合约。
3. 根据权利要求1所述的方法,其特征在于,所述待检测目标的字节码为一串字符串; 所述基于所获得的待检测目标的字节码,获得所述待检测目标对应的待检测色彩图 像,包括: 基于预设的RGB颜色对照表,将所获得的待检测目标的字节码,转译为RGB颜色代码,其 中,所述预设的RGB颜色对照表包括:各RGB颜色代码与字符子串的对应关系; 将所述RGB颜色代码,转存为所述待检测目标对应的待检测色彩图像。
4. 根据权利要求1-3任一项所述的方法,其特征在于,所述预设的缺陷类型检测模型为 预设的卷积神经网络模型; 在所述基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所述待检测 目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型之前,所述 方法还包括: 建立所述预设的卷积神经网络模型的过程,其中,所述过程包括: 获得初始的卷积神经网络模型; 获得多个样本目标的字节码,其中,所述样本目标为:基于所述预设编程语言所编写的 程序; 基于每一样本目标的字节码,获得每一样本目标对应的样本色彩图像; 获得每一样本色彩图像对应的标定信息,其中,所述标定信息包括:所对应样本色彩图 像对应的缺陷类型,作为预测缺陷类型; 基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包括的 预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模型。
5. 根据权利要求4所述的方法,其特征在于,所述初始的卷积神经网络模型包括特征提 取层和特征分类层; 所述基于所获得的每一样本色彩图像以及每一样本色彩图像对应的标定信息中所包 括的预测缺陷类型,训练所述初始的卷积神经网络模型,得到预设的卷积神经网络模型,包 括: 将所获得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像 特征; 将所提取的样本图像特征输入所述特征分类层,得到该样本色彩图像对应的当前缺陷 类型; 将所获得的当前缺陷类型与所对应的预测缺陷类型进行匹配; 当匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网络模 型; 当匹配失败时,调整所述特征提取层和所述特征分类层的参数,返回执行所述将所获 得的每一样本色彩图像输入所述特征提取层,提取该样本色彩图像的样本图像特征; 直至匹配成功时,获得包含所述特征提取层和所述特征分类层的预设的卷积神经网络 模型。
6. 根据权利要求4所述的方法,其特征在于,在所述基于所获得的每一样本色彩图像以 及每一样本色彩图像对应的标定信息中所包括的预测缺陷类型,训练所述初始的卷积神经 网络模型,得到预设的卷积神经网络模型之后,所述方法坯包括: 基于预设检测流程,检测所述预设的卷积神经网络模型的确定结果的准确性,获得检 测结果; 获得针对所述检测结果的调整指令,其中,所述调整指令携带所需调整结果; 基于所获得的调整结果,对所述预设的卷积神经网络模型进行调整。
7. 根据权利要求4所述的方法,其特征在于,所述基于所获得的待检测色彩图像以及预 设的缺陷类型检测模型,确定所述待检测目标是否存在缺陷,并在确定存在缺陷时,确定所 述待检测目标对应的缺陷类型,包括: 将所述待检测色彩图像输入所述预设的卷积神经网络模型,所述预设的卷积神经网络 模型提取所述待检测色彩图像的待检测图像特征;并基于所提取的所述待检测图像特征, 确定所述待检测目标是否存在缺陷,并在确定所述待检测目标存在缺陷时,确定所述待检 测目标对应的缺陷类型。
8.—种缺陷类型检测装置,其特征在于,所述装置包括: 第一获得模块,用于获得待检测目标的字节码,其中,所述待检测目标为:基于预设编 程语§所编与的程序; 第二获得模块,用于基于所获得的待检测目标的字节码,获得所述待检测目标对应的 待检测色彩图像; 确定模块,用于基于所获得的待检测色彩图像以及预设的缺陷类型检测模型,确定所 述待检测I目标是否存在缺陷,并在确定存在缺陷时,确定所述待检测目标对应的缺陷类型, 其中,所述预设的缺陷类型检测模型:包含每一缺陷类型与图像特征的对应关系。
9. 一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理 器,通信接口,存储器通过通信总线完成相互间的通信; 存储器,用于存放计算机程序; 处理器,用于执行存储器上所存放的计算机程序时,实现权利要求1-7任一所述的缺陷 类型检测方法步骤。
10. —种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机 程序,所述计算机程序被处理器执行时实现权利要求卜7任一所述的缺陷类型检测方法步 骤。
CN201810276600.9A 2018-03-30 2018-03-30 缺陷类型检测方法、装置、电子设备及介质 CN108509958A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810276600.9A CN108509958A (zh) 2018-03-30 2018-03-30 缺陷类型检测方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810276600.9A CN108509958A (zh) 2018-03-30 2018-03-30 缺陷类型检测方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN108509958A true CN108509958A (zh) 2018-09-07

Family

ID=63377880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810276600.9A CN108509958A (zh) 2018-03-30 2018-03-30 缺陷类型检测方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN108509958A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948345A (zh) * 2019-03-20 2019-06-28 杭州拜思科技有限公司 一种智能合约漏洞检测的方法、系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109948345A (zh) * 2019-03-20 2019-06-28 杭州拜思科技有限公司 一种智能合约漏洞检测的方法、系统

Similar Documents

Publication Publication Date Title
US20160042228A1 (en) Systems and methods for recognition and translation of gestures
TW201030633A (en) Image recognition algorithm, method of identifying a target image using same, and method of selecting data for transmission to a portable electronic device
CN105320965B (zh) 基于深度卷积神经网络的空谱联合的高光谱图像分类方法
WO2010078792A1 (zh) 一种识别垃圾文本的方法和系统
CN105426963A (zh) 用于人脸识别的卷积神经网络的训练方法、装置及应用
US9378570B2 (en) Information processing device, information processing method and program
CN110008678A (zh) 电子设备和在电子设备中注册指纹的方法
CN103279868B (zh) 一种自动识别欺诈订单的方法和装置
CN103473507A (zh) 一种基于方法调用图的Android恶意软件检测方法
US10423771B2 (en) Unlocking control method and terminal device
CN103500405B (zh) 用于对目标终端标称型号进行鉴别的方法及其设备
US8879854B2 (en) Method and apparatus for recognizing an emotion of an individual based on facial action units
CN102722525A (zh) 通讯录人名的语言模型建立方法、语音搜索方法及其系统
US9027837B2 (en) Method of recognizing QR code in image data and apparatus and method for converting QR code in content data into touchable object
CN102545974A (zh) 卡形电子装置、通信终端以及认证方法
CN104640116B (zh) 种诈骗短信防护方法和通信终端
Wilkes et al. Using discrete‐return airborne laser scanning to quantify number of canopy strata across diverse forest types
CN106055957A (zh) 一种指纹解锁的方法及终端
CN103380443B (zh) 对象信息提供装置、对象信息提供系统、终端和对象信息提供方法
US20130311448A1 (en) System and method for contextual and free format matching of addresses
Chung et al. Adaptive Cloud Offloading of Augmented Reality Applications on Smart Devices for Minimum Energy Consumption.
CN105354581B (zh) 融合颜色特征与卷积神经网络的彩色图像特征提取方法
CN104572958B (zh) 一种基于事件抽取的敏感信息监控方法
CN104836896B (zh) 对电话号码进行纠错提示的方法及装置
KR101703214B1 (ko) 문자 데이터의 내용을 문자 데이터 송신자의 음성으로 출력하는 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination