Abstract interpretation is a key formal method for the static analysis of programs. 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 abstract interpretation-based 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 13/37 (35.1%) cases. In particular, Parf exhibits promising performance for analyzing complex, large-scale real-world programs.
Tue 29 OctDisplayed time zone: Pacific Time (US & Canada) change
16:30 - 17:30 | Program analysis 1Research Papers / Tool Demonstrations at Compagno Chair(s): Mugdha Khedkar Heinz Nixdorf Institute at Paderborn University | ||
16:30 15mTalk | Parf: Adaptive Parameter Tuning for Abstract Interpretation Research Papers Zhongyi Wang Zhejiang University, China, Linyu Yang Zhejiang University, Mingshuai Chen Zhejiang University, Yixuan Bu Zhejiang University, Zhiyang Li Zhejiang University, Qiuye Wang Fermat Labs, Huawei Inc., Shengchao Qin Fermat Labs, Huawei, Xiao Yi Fermat Labs, Huawei Inc., Jianwei Yin Zhejiang University | ||
16:45 15mTalk | Discovering Likely Program Invariants for Persistent Memory Research Papers Zunchen Huang , Srivatsan Ravi University of Southern California, Chao Wang University of Southern California | ||
17:00 10mTalk | flowR: A Static Program Slicer for R Tool Demonstrations | ||
17:10 10mTalk | Slicer4D: A Slicing-based Debugger for Java Tool Demonstrations Sahar Badihi University of British Columbia, Canada, Sami Nourji The University of British Columbia, Julia Rubin The University of British Columbia Pre-print |