Parf: Adaptive Parameter Refining for Abstract Interpretation

Zhongyi Wang, Linyu Yang, Mingshuai Chen, Yixuan Bu, Zhiyang Li, Qiuye Wang, Shengchao Qin, Xiao Yi, Jianwei Yin
{"title":"Parf: Adaptive Parameter Refining for Abstract Interpretation","authors":"Zhongyi Wang, Linyu Yang, Mingshuai Chen, Yixuan Bu, Zhiyang Li, Qiuye Wang, Shengchao Qin, Xiao Yi, Jianwei Yin","doi":"arxiv-2409.05794","DOIUrl":null,"url":null,"abstract":"The core challenge in applying abstract interpretation lies in the\nconfiguration of abstraction and analysis strategies encoded by a large number\nof external parameters of static analysis tools. To attain low false-positive\nrates (i.e., accuracy) while preserving analysis efficiency, tuning the\nparameters heavily relies on expert knowledge and is thus difficult to\nautomate. In this paper, we present a fully automated framework called Parf to\nadaptively tune the external parameters of abstract interpretation-based static\nanalyzers. Parf models various types of parameters as random variables subject\nto probability distributions over latticed parameter spaces. It incrementally\nrefines the probability distributions based on accumulated intermediate results\ngenerated by repeatedly sampling and analyzing, thereby ultimately yielding a\nset of highly accurate parameter settings within a given time budget. We have\nimplemented Parf on top of Frama-C/Eva - an off-the-shelf open-source static\nanalyzer for C programs - and compared it against the expert refinement\nstrategy and Frama-C/Eva's official configurations over the Frama-C OSCS\nbenchmark. Experimental results indicate that Parf achieves the lowest number\nof false positives on 34/37 (91.9%) program repositories with exclusively best\nresults on 12/37 (32.4%) cases. In particular, Parf exhibits promising\nperformance for analyzing complex, large-scale real-world programs.","PeriodicalId":501208,"journal":{"name":"arXiv - CS - Logic in Computer Science","volume":"6 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Logic in Computer Science","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.05794","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The core challenge in applying abstract interpretation lies in the configuration of abstraction and analysis strategies encoded by a large number of external parameters of static analysis tools. To attain low false-positive rates (i.e., accuracy) while preserving analysis efficiency, tuning the parameters heavily relies on expert knowledge and is thus difficult to automate. In this paper, we present a fully automated framework called Parf to adaptively tune the external parameters of abstract interpretation-based static analyzers. Parf models various types of parameters as random variables subject to probability distributions over latticed parameter spaces. It incrementally refines the probability distributions based on accumulated intermediate results generated by repeatedly sampling and analyzing, thereby ultimately yielding a set of highly accurate parameter settings within a given time budget. We have implemented Parf on top of Frama-C/Eva - an off-the-shelf open-source static analyzer for C programs - and compared it against the expert refinement strategy and Frama-C/Eva's official configurations over the Frama-C OSCS benchmark. Experimental results indicate that Parf achieves the lowest number of false positives on 34/37 (91.9%) program repositories with exclusively best results on 12/37 (32.4%) cases. In particular, Parf exhibits promising performance for analyzing complex, large-scale real-world programs.
Parf:用于抽象解释的自适应参数提炼
应用抽象解释的核心挑战在于由静态分析工具的大量外部参数编码的抽象和分析策略的配置。为了在保持分析效率的同时达到较低的误判率(即准确率),参数的调整在很大程度上依赖于专家知识,因此很难实现自动化。在本文中,我们提出了一个名为 Parf 的全自动框架,用于自适应地调整基于抽象解释的静态分析仪的外部参数。Parf 将各种类型的参数建模为随机变量,受制于网格参数空间上的概率分布。它根据反复采样和分析产生的累积中间结果,逐步完善概率分布,从而最终在给定的时间预算内获得一组高度精确的参数设置。我们在用于 C 程序的现成开源静态分析器 Frama-C/Eva 上实现了 Parf,并在 Frama-C OSCSbenchmark 上将其与专家细化策略和 Frama-C/Eva 的官方配置进行了比较。实验结果表明,在 34/37 个(91.9%)程序库中,Parf 的误报率最低,在 12/37 个(32.4%)案例中的误报率最高。特别是,Parf 在分析复杂的大型真实世界程序方面表现出了良好的性能。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信