-
公开(公告)号:CN109062795A
公开(公告)日:2018-12-21
申请号:CN201810819656.4
申请日:2018-07-24
Applicant: 北京理工大学 , 北京计算机技术及应用研究所
IPC: G06F11/36
CPC classification number: G06F11/3676 , G06F11/3688
Abstract: 本发明公开了一种模糊测试用例选择方法和装置,适用于AFL过程中待变异测试用例的选择。该方法在采用AFL方法选择待变异测试用例时,引入测试用例的分支覆盖率、覆盖预测因子和路径频次三个影响因子确定测试用例的分数,根据分数确定特权测试用例;特权测试用例优先被选为待变异的测试用例。使用本发明能够减小时间和空间上的浪费,提高模糊测试效率。
-
公开(公告)号:CN108958793B
公开(公告)日:2020-11-10
申请号:CN201810819671.9
申请日:2018-07-24
Applicant: 北京理工大学 , 北京计算机技术及应用研究所
Abstract: 本发明采用一种基于改进GN算法的程序控制流图划分方法,将程序划分为多个段,解决了划分子图规模的不均衡性和迭代次数过多的问题。一种基于改进GN算法的程序控制流图划分方法,首先由程序分析工具获取程序的控制流图;其次,对由节点和有向边构成的控制流图进行处理,为其中的各个节点设置权值;然后结合权值对控制流图进行划分,得到划分后的子图。
-
公开(公告)号:CN109062795B
公开(公告)日:2022-02-22
申请号:CN201810819656.4
申请日:2018-07-24
Applicant: 北京理工大学 , 北京计算机技术及应用研究所
IPC: G06F11/36
Abstract: 本发明公开了一种模糊测试用例选择方法和装置,适用于AFL过程中待变异测试用例的选择。该方法在采用AFL方法选择待变异测试用例时,引入测试用例的分支覆盖率、覆盖预测因子和路径频次三个影响因子确定测试用例的分数,根据分数确定特权测试用例;特权测试用例优先被选为待变异的测试用例。使用本发明能够减小时间和空间上的浪费,提高模糊测试效率。
-
公开(公告)号:CN108897572B
公开(公告)日:2020-09-15
申请号:CN201810793950.2
申请日:2018-07-19
Applicant: 北京理工大学 , 北京计算机技术及应用研究所
IPC: G06F8/72
Abstract: 本发明公开了一种基于变量关联树的复杂类型重构方法,该方法具体为:将待处理的二进制程序转化为汇编程序,并对汇编程序中的各函数单元进行变量关联树VRT的创建;依据变量关联树VRT创建变量地址映射表VAM;根据汇编程序对变量关联树VRT中节点的属性信息进行更新得到最终VRT,同时更新变量地址映射表VAM,最终VRT对应的变量地址映射表VAM包含了汇编程序的基本类型重构结果。识别筛选出根节点的运算符属性为解引用的最终VRT作为指针VRT,其中B+C形式指针VRT对应的复杂类型为结构体,B+V+C形式指针VRT对应的复杂类型为数组,对于B+C形式指针VRT和B+V+C形式指针VRT分别采用不同的方法进行结构体和数组的重构。该方法能够实现快速、有效的复杂类型重构,且重构结果较为准确。
-
公开(公告)号:CN108958793A
公开(公告)日:2018-12-07
申请号:CN201810819671.9
申请日:2018-07-24
Applicant: 北京理工大学 , 北京计算机技术及应用研究所
CPC classification number: G06F8/75 , G06F11/3604
Abstract: 本发明采用一种基于改进GN算法的程序控制流图划分方法,将程序划分为多个段,解决了划分子图规模的不均衡性和迭代次数过多的问题。一种基于改进GN算法的程序控制流图划分方法,首先由程序分析工具获取程序的控制流图;其次,对由节点和有向边构成的控制流图进行处理,为其中的各个节点设置权值;然后结合权值对控制流图进行划分,得到划分后的子图。
-
公开(公告)号:CN108897572A
公开(公告)日:2018-11-27
申请号:CN201810793950.2
申请日:2018-07-19
Applicant: 北京理工大学 , 北京计算机技术及应用研究所
IPC: G06F8/72
Abstract: 本发明公开了一种基于变量关联树的复杂类型重构方法,该方法具体为:将待处理的二进制程序转化为汇编程序,并对汇编程序中的各函数单元进行变量关联树VRT的创建;依据变量关联树VRT创建变量地址映射表VAM;根据汇编程序对变量关联树VRT中节点的属性信息进行更新得到最终VRT,同时更新变量地址映射表VAM,最终VRT对应的变量地址映射表VAM包含了汇编程序的基本类型重构结果。识别筛选出根节点的运算符属性为解引用的最终VRT作为指针VRT,其中B+C形式指针VRT对应的复杂类型为结构体,B+V+C形式指针VRT对应的复杂类型为数组,对于B+C形式指针VRT和B+V+C形式指针VRT分别采用不同的方法进行结构体和数组的重构。该方法能够实现快速、有效的复杂类型重构,且重构结果较为准确。
-
公开(公告)号:CN118796200A
公开(公告)日:2024-10-18
申请号:CN202410474545.X
申请日:2024-04-19
Applicant: 北京理工大学
IPC: G06F8/41 , G06F18/213 , G06F18/25 , G06N3/0464 , G06N3/0442 , G06N3/045
Abstract: 本发明公开了一种多维源代码表征学习方法和装置,包括:获取源代码的词法单元Token序列、抽象语法树AST、程序依赖图PDG;根据Token序列获取源代码的属性特征向量,根据AST获取源代码的结构特征向量,根据PDG获取源代码的语义特征向量,实现了将源代码的语义信息表示为稠密低维实值向量,在低维空间中高效计算实体和关系的语义联系。通过对属性特征向量、结构特征向量、语义特征向量进行特征融合处理,获取源代码的多维表征,实现了对代码信息的充分利用,以更加全面准确与智能化的方式提高下游代码任务的准确率。
-
公开(公告)号:CN116010245A
公开(公告)日:2023-04-25
申请号:CN202211571967.6
申请日:2022-12-08
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明提供一种基于变异的测试用例自动生成系统,先对初始测试用例进行解析,然后根据解析得到的用例子节点数据,获取对应的组成结构和字段类型信息,再根据对应的子节点数据类型,应用针对性的具有正确语义的变异操作生成新的测试用例,因此解决了变异操作损坏用例格式无法生成有效用例的问题;与此同时,本发明使用随机化和基于语义的变异,根据数据类型采用对应语义的变异策略,增强生成的测试用例的针对性和有效性,同时通过随机化的变异策略,增强生成的测试用例的差异性和丰富性,同时,采用多种针对XML和JSON格式特点设计的变异策略,最大程度消除不同来源的XML和JSON格式测试用例生成任务的差异性,增强测试用例生成方法的通用性。
-
公开(公告)号:CN109101422B
公开(公告)日:2022-02-22
申请号:CN201810820845.3
申请日:2018-07-24
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于AFL的模糊测试变异方法和装置,在AFL的确定性变异阶段确定测试用例的有效字节;在确定性变异阶段,根据所述有效字节的信息确定变异字节,不变异全无效字节;在破坏性变异阶段,根据所述有效字节的信息指导变异,如果当前随机选择的字节是有效字节,则一定变异;否则给予小概率变异。使用本发明能够提高AFL的效率,而且能够解决现有符号执行和污点分析技术带来的资源消耗增加的问题。
-
公开(公告)号:CN109739755B
公开(公告)日:2020-07-10
申请号:CN201811612236.5
申请日:2018-12-27
Applicant: 北京理工大学
IPC: G06F11/36
Abstract: 本发明提供一种基于程序追踪和混合执行的模糊测试系统,该系统主要包括三个模块,分别是模糊测试模块、数据流追踪模块和混合执行模块;模糊测试模块的输入为目标二进制程序、种子测试用例和由数据流追踪模块提取的种子测试用例中字节序列对应变量的类型信息,输出为触发新路径的测试用例;数据流追踪模块的输入为目标二进制程序和模糊测试模块加载的种子测试用例,输出为种子测试用例中字节序列对应变量的类型信息和目标二进制程序中数据的依赖关系;混合执行模块的输入为数据流追踪模块实时提供的目标二进制程序中数据的依赖关系,输出为由该模块新生成的可能触发新路径的候选测试用例。该系统相比于现有技术,能够提升测试用例生成的有效性。
-
-
-
-
-
-
-
-
-