《表2 内存泄漏特征:C程序内存泄漏智能化检测方法》

《表2 内存泄漏特征:C程序内存泄漏智能化检测方法》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《C程序内存泄漏智能化检测方法》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

针对内存泄漏的静态分析中存在的不足,我们提取了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.