Published December 2024 | Version v4
Video/Audio Open

Demonstration of Parf (Web Version)

Creators

Description

Abstract interpretation provides a universal principled method for designing static program analyzers. 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.

We present a fully automated framework called Parf to adaptively tune the external parameters of abstract interpretation-based static analyzers. We have implemented Parf on top of Frama-C/Eva – an off-the-shelf open-source static analyzer for C programs. 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.

The web version of Parf allows users to upload C program files for analysis and select parameter settings such as time budget, number of parallel processes, and sampling quantity. After setting and choosing the file and parameter group for analysis, the analysis can begin. The duration of the analysis depends on the time budget set by the user, and the results can be viewed once the analysis is completed.

To watch the demo video, please click "Preview" for "Parf Demo.mp4".

Please note that the Parf web-based UI is currently in testing and can be accessed through Zhejiang University's WebVPN. For instructions on how to use the web-based UI, refer to the document titled "How to Visit Parf Web UI.pdf" and watch the video "How to Visit Parf Web UI.mp4".

Files

How to Visit Parf Web UI.mp4

Files (26.8 MB)

Name Size Download all
md5:a90d1e4cf657f4d4c8a2f9ab16804919
5.4 MB Preview Download
md5:4fb544d9eafa75ecbdc149fcd3fb4b6e
1.1 MB Preview Download
md5:1a03170b278e1bc0ac68fc727b40e1aa
20.3 MB Preview Download
md5:7831d549b39d674b6fe88e0f9903337d
70.7 kB Preview Download

Additional details

Additional titles

Alternative title (English)
Parf: Adaptive Refining for Abstraction Interpretation

Related works

Is described by
Preprint: 10.48550/arXiv.2409.05794 (DOI)
Conference paper: 10.1145/3691620.3695487 (DOI)

Software

Repository URL
https://hub.docker.com/r/parfdocker/parf
Programming language
OCaml
Development Status
Active