{"title":"Parf:用于抽象解释的自适应参数提炼","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":"{\"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}","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}
Parf: Adaptive Parameter Refining for Abstract Interpretation
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.