CN117971706A - 一种GBase数据库模糊测试用例生成方法及装置 - Google Patents

一种GBase数据库模糊测试用例生成方法及装置 Download PDF

Info

Publication number
CN117971706A
CN117971706A CN202410382923.1A CN202410382923A CN117971706A CN 117971706 A CN117971706 A CN 117971706A CN 202410382923 A CN202410382923 A CN 202410382923A CN 117971706 A CN117971706 A CN 117971706A
Authority
CN
China
Prior art keywords
sql
grammar
component
database
metadata
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
Application number
CN202410382923.1A
Other languages
English (en)
Inventor
王未
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Nankai University General Data Technologies Co ltd
Original Assignee
Tianjin Nankai University General Data Technologies Co ltd
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 Tianjin Nankai University General Data Technologies Co ltd filed Critical Tianjin Nankai University General Data Technologies Co ltd
Priority to CN202410382923.1A priority Critical patent/CN117971706A/zh
Publication of CN117971706A publication Critical patent/CN117971706A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提出一种GBase数据库模糊测试用例生成方法及装置,获取被测GBase数据库的元数据;定义语法规则和词法规则,生成Antlr抽象语法树;访问所述Antlr抽象语法树生成SQL语句模板;对生成的SQL语句模板进行识别,生成SQL抽象语法树;访问SQL抽象语法树,生成随机SQL语句;对被测GBase数据库执行所述随机SQL语句,并返回执行结果;从执行结果和数据库状态两大方面进行结果分析;直到生成指定数量的随机SQL语句或数据库崩溃。本发明使GBase数据库模糊测试时生成的随机SQL文本满足其执行环境,既在语法上能够通过GBase数据库语法解析器的检查,又在语义上符合运行时的数据库环境。

Description

