-
公开(公告)号:CN111651198B
公开(公告)日:2021-04-13
申请号:CN202010312534.3
申请日:2020-04-20
Applicant: 北京大学
Abstract: 本发明实施例提供一种代码摘要自动化生成方法及装置,方法包括:基于代码摘要生成模型中的编码器分别对输入序列进行编码,获取输入序列的语义向量;基于代码摘要生成模型中的解码器对输入序列的语义向量进行解码,生成代码样本的函数名和代码摘要;根据生成的函数名、生成的代码摘要,以及预先获取的代码样本的目标函数名和目标代码摘要,计算代码摘要生成模型的损失函数的值,根据损失函数的值对代码摘要生成模型进行训练;将目标代码的输入序列输入训练好的代码摘要生成模型中生成目标代码的代码摘要。本发明实施例采用基于函数名预测任务和代码自动摘要生成任务的多任务学习机制对代码摘要生成模型进行训练,提升自动生成的代码摘要的质量。
-
公开(公告)号:CN108958739B
公开(公告)日:2020-11-10
申请号:CN201810573717.3
申请日:2018-06-06
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F8/53
Abstract: 本发明提供一种二进制反编译中数组数据结构恢复方法及系统,所述方法包括:S11,对于目标反编译结果中任一非指针变量,若该非指针变量的实际占位大小与该非指针变量的类型对应的占位大小之间的差值大于第一预设阈值,则将该非指针变量作为目标变量;S12,获取目标变量在目标反编译结果中各使用位置对应的第一使用模式,若根据第一使用模式对应的第一权重确定目标变量为数组变量,则对数组变量的数据结构进行恢复。本发明实现了对反编译结果中数组数据结构的自动恢复,且提高了数组数据结构恢复的正确率。
-
公开(公告)号:CN103085363A
公开(公告)日:2013-05-08
申请号:CN201310063252.4
申请日:2013-02-28
Applicant: 北京大学
Abstract: 本发明公开了一种杆件与面板新型连接的复合材料点阵结构及其制备方法。本发明的复合材料点阵结构包括:上面板、下面板、压杆及拉丝;其中,上面板和下面板为内表面相对的两面板;在上和下面板的内表面的相对应的位置设置有压杆槽,压杆的两端分别插入上和下面板的相对应的压杆槽中支撑上和下面板;上和下面板还设置有打通面板的拉丝孔,拉丝从拉丝孔编织穿过面板,将相对的上和下两面板牵拉固定。本发明基于传统的复合材料点阵结构的杆件与面板的连接方式,提出了一种新型的连接方式,拉丝与压杆竖向分力在面板结点上实现了自平衡,增强了结点的承载力,提高了整个点阵结构的力学性能,可应用在具有复合材料点阵结构的航空航天和航海舰艇中。
-
公开(公告)号:CN110321458B
公开(公告)日:2021-10-15
申请号:CN201910422869.8
申请日:2019-05-21
Applicant: 国家电网有限公司 , 北京大学 , 南瑞集团有限公司 , 南京南瑞信息通信科技有限公司 , 国网江苏省电力有限公司
IPC: G06F16/90 , G06F16/901
Abstract: 本发明实施例提供一种基于控制流图的数据流分析方法及装置,其中方法包括:对控制流图进行简化处理,简化后的控制流图包括控制流条件中的所有条件变量以及与所述条件变量有关的节点与边;遍历所述简化后的控制流图中的所有控制流路径,以判断所述控制流图是否符合分析条件;若符合分析条件,则以所述简化后的控制流图的每条控制流路径作为状态节点构建状态图;根据所述状态图生成循环摘要。本发明实施例具有准确、快速预测循环执行次数、生成循环摘要的优势。
-
公开(公告)号:CN112000339B
公开(公告)日:2021-09-21
申请号:CN202010657866.5
申请日:2020-07-09
Applicant: 北京大学
Abstract: 本发明实施例提供一种安卓APK文件依赖组件识别方法及装置。其中,方法包括:解析安卓APK文件,获取代码文件和清单文件,根据代码文件和清单文件,获取安卓工程依赖的各组件的文件和package目录;将安卓工程依赖的各组件的文件和package目录与Android SDK部分中各组件的jar的反编译结果进行比较,获取Android SDK部分所依赖的组件;将安卓工程依赖的各组件的文件和package目录与非Android SDK部分的各package依赖的jar的反编译结果进行比较,获取非Android SDK部分所依赖的组件。本发明实施例提供的安卓APK文件依赖组件识别方法及装置,能降低误识别率。
-
公开(公告)号:CN110321458A
公开(公告)日:2019-10-11
申请号:CN201910422869.8
申请日:2019-05-21
Applicant: 国家电网有限公司 , 北京大学 , 南瑞集团有限公司 , 南京南瑞信息通信科技有限公司 , 国网江苏省电力有限公司
IPC: G06F16/90 , G06F16/901
Abstract: 本发明实施例提供一种基于控制流图的数据流分析方法及装置,其中方法包括:对控制流图进行简化处理,简化后的控制流图包括控制流条件中的所有条件变量以及与所述条件变量有关的节点与边;遍历所述简化后的控制流图中的所有控制流路径,以判断所述控制流图是否符合分析条件;若符合分析条件,则以所述简化后的控制流图的每条控制流路径作为状态节点构建状态图;根据所述状态图生成循环摘要。本发明实施例具有准确、快速预测循环执行次数、生成循环摘要的优势。
-
公开(公告)号:CN109446066A
公开(公告)日:2019-03-08
申请号:CN201811101415.2
申请日:2018-09-20
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F11/36
Abstract: 本发明实施例提供一种C/C++程序中不可达代码的静态检测方法及系统,其中,所述方法包括:构建待检测C/C++程序的控制依赖图和值依赖图;在所述值依赖图上进行常量分析,并根据常量分析的结果更新所述控制依赖图;对更新后的所述控制依赖图中所有守卫结点的约束表达式的可满足性进行求解;若存在不可满足的约束表达式,则从所述控制依赖图中获取与所述不可满足的约束表达式相对应的守卫结点的所有直接和间接后继结点所对应的程序代码。本发明可以检测千万行级的代码,检测速度可达到每小时百万行以上,并且检测精度超过利用符号执行技术的检测精度,具有较低的误报率和漏报率。
-
公开(公告)号:CN108958739A
公开(公告)日:2018-12-07
申请号:CN201810573717.3
申请日:2018-06-06
Applicant: 北京大学 , 北京北大软件工程股份有限公司
IPC: G06F8/53
Abstract: 本发明提供一种二进制反编译中数组数据结构恢复方法及系统,所述方法包括:S11,对于目标反编译结果中任一非指针变量,若该非指针变量的实际占位大小与该非指针变量的类型对应的占位大小之间的差值大于第一预设阈值,则将该非指针变量作为目标变量;S12,获取目标变量在目标反编译结果中各使用位置对应的第一使用模式,若根据第一使用模式对应的第一权重确定目标变量为数组变量,则对数组变量的数据结构进行恢复。本发明实现了对反编译结果中数组数据结构的自动恢复,且提高了数组数据结构恢复的正确率。
-
公开(公告)号: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,基于所述污染传播图,通过对各所述污染传播起始点进行向下的广搜计算,获取对应的污染传播路径和每一条所述污染传播路径的污染类型。本发明能够清晰且便利的表达污染数据传播范围、传播关系和每一条路径的污染传播类型,保证污染数据传播范围的全面性。
-
-
-
-
-
-
-
-
-