ISCAS OpenIR
memory leak detection based on memory state transition graph
Xu Zhenbo; Zhang Jian; Xu Zhongxing
2011
会议名称18th Asia Pacific Software Engineering Conference, APSEC 2011
会议录名称Proceedings - Asia-Pacific Software Engineering Conference, APSEC
页码33-40
会议日期December 5, 2011 - December 8, 2011
会议地点Ho Chi Minh, Viet nam
收录类别EI
ISSN1530-1362
ISBN9780769546094
部门归属(1) Department of Computer Science and Technology University of Science and Technology China; (2) State Key Laboratory of Computer Science Institute of Software Chinese Academy of Sciences China
摘要Memory leak is a common type of defect that is hard to detect manually. Existing memory leak detection tools suffer from lack of precise interprocedural alias and path conditions. To address this problem, we present a static interprocedural analysis algorithm, which captures memory actions and path conditions precisely, to detect memory leak in C programs. Our algorithm uses path-sensitive symbolic execution to track the memory actions in different program paths guarded by path conditions. A novel analysis model called Memory State Transition Graph (MSTG) is proposed to describe the tracking process and its results. An MSTG is generated from a procedure. Nodes in an MSTG contain states of memory objects which record the function behaviors precisely. Edges in an MSTG are annotated with path conditions collected by symbolic execution. The path conditions are checked for satisfiability to reduce the number of false alarms and the path explosion. In order to do interprocedural analysis, our algorithm generates a summary for each procedure from the MSTG and applies the summary at the procedure's call sites. Our implemented tool has found several memory leak bugs in some open source programs and detected more bugs than other tools in some programs from the SPEC2000 benchmarks. In some cases, our tool produces many false positives, but most of them are caused by the same code patterns which are easy to check. © 2011 IEEE.; Memory leak is a common type of defect that is hard to detect manually. Existing memory leak detection tools suffer from lack of precise interprocedural alias and path conditions. To address this problem, we present a static interprocedural analysis algorithm, which captures memory actions and path conditions precisely, to detect memory leak in C programs. Our algorithm uses path-sensitive symbolic execution to track the memory actions in different program paths guarded by path conditions. A novel analysis model called Memory State Transition Graph (MSTG) is proposed to describe the tracking process and its results. An MSTG is generated from a procedure. Nodes in an MSTG contain states of memory objects which record the function behaviors precisely. Edges in an MSTG are annotated with path conditions collected by symbolic execution. The path conditions are checked for satisfiability to reduce the number of false alarms and the path explosion. In order to do interprocedural analysis, our algorithm generates a summary for each procedure from the MSTG and applies the summary at the procedure's call sites. Our implemented tool has found several memory leak bugs in some open source programs and detected more bugs than other tools in some programs from the SPEC2000 benchmarks. In some cases, our tool produces many false positives, but most of them are caused by the same code patterns which are easy to check. © 2011 IEEE.
关键词Algorithms Leak Detection Software Engineering Static Analysis
语种英语
内容类型会议论文
URI标识http://ir.iscas.ac.cn/handle/311060/16279
专题中国科学院软件研究所
推荐引用方式
GB/T 7714
Xu Zhenbo,Zhang Jian,Xu Zhongxing. memory leak detection based on memory state transition graph[C],2011:33-40.
条目包含的文件
条目无相关文件。
个性服务
推荐该条目
保存到收藏夹
查看访问统计
导出为Endnote文件
谷歌学术
谷歌学术中相似的文章
[Xu Zhenbo]的文章
[Zhang Jian]的文章
[Xu Zhongxing]的文章
百度学术
百度学术中相似的文章
[Xu Zhenbo]的文章
[Zhang Jian]的文章
[Xu Zhongxing]的文章
必应学术
必应学术中相似的文章
[Xu Zhenbo]的文章
[Zhang Jian]的文章
[Xu Zhongxing]的文章
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。