一种GBase数据库模糊测试用例生成方法及装置
技术领域
本发明属于数据库技术领域,特别是涉及到一种GBase数据库模糊测试用例生成方法及装置。
背景技术
模糊测试是一种自动化的软件测试技术,通常是通过向软件(例如数据库)输入模糊、无效或异常的数据,来测试其对不良输入的反应能力。传统的模糊测试数据生成方法,是通过编程语言生成随机SQL文本,但应用于GBase数据库时,由于生成的文本存在与GBase数据库语法无关、语义无关的问题,导致无法通过GBase数据库语法解析器的语法检查,进而导致之后的优化器、计划生成器、执行器等一系列数据库组件都无法被测试到。
发明内容
本发明提出一种GBase数据库模糊测试用例生成方法及装置,解决模糊测试随机生成文本与GBase数据库语法无关和语义无关两个问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种GBase数据库模糊测试用例生成方法,包括:
S1、获取被测GBase数据库的元数据;
S2、使用Antlr文法规则依据GBase数据库的SQL语法定义语法规则,通过指定的元数据规则定义与所述被测GBase数据库的元数据相关的词法规则;
S3、基于所述语法规则和词法规则,使用Antlr工具生成Antlr抽象语法树;通过前序遍历的方式访问所述Antlr抽象语法树生成SQL语句模板;
S4、对生成的SQL语句模板进行识别,准确识别SQL语句模板中的全部语法成分,生成SQL抽象语法树;访问SQL抽象语法树,将指定的元数据规则替换成真正的元数据字面量,生成随机SQL语句;
S5、对被测GBase数据库执行所述随机SQL语句,并返回执行结果;从执行结果和数据库状态两大方面进行结果分析;
S6、循环执行步骤S3-S5,直到生成指定数量的随机SQL语句或数据库崩溃。
进一步的,步骤S1中所述元数据包括用户表的名称、列的名称、数据类型;内置函数和参数类型;还定义了不同数据类型的数据字面量的生成方法。
进一步的,步骤S3中,生成SQL语句模板的方法包括:访问所述Antlr抽象语法树,如果访问的是词法规则,则直接返回所述词法规则的定义,如果访问的是语法规则,则从语法规则的定义中随机抽取一个语法分支,然后对分支的每个元素继续进行访问,直到返回全部词法规则的定义。
更进一步的,随机抽取语法分支时,设置最大递归深度;当语法规则被访问时,访问次数+1,当访问次数大于所述最大递归深度时,选择不会产生递归行为的语法分支,来结束递归。
进一步的,步骤S4具体包括:基于所述语法规则和词法规则生成SQL文法解析器,SQL文法解析器基于SQL语句模板识别语法成分,确定元数据之间的关系,生成SQL抽象语法树。
本发明另一方面还提出了一种GBase数据库模糊测试用例生成装置,包括:SQL语法组件、SQL语义组件、SQL语句模板组件、连接器组件、元数据组件、SQL执行组件、结果分析组件、主程序组件;
主程序组件是所有组件执行的入口,控制其他所有组件的执行逻辑;
所述连接器组件创建连接到被测GBase数据库的连接对象;
所述元数据组件通过连接器组件创建的被测GBase数据库的连接对象,从系统表中获取到被测GBase数据库的元数据;
所述SQL语法组件使用Antlr文法规则依据GBase数据库的SQL语法定义语法规则,通过指定的元数据规则定义与所述被测GBase数据库的元数据相关的词法规则;
所述SQL语句模板组件对SQL语法组件进行解析,使用Antlr工具生成Antlr抽象语法树;通过前序遍历的方式访问所述Antlr抽象语法树生成SQL语句模板;
所述SQL语义组件包含基于SQL语法组件生成的SQL文法解析器,对生成的SQL语句模板进行识别,准确识别SQL语句模板中的全部语法成分,生成SQL抽象语法树;访问SQL抽象语法树,将指定的元数据规则替换成真正的元数据字面量,生成随机SQL语句;
所述SQL执行组件检查连接器组件创建的被测GBase数据库的连接对象,是否可用,然后通过所述连接对象执行所述随机SQL语句,并返回执行结果;
所述结果分析组件从执行结果和数据库状态两大方面进行结果分析;
所述主程序组件控制SQL语句模板组件、SQL语义组件、SQL执行组件、结果分析组件循环执行,直到生成指定数量的随机SQL语句或数据库崩溃。
进一步的,元数据组件中,所述元数据包括用户表的名称、列的名称、数据类型;内置函数和参数类型;还定义了不同数据类型的数据字面量的生成方法。
进一步的,SQL语句模板组件中,生成SQL语句模板时,访问所述Antlr抽象语法树,如果访问的是词法规则,则直接返回所述词法规则的定义,如果访问的是语法规则,则从语法规则的定义中随机抽取一个语法分支,然后对分支的每个元素继续进行访问,直到返回全部词法规则的定义。
更进一步的,SQL语句模板组件中,随机抽取语法分支时,设置最大递归深度;当语法规则被访问时,访问次数+1,当访问次数大于所述最大递归深度时,选择不会产生递归行为的语法分支,来结束递归。
进一步的,SQL语义组件中,基于所述语法规则和词法规则生成SQL文法解析器,SQL文法解析器基于SQL语句模板识别语法成分,确定元数据之间的关系,生成SQL抽象语法树。
与现有技术相比,本发明具有的有益效果包括:
本发明可以使GBase数据库模糊测试时生成的随机SQL文本满足其执行环境,既在语法上能够通过GBase数据库语法解析器的检查,又在语义上符合运行时的数据库环境。
附图说明
图1为本发明实施例的GBase数据库模糊测试的执行流程;
图2为本发明实施例的SQL语句模板生成流程。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为使本发明的目的、特征更明显易懂,下面结合附图以及具体实施例作进一步的说明。
本发明的目标是解决模糊测试随机生成文本与GBase数据库语法无关和语义无关两个问题。
对于GBase数据库语法无关问题,本发明提出使用Antlr自定义语法规则,使其与GBase数据库语法匹配;对于GBase数据库语义无关问题,本发明通过关联运行时的数据库元数据解决。
本发明涉及的主要组件包括:SQL语法组件、SQL语义组件、SQL语句模板组件、连接器组件、元数据组件、SQL执行组件、结果分析组件、主程序组件。
主程序组件是所有组件执行的入口,控制其他所有组件的执行逻辑,主要流程包括如下几个步骤(如图1所示):
1、启动主程序组件;
2、主程序组件启动连接器组件,创建数据库连接对象;
3、主程序组件启动元数据组件,获取数据库元数据;
4、主程序组件启动SQL语句模板组件,加载SQL语法组件;
5、等待随机SQL语句模板生成;
6、主程序组件启动SQL语义组件, 通过SQL语句模板和元数据生成SQL语句;
7、主程序组件启动SQL执行组件,执行SQL语句;
8、主程序组件启动结果分析组件,对SQL执行结果进行分析;
9、重复步骤5~步骤8,直到测试完指定数量的随机SQL或数据库崩溃。
具体说明如下:
1、启动主程序组件;
主程序组件是执行入口,它将其他所有组件组成一个完整的业务流程,并通过配置信息完成相关组件的初始化。
2、主程序组件启动连接器组件,创建数据库连接;
启动连接器组件后,连接器组件会创建一个连接到被测数据库的连接对象。这个连接对象为接下来元数据的获取和SQL的执行提供服务。
3、主程序组件启动元数据组件,获取数据库元数据;
启动元数据组件后,元数据组件通过连接器组件创建的数据库连接对象,通过执行SQL的方式可以从系统表中获取到GBase数据库的元数据,包括:
(1)用户表的名称、列的名称、数据类型;
(2)内置函数和参数类型。
元数据组件中还定义了不同数据类型的数据字面量的生成方法,包括:整数、浮点数、字符串、日期、布尔。
4、主程序组件启动SQL语句模板组件,加载SQL语法组件;
SQL语法组件使用Antlr文法规则依据GBase数据库的SQL语法进行定义语法规则,与数据库元数据相关的词法规则使用特定的规则去定义,来确保SQL语义组件能够正确的识别。例如:表名和列名的词法规则按如下定义:
TAB_NAME: '{meta_tab}'; //表名词法规则;
COL_NAME: '{meta_col}'; //列名词法规则;
5、等待随机SQL语句模板生成;
SQL语句模板组件会对SQL语法组件进行解析,它通过自定义Antlr文法解析器实现。Antlr文法解析器会基于SQL语法组件生成Antlr抽象语法树(Antlr AST),采用前序遍历的方式对抽象语法树进行访问,如果访问的是词法规则,则直接返回该词法规则的定义,如果访问的是语法规则,则从语法规则的定义中随机抽取一个语法分支,然后对分支的每个元素继续进行访问,直到返回全部词法规则的定义。由于语法规则的定义中存在递归引用的问题,例如:
“expression
:columnExpression
| expression ‘+’expression ”;
该语法分支中引用了其自身,存在递归引用;
这将导致随机选取语法分支时存在无限递归的可能(例如一直随机到第二个语法分支)。本发明中通过限制递归深度来解决此问题。通过设置最大递归深度m(m>=1),当语法规则被访问时,访问次数+1,当访问次数大于m时,不再随机选取其语法分支,而是选择不会产生递归行为的语法分支,来结束递归(如图2所示)。
生成的SQL语句模板的样例如下所示:
SELECT {meta_col} FROM {meta_tab}
WHERE {meta_col}={meta_constant};
6、主程序组件启动SQL语义组件, 通过SQL语句模板和元数据生成SQL语句;
SQL语义组件包含基于SQL语法组件生成的SQL文法解析器,所以可以对生成的SQL语句模板进行识别,准确识别SQL语句模板中的全部语法成分。SQL文法解析器会基于SQL语句模板生成SQL抽象语法树(SQL AST),通过对SQL抽象语法树进行访问,将特定的元数据规则替换成真正的元数据字面量。识别语法成分的目的是确定元数据之间的关系,例如列名需要从哪个表选取。
生成的SQL语句样例如下所示(SQL语句模板参考步骤5):
SELECT col1 FROM t1
WHERE col2 = 1;
其中表名t1来自于被测GBase数据库元数据,col1和col2是表t1中存在的列名,而过滤条件col2会根据其数据类型调用元数据组件中相关数据类型字面量数据生成方法来生成随机SQL语句。
7、主程序组件启动SQL执行组件,执行所述随机SQL语句;
SQL执行组件首先检查连接器组件创建的数据库连接对象是否可用,若不可用则使用连接器组件创建新的数据库连接对象。然后通过新的数据库连接对象执行所述随机SQL语句,并返回执行结果。执行结果有以下几种结果:
SQL执行成功、SQL执行报错、SQL执行超时。
8、主程序组件启动结果分析组件,对SQL执行结果进行分析;
结果分析组件对SQL执行组件的执行结果和数据库状态两大方面进行结果分析:
SQL执行组件的执行结果方面关注SQL执行报错的错误码是否为关键错误码,产生关键错误码说明执行的SQL语句对数据库的稳定运行产生了影响。关键错误码及其含义举例如下:
(1)211:不能读取系统目录;
(2)959:由于内部错误,当前事务已回滚;
数据库状态方面关注以下两点:
(1)在数据库安装目录的tmp目录下是否产生了新的af文件af.xxx,若出现了新的af文件,说明执行SQL影响了数据库的稳定运行;
(2)执行命令onstat -,若显示数据库不在线,说明执行SQL导致了数据库崩溃;
结果分析组件会将SQL语句和问题原因做好映射,便于之后的问题重现和分析。
9、重复步骤5~步骤8,直到生成指定数量的随机SQL语句或数据库崩溃;
主程序组件根据配置信息配置的随机SQL数量循环执行上述步骤5~步骤8生成随机SQL语句对数据库进行测试,直到生成指定数量的随机SQL语句,若测试过程中检测到数据库崩溃,则测试提前结束。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种GBase数据库模糊测试用例生成方法,其特征在于,包括:
S1、获取被测GBase数据库的元数据;
S2、使用Antlr文法规则依据GBase数据库的SQL语法定义语法规则,通过指定的元数据规则定义与所述被测GBase数据库的元数据相关的词法规则;
S3、基于所述语法规则和词法规则,使用Antlr工具生成Antlr抽象语法树;通过前序遍历的方式访问所述Antlr抽象语法树生成SQL语句模板;
S4、对生成的SQL语句模板进行识别,准确识别SQL语句模板中的全部语法成分,生成SQL抽象语法树;访问SQL抽象语法树,将指定的元数据规则替换成真正的元数据字面量,生成随机SQL语句;
S5、对被测GBase数据库执行所述随机SQL语句,并返回执行结果;从执行结果和数据库状态两大方面进行结果分析;
S6、循环执行步骤S3-S5,直到生成指定数量的随机SQL语句或数据库崩溃。
2.根据权利要求1所述的GBase数据库模糊测试用例生成方法,其特征在于,步骤S1中所述元数据包括用户表的名称、列的名称、数据类型;内置函数和参数类型;还定义了不同数据类型的数据字面量的生成方法。
3.根据权利要求1所述的GBase数据库模糊测试用例生成方法,其特征在于,步骤S3中,生成SQL语句模板的方法包括:访问所述Antlr抽象语法树,如果访问的是词法规则,则直接返回所述词法规则的定义,如果访问的是语法规则,则从语法规则的定义中随机抽取一个语法分支,然后对分支的每个元素继续进行访问,直到返回全部词法规则的定义。
4.根据权利要求3所述的GBase数据库模糊测试用例生成方法,其特征在于,随机抽取语法分支时,设置最大递归深度;当语法规则被访问时,访问次数+1,当访问次数大于所述最大递归深度时,选择不会产生递归行为的语法分支,来结束递归。
5.根据权利要求1所述的GBase数据库模糊测试用例生成方法,其特征在于,步骤S4具体包括:基于所述语法规则和词法规则生成SQL文法解析器,SQL文法解析器基于SQL语句模板识别语法成分,确定元数据之间的关系,生成SQL抽象语法树。
6.一种GBase数据库模糊测试用例生成装置,其特征在于,包括:SQL语法组件、SQL语义组件、SQL语句模板组件、连接器组件、元数据组件、SQL执行组件、结果分析组件、主程序组件;
主程序组件是所有组件执行的入口,控制其他所有组件的执行逻辑;
所述连接器组件创建连接到被测GBase数据库的连接对象;
所述元数据组件通过连接器组件创建的被测GBase数据库的连接对象,从系统表中获取到被测GBase数据库的元数据;
所述SQL语法组件使用Antlr文法规则依据GBase数据库的SQL语法定义语法规则,通过指定的元数据规则定义与所述被测GBase数据库的元数据相关的词法规则;
所述SQL语句模板组件对SQL语法组件进行解析,使用Antlr工具生成Antlr抽象语法树;通过前序遍历的方式访问所述Antlr抽象语法树生成SQL语句模板;
所述SQL语义组件包含基于SQL语法组件生成的SQL文法解析器,对生成的SQL语句模板进行识别,准确识别SQL语句模板中的全部语法成分,生成SQL抽象语法树;访问SQL抽象语法树,将指定的元数据规则替换成真正的元数据字面量,生成随机SQL语句;
所述SQL执行组件检查连接器组件创建的被测GBase数据库的连接对象,是否可用,然后通过所述连接对象执行所述随机SQL语句,并返回执行结果;
所述结果分析组件从执行结果和数据库状态两大方面进行结果分析;
所述主程序组件控制SQL语句模板组件、SQL语义组件、SQL执行组件、结果分析组件循环执行,直到生成指定数量的随机SQL语句或数据库崩溃。
7.根据权利要求6所述的GBase数据库模糊测试用例生成装置,其特征在于,元数据组件中,所述元数据包括用户表的名称、列的名称、数据类型;内置函数和参数类型;还定义了不同数据类型的数据字面量的生成方法。
8.根据权利要求6所述的GBase数据库模糊测试用例生成装置,其特征在于,SQL语句模板组件中,生成SQL语句模板时,访问所述Antlr抽象语法树,如果访问的是词法规则,则直接返回所述词法规则的定义,如果访问的是语法规则,则从语法规则的定义中随机抽取一个语法分支,然后对分支的每个元素继续进行访问,直到返回全部词法规则的定义。
9.根据权利要求8所述的GBase数据库模糊测试用例生成装置,其特征在于,SQL语句模板组件中,随机抽取语法分支时,设置最大递归深度;当语法规则被访问时,访问次数+1,当访问次数大于所述最大递归深度时,选择不会产生递归行为的语法分支,来结束递归。
10.根据权利要求6所述的GBase数据库模糊测试用例生成装置,其特征在于,SQL语义组件中,基于所述语法规则和词法规则生成SQL文法解析器,SQL文法解析器基于SQL语句模板识别语法成分,确定元数据之间的关系,生成SQL抽象语法树。
CN202410382923.1A 2024-04-01 2024-04-01 一种GBase数据库模糊测试用例生成方法及装置 Pending CN117971706A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410382923.1A CN117971706A (zh) 2024-04-01 2024-04-01 一种GBase数据库模糊测试用例生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410382923.1A CN117971706A (zh) 2024-04-01 2024-04-01 一种GBase数据库模糊测试用例生成方法及装置

