-
公开(公告)号:CN106951366A
公开(公告)日:2017-07-14
申请号:CN201710137147.9
申请日:2017-03-09
Applicant: 南京邮电大学
IPC: G06F11/36
CPC classification number: G06F11/3668
Abstract: 本发明公开一种基于程序切片技术的C语言死代码检测方法,主要包括步骤:将源代码中的输出语句与所述输出语句中的变量集合组成切片准则 ,对源代码分别进行静态后向程序切片分析和动态后向程序切片分析,得到的分析结果经对比,得出是否存在死代码的结论。本发明能够有效的检测出C语言代码中包含的死代码语句,同时提高了检测的准确率和效率。
-
公开(公告)号:CN105700893A
公开(公告)日:2016-06-22
申请号:CN201610098877.8
申请日:2016-02-23
Applicant: 南京邮电大学
CPC classification number: G06F8/433 , G06F8/75 , G06F11/362 , G06F11/3668
Abstract: 本发明公开一种基于改进系统依赖图的LLVM IR程序切片方法。首先,构造出程序依赖图;然后利用图可达性算法对单个程序的LLVM IR语句进行切片;再根据程序间的调用关系、实参与形参之间的对应关系,将对单个程序的分析扩展到多个程序中去;接着利用新的方法来构造传递依赖边,进而完成系统依赖图的构建;最后,利用两阶段图形可达性算法对系统依赖图进行遍历,完成对多个程序的切片。本发明使切片的时间复杂度大大降低。
-
公开(公告)号:CN107943516B
公开(公告)日:2020-11-13
申请号:CN201711274665.1
申请日:2017-12-06
Applicant: 南京邮电大学
Abstract: 本发明提供了一种基于LLVM的克隆代码检测方法,包括预处理步骤,合并映射步骤,提取分片步骤,匹配步骤,汇总步骤。首先对源代码预处理步骤,对源程序通过的前端转换成中间语言,然后对装换后的程序进行程序切片操作,获得中间语句之间的依赖关系,这一操作的获取LLVM IR语言的依赖图。然后对取得的数据进一步处理,获取更加精简的语句关系集。然后使用分割方法将语句集分割,在以分布式对比方法获取克隆代码。本发明中通过切边结果来获得关系集样本,并且保留了语句的特征。本发明将提高代码检测的匹配精度,利用LLVM IR中间语言带来的额外特征性,结合多种匹配方式丰富了匹配方法,实现了更加好的克隆代码检测。
-
公开(公告)号:CN106991435A
公开(公告)日:2017-07-28
申请号:CN201710137000.X
申请日:2017-03-09
Applicant: 南京邮电大学
CPC classification number: G06K9/6269 , G06F21/552 , G06K9/6249
Abstract: 本发明公开了一种基于改进的字典学习的入侵检测方法,包括数据预处理步骤、稀疏特征提取步骤、数据检测步骤;首先收取标准数据集作为本方法训练集和测试集,然后用字典学习的方法对高维数据约简冗余信息以达到稀疏特征选择的目的;字典学习是一个双目标优化的复杂问题,使用分布式快速求解算法‑‑交替方向乘子法(ADMM)作为其求解框架,可以在加快大字典的训练速度的同时保证求解的精度;将提取出的具有高判别能力的稀疏特征作为机器学习分类器的输入,分类器使用支持向量机(SVM),从而得到一个具有低复杂度、高表示能力的入侵检测模型,最终实现降低入侵检测的误报率、提高检测率、减少计算时间和存储开销。
-
-
-