一种面向模糊测试的抽象语法树变异方法技术

技术编号:40782937 阅读:21 留言:0更新日期:2024-03-28 19:15
本发明专利技术涉及一种面向模糊测试的抽象语法树变异方法,属于模糊测试技术领域。本发明专利技术使用抽象语法树AST方法来对测试用例进行变异,保证生成的测试用例语法的正确性。抽象语法树变异以AST子树为单位进行变异,侧重改变单个SQL语句的内部结构,AST变异基于AST中蕴含的语法信息进行,在保持AST的原始语法特性的基础上实现语法保持的变异。针对有源码的面向数据库模糊测试的灰盒场景,本方法设计的抽象语法树变异,可以对测试用例进行更加彻底地变异,更好地挖掘种子潜力,并保证生成的测试用例的语法正确性。

【技术实现步骤摘要】

本专利技术属于模糊测试,具体涉及一种面向模糊测试的抽象语法树变异方法


技术介绍

1、数据库管理系统(database management system,dbms)是现代软件系统的数据基础设施,为现代软件系统提供数据持久化服务,其安全性至关重要。近年来,dbms的可靠性和安全性受到工业界和学术界越来越多的关注,研究人员广泛使用模糊测试技术验证dbms的功能和挖掘漏洞,取得了有效的进展,证明了模糊测试技术在dbms漏洞挖掘是一种行之有效的技术方法。

2、模糊测试的核心思想是通过自动化或者半自动化的方法构造出海量的测试用例,然后输入到目标测试程序,以发现目标测试程序中的潜在漏洞。模糊测试的工作过程一般分成几个阶段的工作,如图1所示,分别是测试用例生成阶段、测试用例执行和监控阶段、异常分析阶段。测试用例生成阶段生成可用的测试用例,测试用例执行和监控阶段把测试用例输入给目标程序执行并监控目标程序的执行状态,判断是否触发异常,异常分析阶段对触发异常的测试用例进行分析,找出目标程序的异常位置和异常原因以方便后续进行修复。

3、在整个模糊测试过本文档来自技高网...

【技术保护点】

1.一种面向模糊测试的抽象语法树变异方法,其特征在于,该抽象语法树变异方法针对有源码的面向数据库模糊测试的灰盒场景设计,以抽象语法树AST子树为单位进行变异,改变单个SQL语句的内部结构,变异基于AST中蕴含的语法信息进行,在保持AST的原始语法特性的基础上实现语法保持的变异,以增加生成的测试用例通过数据库管理系统DBMS的语法解析的概率。

2.如权利要求1所述的方法,其特征在于,抽象语法树变异的实现方法具体如下:每次处理一个AST,接收一个AST作为输入,输出变异得到的AST的数组,其中,输入的AST被解析为一个AST子树序列,然后,对于每个AST子树,遍历使用多个AST变...

【技术特征摘要】

1.一种面向模糊测试的抽象语法树变异方法,其特征在于,该抽象语法树变异方法针对有源码的面向数据库模糊测试的灰盒场景设计,以抽象语法树ast子树为单位进行变异,改变单个sql语句的内部结构,变异基于ast中蕴含的语法信息进行,在保持ast的原始语法特性的基础上实现语法保持的变异,以增加生成的测试用例通过数据库管理系统dbms的语法解析的概率。

2.如权利要求1所述的方法,其特征在于,抽象语法树变异的实现方法具体如下:每次处理一个ast,接收一个ast作为输入,输出变异得到的ast的数组,其中,输入的ast被解析为一个ast子树序列,然后,对于每个ast子树,遍历使用多个ast变异操作进行ast变异,这样,经过一轮变异,ast中的所有ast子树都被变异了一遍,最后,变异得到的所有新ast将作为一个ast数组返回。

3.如权利要求2所述的方法,其特征在于,所述ast变异操作包括:插入操作:在整体ast中插入一个ast子树;删除操作:在整体ast中删除一个...

【专利技术属性】
技术研发人员:曾颖明王斌贾琼罗济凡汪美琴张卫国任益辰方永强赵琛
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1