Publications (1)

Publication Number Publication Date
CN117971706A true CN117971706A (zh) 2024-05-03

Family

ID=90863589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410382923.1A Pending CN117971706A (zh) 2024-04-01 2024-04-01 一种GBase数据库模糊测试用例生成方法及装置

Country Status (1)

Country Link
CN (1) CN117971706A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388646A (zh) * 2018-02-28 2018-08-10 弘成科技发展有限公司 一种能够保证sql完整性且能动态变动的方法
US20210224281A1 (en) * 2020-01-21 2021-07-22 International Business Machines Corporation Unique sql query transfer for anomaly detection
CN113590648A (zh) * 2021-07-30 2021-11-02 高途教育科技集团有限公司 一种数据查询方法、装置、设备和可读存储介质
CN114490353A (zh) * 2022-01-06 2022-05-13 清华大学 数据库管理系统模糊测试方法、装置及电子设备
CN116450616A (zh) * 2023-04-21 2023-07-18 南京邮电大学 一种基于解析树的通用异构关系型数据库sql迁移方法
CN116701235A (zh) * 2023-08-04 2023-09-05 上海安般信息科技有限公司 一种基于语法正确变异和语义有效实例化的模糊测试方法
KR102586375B1 (ko) * 2023-03-24 2023-10-06 한국정보통신기술협회 랜덤 표현식을 이용한 sql문 자동 생성 장치 및 그 방법
CN117093599A (zh) * 2023-08-23 2023-11-21 南京邮电大学 面向异构数据源的统一sql查询方法
CN117093487A (zh) * 2023-08-23 2023-11-21 南京邮电大学 一种基于扩展正则表达式的通用sql测试用例集生成方法及生成系统
CN117271345A (zh) * 2023-09-27 2023-12-22 北京人大金仓信息技术股份有限公司 用于生成数据库sql测试用例的方法、存储介质和设备
CN117608652A (zh) * 2023-11-20 2024-02-27 合肥工业大学 一种基于高级抽象语法树的sql语句翻译方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388646A (zh) * 2018-02-28 2018-08-10 弘成科技发展有限公司 一种能够保证sql完整性且能动态变动的方法
US20210224281A1 (en) * 2020-01-21 2021-07-22 International Business Machines Corporation Unique sql query transfer for anomaly detection
CN113590648A (zh) * 2021-07-30 2021-11-02 高途教育科技集团有限公司 一种数据查询方法、装置、设备和可读存储介质
CN114490353A (zh) * 2022-01-06 2022-05-13 清华大学 数据库管理系统模糊测试方法、装置及电子设备
KR102586375B1 (ko) * 2023-03-24 2023-10-06 한국정보통신기술협회 랜덤 표현식을 이용한 sql문 자동 생성 장치 및 그 방법
CN116450616A (zh) * 2023-04-21 2023-07-18 南京邮电大学 一种基于解析树的通用异构关系型数据库sql迁移方法
CN116701235A (zh) * 2023-08-04 2023-09-05 上海安般信息科技有限公司 一种基于语法正确变异和语义有效实例化的模糊测试方法
CN117093599A (zh) * 2023-08-23 2023-11-21 南京邮电大学 面向异构数据源的统一sql查询方法
CN117093487A (zh) * 2023-08-23 2023-11-21 南京邮电大学 一种基于扩展正则表达式的通用sql测试用例集生成方法及生成系统
CN117271345A (zh) * 2023-09-27 2023-12-22 北京人大金仓信息技术股份有限公司 用于生成数据库sql测试用例的方法、存储介质和设备
CN117608652A (zh) * 2023-11-20 2024-02-27 合肥工业大学 一种基于高级抽象语法树的sql语句翻译方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ZZZZMING: "Spark SQL源码解析(二)Antlr4解析Sql并生成树", Retrieved from the Internet <URL:https://blog.csdn.net/jiangzhali1623/article/details/105715989> *
人工智能小白修炼之路: "Hive简介及核心概念", Retrieved from the Internet <URL:https://my.mbd.baidu.com/r/1iVttlCckHC> *
余安林: "面向DBMS内存错误的灰盒模糊测试技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 02, 15 February 2024 (2024-02-15) *
李虎;田金文;王缓缓;石勇;: "基于Ontology的数据库自然语言查询接口的研究", 计算机科学, no. 06, 15 June 2010 (2010-06-15) *
杨鑫;JUNJIE WANG;BIHUAN CHEN;LEI WEI;YANG LIU;: "Skyfire:一种数据驱动的种子生成工具", 中国教育网络, no. 11, 5 November 2018 (2018-11-05) *
禅与计算机程序设计艺术: "SQL 语句解析:Hive 通过 ANTLR 生成语法树,解析 SQL 语句。", Retrieved from the Internet <URL:https://blog.csdn.net/universsky2015/article/details/132784660> *

