C程序的过程间路径敏感资源泄漏检测

Xiujuan Ji, Jufeng Yang, Jing Xu, Lei Feng, Xiaohong Li
{"title":"C程序的过程间路径敏感资源泄漏检测","authors":"Xiujuan Ji, Jufeng Yang, Jing Xu, Lei Feng, Xiaohong Li","doi":"10.1145/2430475.2430494","DOIUrl":null,"url":null,"abstract":"In this paper, we present a new tool, RL_Detector, which performs static analysis to detect resource leaks for C programs. The algorithm is inter-procedural and path-sensitive, and it is based on an underlying resource management property: the data flow from resource allocation point must reach resource deallocation point, otherwise the resource is leaked. For each resource, it symbolically executes the program to collect the constraints of all the paths and recorded as some sets. Then the data flow condition can be computed through these sets of all the paths. Finally, the resource leak detection is reduced to the satisfiability of DFC (the Data Flow Condition). It has been effective at detecting resource leak in the SPEC2000 benchmarks and in an open source software project, the actual test results show that the tool keeps the false positive rate below 10% and works on millions of lines of code in a matter of minutes.","PeriodicalId":20631,"journal":{"name":"Proceedings of the 8th Asia-Pacific Symposium on Internetware","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2012-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Interprocedural path-sensitive resource leaks detection for C programs\",\"authors\":\"Xiujuan Ji, Jufeng Yang, Jing Xu, Lei Feng, Xiaohong Li\",\"doi\":\"10.1145/2430475.2430494\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In this paper, we present a new tool, RL_Detector, which performs static analysis to detect resource leaks for C programs. The algorithm is inter-procedural and path-sensitive, and it is based on an underlying resource management property: the data flow from resource allocation point must reach resource deallocation point, otherwise the resource is leaked. For each resource, it symbolically executes the program to collect the constraints of all the paths and recorded as some sets. Then the data flow condition can be computed through these sets of all the paths. Finally, the resource leak detection is reduced to the satisfiability of DFC (the Data Flow Condition). It has been effective at detecting resource leak in the SPEC2000 benchmarks and in an open source software project, the actual test results show that the tool keeps the false positive rate below 10% and works on millions of lines of code in a matter of minutes.\",\"PeriodicalId\":20631,\"journal\":{\"name\":\"Proceedings of the 8th Asia-Pacific Symposium on Internetware\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-10-30\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 8th Asia-Pacific Symposium on Internetware\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2430475.2430494\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 8th Asia-Pacific Symposium on Internetware","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2430475.2430494","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

摘要

在本文中,我们提出了一个新的工具,RL_Detector,它执行静态分析来检测C程序的资源泄漏。该算法是过程间和路径敏感的,它基于一个底层的资源管理属性:从资源分配点开始的数据流必须到达资源分配点,否则资源就会泄漏。对于每个资源,它象征性地执行程序来收集所有路径的约束并记录为一些集合。然后通过所有路径的集合计算数据流条件。最后,将资源泄漏检测简化为DFC(数据流条件)的可满足性。它在SPEC2000基准测试和开源软件项目中有效地检测了资源泄漏,实际测试结果表明,该工具将误报率保持在10%以下,并在几分钟内处理数百万行代码。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Interprocedural path-sensitive resource leaks detection for C programs
In this paper, we present a new tool, RL_Detector, which performs static analysis to detect resource leaks for C programs. The algorithm is inter-procedural and path-sensitive, and it is based on an underlying resource management property: the data flow from resource allocation point must reach resource deallocation point, otherwise the resource is leaked. For each resource, it symbolically executes the program to collect the constraints of all the paths and recorded as some sets. Then the data flow condition can be computed through these sets of all the paths. Finally, the resource leak detection is reduced to the satisfiability of DFC (the Data Flow Condition). It has been effective at detecting resource leak in the SPEC2000 benchmarks and in an open source software project, the actual test results show that the tool keeps the false positive rate below 10% and works on millions of lines of code in a matter of minutes.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Internetware 2022: 13th Asia-Pacific Symposium on Internetware, Hohhot, China, June 11 - 12, 2022 Internetware'20: 12th Asia-Pacific Symposium on Internetware, Singapore, November 1-3, 2020 Internetware '19: The 11th Asia-Pacific Symposium on Internetware, Fukuoka, Japan, October 28-29, 2019 RepoLike: personal repositories recommendation in social coding communities Effa: a proM plugin for recovering event logs
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1