A Parallel Memory Defect Detection Method based on Sparse-Value-Flow Graph

Rulin Xu, Xiaoguang Mao, Luohui Chen, Yue Yu
{"title":"A Parallel Memory Defect Detection Method based on Sparse-Value-Flow Graph","authors":"Rulin Xu, Xiaoguang Mao, Luohui Chen, Yue Yu","doi":"10.1109/JCC59055.2023.00014","DOIUrl":null,"url":null,"abstract":"Memory vulnerability detection aims to identify software defects that can compromise memory safety. However, existing methods often struggle to achieve both high precision and efficiency. This paper presents a high-precision memory vulnerability detection approach based on value flow analysis and parallel computing. We first construct a static semantic representation called SVFG to enable precise detection of memory vulnerabilities such as null pointer dereference and use-after-free. We then perform dependency-aware path feasibility analysis using an SMT solver to reduce false positives. Finally, we develop a task-level parallel framework to accelerate the constraint solving process and improve efficiency.We evaluate our approach on the Juliet test set of over 2,000 test cases and 7 open-source projects. Experimental results show that our dependency-aware analysis can achieve 0.5%-2.05% false positive rates, outperforming traditional approaches and existing tools. Our task-level parallel framework can achieve up to 3.25x speedup with 4 computing nodes.Our study demonstrates that combining value flow analysis and parallel computing is a promising way to enable highly precise and efficient detection of memory vulnerabilities. For future work, we plan to integrate pointer analysis to support more complex codes, and optimize the granularity of parallelism to improve scalability. Overall, this paper presents a static analysis based method to address the inherent trade-off between precision and efficiency in memory vulnerability detection.","PeriodicalId":117254,"journal":{"name":"2023 IEEE International Conference on Joint Cloud Computing (JCC)","volume":"58 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE International Conference on Joint Cloud Computing (JCC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/JCC59055.2023.00014","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Memory vulnerability detection aims to identify software defects that can compromise memory safety. However, existing methods often struggle to achieve both high precision and efficiency. This paper presents a high-precision memory vulnerability detection approach based on value flow analysis and parallel computing. We first construct a static semantic representation called SVFG to enable precise detection of memory vulnerabilities such as null pointer dereference and use-after-free. We then perform dependency-aware path feasibility analysis using an SMT solver to reduce false positives. Finally, we develop a task-level parallel framework to accelerate the constraint solving process and improve efficiency.We evaluate our approach on the Juliet test set of over 2,000 test cases and 7 open-source projects. Experimental results show that our dependency-aware analysis can achieve 0.5%-2.05% false positive rates, outperforming traditional approaches and existing tools. Our task-level parallel framework can achieve up to 3.25x speedup with 4 computing nodes.Our study demonstrates that combining value flow analysis and parallel computing is a promising way to enable highly precise and efficient detection of memory vulnerabilities. For future work, we plan to integrate pointer analysis to support more complex codes, and optimize the granularity of parallelism to improve scalability. Overall, this paper presents a static analysis based method to address the inherent trade-off between precision and efficiency in memory vulnerability detection.
基于稀疏值流图的并行内存缺陷检测方法
内存漏洞检测的目的是识别可能危及内存安全的软件缺陷。然而,现有的方法往往难以同时实现高精度和高效率。提出了一种基于价值流分析和并行计算的高精度内存漏洞检测方法。我们首先构建一个称为SVFG的静态语义表示,以便精确检测内存漏洞,例如空指针解引用和use-after-free。然后,我们使用SMT求解器执行依赖感知路径可行性分析,以减少误报。最后,我们开发了一个任务级并行框架,以加快约束求解过程并提高效率。我们在超过2000个测试用例和7个开源项目的Juliet测试集上评估我们的方法。实验结果表明,我们的依赖感知分析可以达到0.5%-2.05%的假阳性率,优于传统方法和现有工具。我们的任务级并行框架可以在4个计算节点上实现高达3.25倍的加速。我们的研究表明,将价值流分析与并行计算相结合是一种很有前途的方法,可以实现高精度和高效的内存漏洞检测。对于未来的工作,我们计划集成指针分析以支持更复杂的代码,并优化并行度的粒度以提高可伸缩性。总的来说,本文提出了一种基于静态分析的方法来解决内存漏洞检测中精度和效率之间的权衡问题。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信