基于局部堆内存抽象表示的堆操作程序内存泄露检测
堆操作程序通过共享易变数据结构可灵活地申请、合并、删除堆内存.这类程序的内存泄漏检测要求精确的域敏感的指针别名信息,变得尤其复杂和难以处理.针对这个问题,提出了基于“指针扩展类型”域敏感的堆内存抽象方法,对指针变量在形态上的排列关系进行抽象以支持堆的局部推理.首先,定义了各种基本语句的操作语义,然后基于该抽象方法采用前向数据流迭代算法提出了一种新的内存泄露检测算法.在Crystal编译框架下实现了面向C程序的内存泄漏检测原型工具Heapcheck,该工具支持复杂数据结构内指针型数据域上的内存泄露检测.在典型基准C程序上的实验结果分析表明,该方法与现有的技术相比在效率和精度上都具有优势.
堆操作程序、指针扩展类型、堆局部抽象、内存泄漏检测、数据流迭代、静态分析
49
TP311(计算技术、计算机技术)
国家自然科学基金项目61120106006,90818024;国家"八六三"高技术研究发展计划基金项目2011AA010106
2013-01-08(万方平台首次上网日期,不代表论文的发表时间)
共11页
1832-1842