《表2 内存泄漏特征:C程序内存泄漏智能化检测方法》
针对内存泄漏的静态分析中存在的不足,我们提取了16个内存泄漏特征.本文根据从内存分配点开始的SVFG提取内存泄漏特征,每一个内存分配点对应一个内存泄漏特征.提取的内存泄漏特征信息(内存分配点o,内存释放点指针p)包括3类:类型信息、分支信息、释放信息.类型信息包括数组(判断o是否为数组元素)、结构体(判断o是否为结构体元素)、链表(判断o是否为链表元素),分支信息包括循环分配(o是否在循环内部分配)、循环释放(p是否在循环内部释放)、循环匹配(循环分配与释放次数是否一致)、同一循环(分配与释放是否在同一循环内)、链表匹配(链表的分配与释放次数是否一致)、分支条件(若当前分支中不存在对o的释放,则判断分支条件是否为真),释放信息包括函数间距(从o出发的SVFG最多经过的函数数量)、释放之前为空(p释放之前是否为空指针)、p指向对象数目(释放p时,p指向的对象数目)、别名数目(释放p时,指向o的指针数目)、指针偏移量(释放p时,p与o的偏移量)、全局指针(判断在SVFG中有全局变量指向o)、释放(指针p是否释放).特征见表2.
图表编号 | XD0056207700 严禁用于非法目的 |
---|---|
绘制时间 | 2019.05.01 |
作者 | 朱亚伟、左志强、王林章、李宣东 |
绘制单位 | 计算机软件新技术国家重点实验室(南京大学)、计算机软件新技术国家重点实验室(南京大学)、计算机软件新技术国家重点实验室(南京大学)、计算机软件新技术国家重点实验室(南京大学) |
更多格式 | 高清、无水印(增值服务) |