English

Abstract Interpretation with Unfoldings

Programming Languages 2017-05-02 v1 Logic in Computer Science

Abstract

We present and evaluate a technique for computing path-sensitive interference conditions during abstract interpretation of concurrent programs. In lieu of fixed point computation, we use prime event structures to compactly represent causal dependence and interference between sequences of transformers. Our main contribution is an unfolding algorithm that uses a new notion of independence to avoid redundant transformer application, thread-local fixed points to reduce the size of the unfolding, and a novel cutoff criterion based on subsumption to guarantee termination of the analysis. Our experiments show that the abstract unfolding produces an order of magnitude fewer false alarms than a mature abstract interpreter, while being several orders of magnitude faster than solver-based tools that have the same precision.

Keywords

Cite

@article{arxiv.1705.00595,
  title  = {Abstract Interpretation with Unfoldings},
  author = {Marcelo Sousa and César Rodríguez and Vijay D'Silva and Daniel Kroening},
  journal= {arXiv preprint arXiv:1705.00595},
  year   = {2017}
}

Comments

Extended version of the paper (with the same title and authors) to appear at CAV 2017

R2 v1 2026-06-22T19:32:56.807Z