CN117763101A - 一种基于神经网络语言模型的模糊测试方法 - Google Patents
一种基于神经网络语言模型的模糊测试方法 Download PDFInfo
- Publication number
- CN117763101A CN117763101A CN202311521524.0A CN202311521524A CN117763101A CN 117763101 A CN117763101 A CN 117763101A CN 202311521524 A CN202311521524 A CN 202311521524A CN 117763101 A CN117763101 A CN 117763101A
- Authority
- CN
- China
- Prior art keywords
- token
- model
- training
- text
- sql
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 16
- 238000010998 test method Methods 0.000 title claims abstract description 10
- 238000012549 training Methods 0.000 claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000012360 testing method Methods 0.000 claims abstract description 58
- 230000008569 process Effects 0.000 claims description 29
- 101100481876 Danio rerio pbk gene Proteins 0.000 claims description 14
- 101100481878 Mus musculus Pbk gene Proteins 0.000 claims description 14
- 238000010606 normalization Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 6
- 238000007781 pre-processing Methods 0.000 abstract description 4
- 230000005856 abnormality Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及一种基于神经网络语言模型的模糊测试方法,属于模糊测试技术领域。本发明方法从构造训练集、训练模型、使用模型三个方面设计了基于神经网络语言模型的模糊测试SQL语句生成方法。第一,使用目标对象的测试文件集作为语料库,进行一定的预处理,构造出适当的训练集。第二,使用构造出的训练集训练神经网络语言模型,在模型的选择上一般使用LSTM模型。第三,设计一定的生成策略,使用训练好的模型生成测试用例。最后,生成的测试用例被输入给待测程序,执行模糊测试任务。该方法可以在黑盒场景下持续生成语法语义有效的测试用例,是一种适用于黑盒场景下的DBMS模糊测试方法。
Description
技术领域
本发明属于模糊测试技术领域,具体涉及一种基于神经网络语言模型的模糊测试方法。
背景技术
数据库管理系统(Database Management System,DBMS)是现代软件系统的数据基础设施,为现代软件系统提供数据持久化服务,其安全性至关重要。近年来,DBMS的可靠性和安全性受到工业界和学术界越来越多的关注,研究人员广泛使用模糊测试技术验证DBMS的功能和挖掘漏洞,取得了有效的进展,证明了模糊测试技术在DBMS漏洞挖掘是一种行之有效的技术方法。
模糊测试的核心思想是通过自动化或者半自动化的方法构造出海量的测试用例,然后输入到目标测试程序,以发现目标测试程序中的潜在漏洞。模糊测试的工作过程一般分成几个阶段的工作,如图1所示,分别是测试用例生成阶段、测试用例执行和监控阶段、异常分析阶段。测试用例生成阶段生成可用的测试用例,测试用例执行和监控阶段把测试用例输入给目标程序执行并监控目标程序的执行状态,判断是否触发异常,异常分析阶段对触发异常的测试用例进行分析,找出目标程序的异常位置和异常原因以方便后续进行修复。
在整个模糊测试过程中,测试用例生成阶段至关重要,生成的测试用例的好坏直接影响着整个模糊测试过程的效率。一方面,测试用例应尽可能满足待测程序对输入格式的要求,以便进入待测程序的深层路径。另一方面,测试用例应该足够的特别,以便对这些输入的处理很可能出乎程序设计者的考虑,从而导致待测程序运行失败。
当前,基于覆盖反馈的灰盒DBMS模糊测试技术能够有效构造语法正确的SQL文本。这种方法的特点是需要目标测试程序的源代码进行插桩来统计代码覆盖率信息以指导变异,但是在很多情况下,目标测试程序的源代码是难以获得的,在没有目标DBMS的源代码的情况下如何测试DBMS是一个问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:设计一种适用于黑盒场景下的DBMS模糊测试方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于神经网络语言模型的模糊测试方法,包括以下步骤:
步骤1、构造训练集
使用语料库中的SQL文本构造训练集,具体过程分为两步,首先进行文本标准化,以消除不同变量名之间的差异并减小字典的大小,然后基于标准化后的语料库构造token字典,并使用token字典把SQL文本对应的token序列映射为数字序列,所有的数字序列组成训练集;
步骤2、训练模型
使用所述训练集训练出一个LSTM模型,LSTM模型由词嵌入层,LSTM层和全连接层组成;
步骤3、使用模型
使用训练好的模型编写一个SQL生成器,持续生成SQL文本作为测试用例,其中,为SQL生成器设计测试用例生成策略,并为SQL生成器设计启发式生成规则。
优选地,步骤1具体包括:
(1)文本标准化
对于在SQL文本中出现的每个变量名称,按照它们在文本中出现的顺序分配一个连续的数字,然后,将每个变量名替换为一个结合了公共前缀和它的连续数字的新名称,另外,标准化过程在保留文本中的关键字的同时,消除关键字的大小写差异:把所有的关键字中的小写字母替换为对应的大写字母;
(2)构造训练样本
文本标准化后的语料库可以用来构造token字典:单个SQL文本将被分割成一个token序列,所有token去重后的token集合将作为token字典;token字典中的每个token将从0开始编号,每个token拥有一个唯一的数字编号;token字典可以把SQL文本的token序列映射为数字序列,此时一个数字序列对应一个SQL文本,可以用于构造一个训练样本。
优选地,步骤1中,在构造训练样本时,对token序列进行额外的处理:把token序列的开头加上起始符号‘S’作为样本的‘x’,在token序列的末尾加上结束符号‘E’作为样本的‘y’;除此之外,在构造训练集时按照最长的token序列长度对其余较短的token序列添加Padding符号‘Padding’,以确保所有的token序列是等长的。
优选地,步骤2的训练过程中,首先,number序列中的每个number被词嵌入层映射为一个input_size维度的向量,然后,经过LSTM层和全连接层运算后,模型输出一个dict_size维的权重向量,模型根据权重向量计算出损失,并使用反向传播算法来更新网络的参数值。
优选地,步骤2的训练流程如下:首先,根据传入参数初始化训练集和模型,设置损失函数和优化器;然后进入训练过程,在每个训练轮次中,使用total_loss累计本轮次的总损失并存入loss_list列表;在单个轮次中,使用每个batch的数据计算本batch的损失并根据损失函数进行反向传播更新网络参数值;在本轮次训练结束后,存储当前模型的数据;完成所有轮次的训练后结束。
优选地,步骤3中,设计所述启发式生成规则由如下参数控制:
一个参数是max_len,用于控制生成的SQL文本的最大长度;当设置了max_len参数后,生成过程将在两种情况下结束:生成指定的结束符号‘E’或达到最大长度max_len;
另一个参数是topk,用于控制序列下一个token的选取范围;topk参数用于控制模型生成的多样性,当选择序列的下一个token时,将从权重值最大的topk个token中随机选择一个。
优选地,步骤3中设计的测试用例生成策略包括:
①从起始符号开始生成:从起始符号S开始生成,直到到达结束符号E或达到最大长度max_len;
②从指定前缀开始生成:从一个给定的前缀开始往下生成,直到到达结束符号E或达到最大长度max_len;
③替换语句:从某个语句A的前缀开始,生成一个完整的语句,并替换该语句A,从而构造出一个新的SQL文本;
④插入语句:从某个语句A的前缀开始,生成一个完整的语句,并插入到该语句A之后,从而构造出一个新的SQL文本。
优选地,还包括步骤4、设计一个模糊器,模糊器把生成的SQL文本输入给目标程序执行,并监控目标程序的执行状态,直到发现异常情况,这表示模糊器发现了可能的bug。
优选地,该方法适用于黑盒场景下的DBMS模糊测试。
本发明还提供了一种用于实现所述方法的系统。
(三)有益效果
本发明方法从构造训练集、训练模型、使用模型三个方面设计了基于神经网络语言模型的模糊测试SQL语句生成方法。第一,使用目标对象的测试文件集作为语料库,进行一定的预处理,构造出适当的训练集。第二,使用构造出的训练集训练神经网络语言模型,在模型的选择上一般使用LSTM模型。第三,设计一定的生成策略,使用训练好的模型生成测试用例。最后,生成的测试用例被输入给待测程序,执行模糊测试任务。该方法可以在黑盒场景下持续生成语法语义有效的测试用例(SQL文本),是一种适用于黑盒场景下的DBMS模糊测试方法。
附图说明
图1为模糊测试工作流程图;
图2为本发明的基于神经网络语言模型的黑盒DBMS模糊测试原理图;
图3为本发明的文本标准化示例;
图4为本发明的构造训练样本示例;
图5为本发明使用的模型架构图;
图6为本发明的模型训练流程图;
图7为本发明的模型训练算法代码。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明提供了一种基于神经网络语言模型的模糊测试方法,该方法针对无源码的黑盒场景,研究基于神经网络语言模型(Neural Network Language Model,NNLM)的黑盒DBMS模糊测试技术,该技术无需进行源代码插桩,适用于无法获取目标测试程序源代码的场景。本发明的技术要点包括构造训练集、训练模型和生成测试用例。
本方法训练出一个LSTM模型自动化地生成语法有效的SQL输入来测试DBMS。本方法首先对语料库进行相应的预处理,构造出训练集;然后利用神经网络语言模型充分学习目标SQL语言的语法结构和语义信息,训练出语言模型;最后设计多种生成策略,利用训练好的语言模型生成语法结构正确的测试用例,并利用语义修复技术修复生成的测试用例中存在的语义错误,从而生成语法语义正确的测试用例。
第一步中,首先进行文本标准化,标准化后的文本可以用来构造token字典,具体来说就是所有不重复的token都作为字典中的一个word,拥有一个编号。这样一个标准化后的SQL文本的token序列可以被映射为一个数字序列,一个数字序列作为一个训练样本。
第二步是设计合适的序列模型,使用训练样本训练模型,本发明使用经典的LSTM模型。
第三步是设计多种生成策略,使用训练好的序列模型持续生成SQL文本。
最后,本方法还通过改造AFL实现了一个模糊器,模糊器把生成的SQL文本输入给目标程序执行,并监控目标程序的执行状态,直到发现异常情况,这表示模糊器发现了可能的bug。整个方法流程如图2所示。
参考图2,本发明的主要步骤的具体内容设计如下:
步骤1、构造训练集
本步骤使用语料库中的SQL文本构造训练集,具体过程分为两步,首先进行文本标准化,以消除不同变量名之间的差异并减小字典的大小,然后基于标准化后的语料库构造token字典,并使用token字典把SQL文本对应的token序列映射为数字序列,所有的数字序列组成训练集。
本步骤对搜集到的语料库进行适当的预处理以构造训练集,预处理过程包括SQL文本标准化和构造token字典两个步骤。SQL文本标准化旨在消除不同的变量命名之间的差异。构造token字典可以为语料库中出现的token赋值一个唯一的数字编号,token字典可以实现从token序列到数字序列和从数字序列到token序列的转化,用于后续构造训练样本。一个标准化后的SQL文本可以作为一个token序列,token序列可以被token字典映射成数字序列,一个数字序列对应一个SQL文本,可以作为一个训练样本,从而构造出训练集。
(1)文本标准化
文本标准化过程旨在消除不同变量命名之间的差异,且保留SQL文本原有的语义。此外,标准化过程还可以减少不必要的token数量,以降低模型的训练开销和提升模型的准确度。具体来说,对于在SQL文本中出现的每个变量名称,本方法按照它们在文本中出现的顺序分配一个连续的数字,然后,本方法将每个变量名替换为一个结合了公共前缀和它的连续数字的新名称,例如v0和v1。另外,标准化过程会在保留文本中的关键字的同时,消除关键字的大小写差异,本方法的做法是把所有的关键字中的小写字母替换为对应的大写字母。这样,类似于create、Create、CREATE这类相同关键字的不同写法在token字典中将被作为相同token处理。
文本标准化过程主要有两个要点,第一是所有的关键词统一使用大写,第二点是变量名根据出现顺序进行统一的重命名。标准化过程的目的是消除不同变量命名之间的差异,且保留SQL文本原有的语义。此外,标准化过程还可以减少不必要的token数量,以降低模型的训练开销和提升模型的准确度。
SQL文本标准化的例子如图3所示,SQL文本中出现的变量名称按照v0,v1,v2的规律进行重命名,并且关键字统一转换成对应的大写形式。
(2)构造训练样本
文本标准化后的语料库可以用来构造token字典:单个SQL文本将被分割成一个token序列,所有token去重后的token集合将作为token字典。token字典中的每个token将从0开始编号,每个token拥有一个唯一的数字编号。token字典可以把SQL文本的token序列映射为数字序列,此时一个数字序列对应了一个SQL文本,可以用于构造一个训练样本。在后续的生成过程中,数字序列也可以根据token字典映射得到token序列,进而转化成SQL文本。
另外,在构造训练样本时,本方法对token序列进行了额外的处理。本方法把token序列的开头加上起始符号‘S’作为样本的‘x’,在token序列的末尾加上结束符号‘E’作为样本的‘y’;除此之外,由于token序列不是等长的,在构造训练集时本方法按照最长的token序列长度对其余较短的token序列添加Padding符号‘Padding’,以确保所有的token序列是等长的(在训练模型时Padding符号将被忽略,其作用是确保所有的token序列映射为数字序列时维度一致)。一个构造训练样本的示例如图4所示。
步骤2、训练模型
本步骤使用训练集训练出一个LSTM模型。相比于RNN模型,LSTM模型可以捕捉更长的单词序列(token序列)的依赖关系,这有助于模型学习到SQL语句的有效语法、隐藏的语义信息等内容。从训练集中构建一个统计语言模型之后,模型就可以根据一个token序列的所有token预测下一个token,这被认为是一个上下文。通过这种方式,模型把所有在训练集中出现过的token视为一个词汇库,从而根据当前上下文建议下一个可能的token。
(1)模型结构
LSTM模型架构如图5所示,模型由词嵌入层(Embedding Layer),LSTM层(LSTMLayer)和全连接层(Fully Connected Layer)组成。
(2)训练过程
模型的具体训练步骤如图6所示。首先,number序列中的每个number被词嵌入层映射为一个input_size维度的向量。然后,经过LSTM层和全连接层运算后,模型输出一个dict_size维的权重向量,模型根据权重向量计算出损失,并使用反向传播算法来更新网络的参数值。
训练算法的流程如图7所示:首先,根据传入参数初始化训练集和模型,设置损失函数和优化器;然后,进入训练过程,在每个训练轮次中,使用total_loss累计本轮次的总损失并存入loss_list列表;在单个轮次中,使用每个batch的数据计算本batch的损失并根据损失函数进行反向传播更新网络参数值;在本轮次训练结束后,存储当前模型的数据;完成所有轮次的训练后,训练算法运行结束。
步骤3、使用模型
本步骤使用训练出的语言模型编写一个SQL生成器,本方法为SQL生成器设计了丰富的生成策略,并且生成策略是易于扩展的,后续可以方便地添加新的生成策略。另外,为了控制测试用例生成过程可以尽快结束,提高模型的生成效率和增加模型生成的测试用例的多样性,本方法为SQL生成器设计了一些启发式规则,这可以确保生成过程能够收敛。
本方法在设计测试用例生成算法时设计的通用的启发式规则由如下参数控制:
一个参数是max_len,用于控制生成的SQL文本的最大长度。为了确保测试用例的生成过程能够收敛,不至于一直进行下去,本方法设计了max_len参数来控制生成的SQL文本的最大长度;当设置了max_len参数后,生成过程将在两种情况下结束:生成指定的结束符号‘E’或达到最大长度max_len。
另一个参数是topk,用于控制序列下一个token的选取范围;topk参数用于控制模型生成的多样性,当选择序列的下一个token时,将从权重值最大的topk个token中随机选择一个。如果topk参数过小,模型的泛化性能较差;如果topk参数过大,模型生成的测试用例的语法正确率无法保证。因此需要选择一个合适的topk参数大小,本方法在后续的实验过程中对不同的topk参数进行了语法正确性实验,这也验证了本方法的假设:随着topk参数变大,模型生成的测试用例的语法正确性逐步降低。
为了使用训练出的神经网络语言模型(LSTM模型)生成语法有效的输入,本方法设计了如下的生成策略:
①从起始符号开始生成:从起始符号S开始生成,直到到达结束符号E或达到最大长度max_len;
②从指定前缀开始生成:从一个给定的前缀开始往下生成,直到到达结束符号E或达到最大长度max_len;
③替换语句:从某个语句A的前缀开始,生成一个完整的语句,并替换该语句A,从而构造出一个新的SQL文本;
④插入语句:从某个语句A的前缀开始,生成一个完整的语句,并插入到该语句A之后,从而构造出一个新的SQL文本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种基于神经网络语言模型的模糊测试方法,其特征在于,包括以下步骤:
步骤1、构造训练集
使用语料库中的SQL文本构造训练集,具体过程分为两步,首先进行文本标准化,以消除不同变量名之间的差异并减小字典的大小,然后基于标准化后的语料库构造token字典,并使用token字典把SQL文本对应的token序列映射为数字序列,所有的数字序列组成训练集;
步骤2、训练模型
使用所述训练集训练出一个LSTM模型,LSTM模型由词嵌入层,LSTM层和全连接层组成;
步骤3、使用模型
使用训练好的模型编写一个SQL生成器,持续生成SQL文本作为测试用例,其中,为SQL生成器设计测试用例生成策略,并为SQL生成器设计启发式生成规则。
2.如权利要求1所述的方法,其特征在于,步骤1具体包括:
(1)文本标准化
对于在SQL文本中出现的每个变量名称,按照它们在文本中出现的顺序分配一个连续的数字,然后,将每个变量名替换为一个结合了公共前缀和它的连续数字的新名称,另外,标准化过程在保留文本中的关键字的同时,消除关键字的大小写差异:把所有的关键字中的小写字母替换为对应的大写字母;
(2)构造训练样本
文本标准化后的语料库可以用来构造token字典:单个SQL文本将被分割成一个token序列,所有token去重后的token集合将作为token字典;token字典中的每个token将从0开始编号,每个token拥有一个唯一的数字编号;token字典可以把SQL文本的token序列映射为数字序列,此时一个数字序列对应一个SQL文本,可以用于构造一个训练样本。
3.如权利要求2所述的方法,其特征在于,步骤1中,在构造训练样本时,对token序列进行额外的处理:把token序列的开头加上起始符号‘S’作为样本的‘x’,在token序列的末尾加上结束符号‘E’作为样本的‘y’;除此之外,在构造训练集时按照最长的token序列长度对其余较短的token序列添加Padding符号‘Padding’,以确保所有的token序列是等长的。
4.如权利要求2所述的方法,其特征在于,步骤2的训练过程中,首先,number序列中的每个number被词嵌入层映射为一个input_size维度的向量,然后,经过LSTM层和全连接层运算后,模型输出一个dict_size维的权重向量,模型根据权重向量计算出损失,并使用反向传播算法来更新网络的参数值。
5.如权利要求2所述的方法,其特征在于,步骤2的训练流程如下:首先,根据传入参数初始化训练集和模型,设置损失函数和优化器;然后进入训练过程,在每个训练轮次中,使用total_loss累计本轮次的总损失并存入loss_list列表;在单个轮次中,使用每个batch的数据计算本batch的损失并根据损失函数进行反向传播更新网络参数值;在本轮次训练结束后,存储当前模型的数据;完成所有轮次的训练后结束。
6.如权利要求2所述的方法,其特征在于,步骤3中,设计所述启发式生成规则由如下参数控制:
一个参数是max_len,用于控制生成的SQL文本的最大长度;当设置了max_len参数后,生成过程将在两种情况下结束:生成指定的结束符号‘E’或达到最大长度max_len;
另一个参数是topk,用于控制序列下一个token的选取范围;topk参数用于控制模型生成的多样性,当选择序列的下一个token时,将从权重值最大的topk个token中随机选择一个。
7.如权利要求6所述的方法,其特征在于,步骤3中设计的测试用例生成策略包括:
①从起始符号开始生成:从起始符号S开始生成,直到到达结束符号E或达到最大长度max_len;
②从指定前缀开始生成:从一个给定的前缀开始往下生成,直到到达结束符号E或达到最大长度max_len;
③替换语句:从某个语句A的前缀开始,生成一个完整的语句,并替换该语句A,从而构造出一个新的SQL文本;
④插入语句:从某个语句A的前缀开始,生成一个完整的语句,并插入到该语句A之后,从而构造出一个新的SQL文本。
8.如权利要求7所述的方法,其特征在于,还包括步骤4、设计一个模糊器,模糊器把生成的SQL文本输入给目标程序执行,并监控目标程序的执行状态,直到发现异常情况,这表示模糊器发现了可能的bug。
9.如权利要求1至8中任一项所述的方法,其特征在于,该方法适用于黑盒场景下的DBMS模糊测试。
10.一种用于实现如权利要求1至9中任一项所述方法的系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311521524.0A CN117763101A (zh) | 2023-11-15 | 2023-11-15 | 一种基于神经网络语言模型的模糊测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311521524.0A CN117763101A (zh) | 2023-11-15 | 2023-11-15 | 一种基于神经网络语言模型的模糊测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117763101A true CN117763101A (zh) | 2024-03-26 |
Family
ID=90311186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311521524.0A Pending CN117763101A (zh) | 2023-11-15 | 2023-11-15 | 一种基于神经网络语言模型的模糊测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763101A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413028A (zh) * | 2018-08-29 | 2019-03-01 | 集美大学 | 基于卷积神经网络算法的sql注入检测方法 |
CN111026671A (zh) * | 2019-12-16 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 测试用例集构建方法和基于测试用例集的测试方法 |
CN116804972A (zh) * | 2023-08-23 | 2023-09-26 | 北京遥感设备研究所 | 一种数据库基准测试用例动态生成方法 |
-
2023
- 2023-11-15 CN CN202311521524.0A patent/CN117763101A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413028A (zh) * | 2018-08-29 | 2019-03-01 | 集美大学 | 基于卷积神经网络算法的sql注入检测方法 |
CN111026671A (zh) * | 2019-12-16 | 2020-04-17 | 腾讯科技(深圳)有限公司 | 测试用例集构建方法和基于测试用例集的测试方法 |
CN116804972A (zh) * | 2023-08-23 | 2023-09-26 | 北京遥感设备研究所 | 一种数据库基准测试用例动态生成方法 |
Non-Patent Citations (1)
Title |
---|
李亚斌: "Fuzzing DBMS via NNLM", 2022 7TH IEEE INTERNATIONAL CONFERENCE ON DATA SCIENCE IN CYBERSPACE (DSC), 29 September 2022 (2022-09-29) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6236958B1 (en) | Method and system for extracting pairs of multilingual terminology from an aligned multilingual text | |
US10732937B2 (en) | Programming by voice | |
JPH02255914A (ja) | プログラム自動生成装置 | |
CN101894236A (zh) | 基于摘要语法树和语义匹配的软件同源性检测方法及装置 | |
CN108647146B (zh) | 基于修正条件判定组合覆盖的测试用例生成方法 | |
CN115328756A (zh) | 一种测试用例生成方法、装置及设备 | |
CN113741886B (zh) | 一种基于图的语句级程序修复方法及系统 | |
CN110362310A (zh) | 一种基于不完全抽象语法树的代码语法错误修复方法 | |
CN112764784A (zh) | 基于神经机器翻译的软件缺陷自动修复方法及装置 | |
CN115309451A (zh) | 代码克隆检测方法、装置、设备、存储介质及程序产品 | |
CN116541286A (zh) | 一种基于插桩和符号执行的高覆盖率测试数据生成方法 | |
CN108563561B (zh) | 一种程序隐性约束提取方法及系统 | |
CN116861269A (zh) | 工程领域的多源异构数据融合及分析方法 | |
US7165244B2 (en) | Web application code conversion system | |
Hu et al. | Deep-autocoder: Learning to complete code precisely with induced code tokens | |
CN117763101A (zh) | 一种基于神经网络语言模型的模糊测试方法 | |
CN116069337A (zh) | 一种结合修复模板与深度学习的代码缺陷自动修复方法 | |
CN113763949B (zh) | 语音识别修正方法、电子设备及计算机可读存储介质 | |
CN111381826A (zh) | 生成代码文件的语法树的方法、装置及电子设备 | |
CN110727428B (zh) | 一种转换业务逻辑层代码的方法、装置和电子设备 | |
CN114357984A (zh) | 一种基于拼音的同音字变体处理方法 | |
CN107092515B (zh) | 一种基于回答集逻辑程序的lpmln推理方法及系统 | |
CN111381827A (zh) | 生成代码文件的语法树的方法、装置及电子设备 | |
CN111381814A (zh) | 生成代码文件的语法树的方法、装置及电子设备 | |
CN117113359B (zh) | 一种基于对抗迁移学习的预训练漏洞修复方法 |
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 |