Skip to main content

Abstraction Refinement Guided by a Learnt Probabilistic Model

Grigore, Radu and Yang, Hongseok (2016) Abstraction Refinement Guided by a Learnt Probabilistic Model. In: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL Principles of Programming Languages . ACM, New York, USA, pp. 485-498. ISBN 978-1-4503-3549-2. (doi:10.1145/2837614.2837663) (KAR id:54057)

PDF (with additional proofs (in appendix)) Publisher pdf
Language: English
Download (475kB) Preview
[thumbnail of with additional proofs (in appendix)]
Preview
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL
http://dx.doi.org/10.1145/2837614.2837663

Abstract

The core challenge in designing an effective static program analysis is to find a good program abstraction -- one that retains only details relevant to a given query. In this paper, we present a new approach for automatically finding such an abstraction. Our approach uses a pessimistic strategy, which can optionally use guidance from a probabilistic model. Our approach applies to parametric static analyses implemented in Datalog, and is based on counterexample-guided abstraction refinement. For each untried abstraction, our probabilistic model provides a probability of success, while the size of the abstraction provides an estimate of its cost in terms of analysis time. Combining these two metrics, probability and cost, our refinement algorithm picks an optimal abstraction. Our probabilistic model is a variant of the Erdos-Renyi random graph model, and it is tunable by what we call hyperparameters. We present a method to learn good values for these hyperparameters, by observing past runs of the analysis on an existing codebase. We evaluate our approach on an object sensitive pointer analysis for Java programs, with two client analyses (PolySite and Downcast).

Item Type: Book section
DOI/Identification number: 10.1145/2837614.2837663
Uncontrolled keywords: program analysis, datalog, machine learning, erdos-renyi
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Radu Grigore
Date Deposited: 09 Feb 2016 15:46 UTC
Last Modified: 16 Feb 2021 13:33 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/54057 (The current URI for this page, for reference purposes)
Grigore, Radu: https://orcid.org/0000-0003-1128-0311
  • Depositors only (login required):

Downloads

Downloads per month over past year