-
公开(公告)号:CN109002684A
公开(公告)日:2018-12-14
申请号:CN201810634685.3
申请日:2018-06-20
Applicant: 北京大学
IPC: G06F19/00
Abstract: 本发明提供一种区间信息分析方法,包括:S1,对于值依赖图中任一结点,根据该结点的任一前驱结点的区间信息和该结点与该前驱结点间的守卫条件,获取该前驱结点流入该结点的区间信息;S2,根据该结点的每一前驱结点流入该结点的区间信息和该结点的类型,获取该结点的区间信息。本发明提供的方法,应用递归的方法,基于前驱结点的区间信息和守卫条件,实现了值依赖图中任一结点区间信息的获取,提高了值依赖图的分析效率和分析进度。
-
公开(公告)号:CN108549535A
公开(公告)日:2018-09-18
申请号:CN201810218332.5
申请日:2018-03-16
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F8/41
Abstract: 本发明提供了一种基于文件依赖关系的高效程序解析方法和系统,该方法包括:S1,对源文件进行分割处理,获取对应的预处理单元集合;S2,对预处理单元集合中的每个预处理单元执行以下处理:若确认预处理单元的类型为预处理指令中的文件包含指令,则提取预处理单元中的头文件;若确认存在通过预先解析头文件获取到的抽象语法树,则将头文件的抽象语法树链接至源文件的抽象语法树;若确认不存在通过预先解析头文件获取到的抽象语法树,则将头文件作为源文件执行步骤S1和S2以对头文件进行解析。本发明判断头文件是否被预先解析,将预先解析得到的抽象语法树链接至源文件的抽象语法树,避免相同头文件的重复解析,减少了程序解析时间。
-
-
公开(公告)号:CN105335246A
公开(公告)日:2016-02-17
申请号:CN201510708750.9
申请日:2015-10-27
Applicant: 北京大学
CPC classification number: G06F11/0793 , G06F11/3612
Abstract: 本发明涉及计算机软件技术领域,公开了一种基于问答网站分析的程序崩溃缺陷自动修复方法,包括:根据程序发生崩溃时的崩溃踪迹,获取多个相关网页;其中,所述相关网页中包含描述所述崩溃的缺陷代码以及修复所述崩溃的修复代码;在每个所述相关网页中,提取所述缺陷代码的片段以及修复代码的片段;根据所述缺陷代码片段以及修复代码片段生成用于修复所述崩溃的编辑脚本;根据所述崩溃踪迹以及缺陷代码,确定所述程序源代码中有错误代码的位置,应用所述编辑脚本修复所述错误代码。本发明可根据崩溃踪迹在相关网页上自动搜索修复方案,并生成相应的编辑脚本对崩溃进行修复,摆脱了在修复过程中对操作人员的依赖,实现自动修复,且修复精度较高。
-
公开(公告)号:CN111062031A
公开(公告)日:2020-04-24
申请号:CN201911050708.7
申请日:2019-10-31
Applicant: 国家电网有限公司 , 北京大学 , 南瑞集团有限公司 , 南京南瑞信息通信科技有限公司 , 国网江苏省电力有限公司
IPC: G06F21/52 , G06F16/901
Abstract: 本发明实施例提供一种缓冲区溢出分析方法及装置。所述方法包括:基于程序的控制流图,通过静态污点分析确定被污染的变量;根据所述被污染的变量,确定以所述被污染的变量作为数组下标的数组表达式;根据所述数组表达式,通过后向数据流分析确定所述被污染的变量的边界限制值;判断外部输入变量与所述边界限制值的大小,若所述外部输入变量大于或等于所述边界限制值,则确认缓冲区溢出。本发明实施例提供的缓冲区溢出分析方法及装置可快速准确地判断出缓冲区溢出。
-
公开(公告)号:CN109002712A
公开(公告)日:2018-12-14
申请号:CN201810650652.8
申请日:2018-06-22
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F21/56
Abstract: 本发明提供一种基于值依赖图的污染数据分析方法、系统与电子设备,所述方法包括:S1,将目标计算机程序转换为守卫值依赖图,并通过自定义外部输入函数摘要和外部输入函数摘要用户定义接口,在所述守卫值依赖图上确定多个污染传播起始点;S2,基于污染传播规则、用户自定义漏洞特征的节点特征以及所述污染传播起始点,构成污染传播图;S3,基于所述污染传播图,通过对各所述污染传播起始点进行向下的广搜计算,获取对应的污染传播路径和每一条所述污染传播路径的污染类型。本发明能够清晰且便利的表达污染数据传播范围、传播关系和每一条路径的污染传播类型,保证污染数据传播范围的全面性。
-
公开(公告)号:CN108984843A
公开(公告)日:2018-12-11
申请号:CN201810634710.8
申请日:2018-06-20
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F17/50
Abstract: 本发明提供一种基于守卫计算的区间信息分析方法,包括:S1,对于值依赖图中任一结点,根据该结点与该结点的任一前驱结点间的守卫条件获取守卫条件对应的条件判断结点;S2,根据条件判断结点的前驱结点的区间信息,计算条件判断结点的区间信息,进一步确认条件判断结点的属性;属性为假、真和可满足中的一种;S3,根据条件判断结点的属性,确认条件判断结点对应的守卫条件的区间信息;S4,根据该结点的各前驱结点的区间信息和该结点与该结点的各前驱结点间的守卫条件的区间信息,获取该结点的区间信息。本发明提供的方法,补偿了值依赖图缺少控制流信息的不足,提高了分析精度。
-
公开(公告)号:CN114968351B
公开(公告)日:2022-10-21
申请号:CN202210913259.X
申请日:2022-08-01
Applicant: 北京大学
IPC: G06F8/75
Abstract: 本发明涉及软件代码分析领域,公开了一种分级多特征的代码同源分析方法及系统,使用值依赖分析技术,脱离了特征提取对于结构的依赖,更准确地发现代码中的不可达路径、并更精确地计算变量常量值和变量之间的依赖关系,从而更加全面、准确构建代码在控制流和数据流上的归一化模型,使用分级的方法,将项目按照粒度由大到小划分为项目、包、文件、类和函数五层,此外按照分析精度由低到高划分为文本、标识、语法、语义四层,通过流水线由项目向函数逐级分解、再从函数向项目逐级推导和综合结果,通过流水线的方式有机组合不同粒度和不同分析层次,利用不同分析方法的优点,加速代码匹配过程,提高匹配速度和匹配精度。
-
公开(公告)号:CN114510722A
公开(公告)日:2022-05-17
申请号:CN202210147761.4
申请日:2022-02-17
Applicant: 北京大学
Abstract: 本发明涉及计算机科学技术领域,尤其涉及一种增量代码的静态检测方法及检测系统。静态检测方法具体包含以下步骤:识别所述待测代码的增量部分,构建抽象语法树,合成待测代码的函数调用图,构建增量部分的值依赖图和待测代码的值依赖图,对待测代码值依赖图进行漏洞检测得增量代码的静态检测结果;还包含步骤:将原代码进行静态分析和将原代码和增量代码的静态检测结果结合得到待测代码的静态检测结果。本发明解决了现有技术中静态检测方法精度差容易漏报或误报及代码更新后全检测周期长、资源消耗大、经济性差的问题,具有以下优点:大幅减少分析时间和内存,效率高,成本低和精度高的特点。
-
公开(公告)号:CN108984843B
公开(公告)日:2021-02-09
申请号:CN201810634710.8
申请日:2018-06-20
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F30/00
Abstract: 本发明提供一种基于守卫计算的区间信息分析方法,包括:S1,对于值依赖图中任一结点,根据该结点与该结点的任一前驱结点间的守卫条件获取守卫条件对应的条件判断结点;S2,根据条件判断结点的前驱结点的区间信息,计算条件判断结点的区间信息,进一步确认条件判断结点的属性;属性为假、真和可满足中的一种;S3,根据条件判断结点的属性,确认条件判断结点对应的守卫条件的区间信息;S4,根据该结点的各前驱结点的区间信息和该结点与该结点的各前驱结点间的守卫条件的区间信息,获取该结点的区间信息。本发明提供的方法,补偿了值依赖图缺少控制流信息的不足,提高了分析精度。
-
-
-
-
-
-
-
-
-