Similar Documents

Publication Publication Date Title
Horgan et al. A data flow coverage testing tool for C
JP5791698B2 (ja) アバップソースコードのコード検査遂行システム
Bruntink et al. On the use of clone detection for identifying crosscutting concern code
US5898872A (en) Software reconfiguration engine
CN110781086B (zh) 一种跨项目缺陷影响分析方法
IL143823A (en) Method and facility to execute code of PL / SQL objects stored in a database
US20070061641A1 (en) Apparatus and method for generating test driver
US11042467B2 (en) Automated searching and identification of software patches
EP3693860B1 (en) Generation of test models from behavior driven development scenarios based on behavior driven development step definitions and similarity analysis using neuro linguistic programming and machine learning mechanisms
CN117009231B (zh) 基于对话式大语言模型的高可靠单元测试自动生成方法及装置
Annamaa et al. An interactive tool for analyzing embedded SQL queries
Gómez et al. CRUDyLeaf: a DSL for generating spring boot REST APIs from entity CRUD operations
CN116842042A (zh) 异化数据库的通用方法、装置、电子设备及存储介质
US5754861A (en) Dynamic program input/output determination
CN116820996A (zh) 基于人工智能的集成测试用例自动生成方法和装置
CN117971706A (zh) 一种GBase数据库模糊测试用例生成方法及装置
Mahajan et al. Providing real-time assistance for repairing runtime exceptions using stack overflow posts
CN115438341A (zh) 提取代码循环计数器的方法、装置、存储介质和电子设备
KR100777103B1 (ko) 테스트 드라이버 생성 장치 및 방법
CN115544062A (zh) 基于Apache Calcite数据血缘和影响分析的方法及系统
CN113434430A (zh) 一种sql查询语句性能检测方法和装置
CN114201757A (zh) 一种基于软件漏洞识别的置信度标识方法、信息存储介质
CN114153447A (zh) 一种自动化生成ai训练代码的方法
CN114385491A (zh) 一种基于深度学习的js转译器缺陷检测方法
Yu et al. Design and implementation of fault injection based on abstract syntax tree of C Program

Legal Events

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