Automatic fence insertion in integer programs via predicate abstraction

  • Authors:
  • Parosh Aziz Abdulla;Mohamed Faouzi Atig;Yu-Fang Chen;Carl Leonardsson;Ahmed Rezine

  • Affiliations:
  • Uppsala University, Sweden;Uppsala University, Sweden;Academia Sinica, Taiwan;Uppsala University, Sweden;Linköping University, Sweden

  • Venue:
  • SAS'12 Proceedings of the 19th international conference on Static Analysis
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose an automatic fence insertion and verification framework for concurrent programs running under relaxed memory. Unlike previous approaches to this problem, which allow only variables of finite domain, we target programs with (unbounded) integer variables. The problem is difficult because it has two different sources of infiniteness: unbounded store buffers and unbounded integer variables. Our framework consists of three main components: (1) a finite abstraction technique for the store buffers, (2) a finite abstraction technique for the integer variables, and (3) a counterexample guided abstraction refinement loop of the model obtained from the combination of the two abstraction techniques. We have implemented a prototype based on the framework and run it successfully on all standard benchmarks together with several challenging examples that are beyond the applicability of existing methods.