On sequentializing concurrent programs

  • Authors:
  • Ahmed Bouajjani;Michael Emmi;Gennaro Parlato

  • Affiliations:
  • LIAFA, Université Paris Diderot, France;LIAFA, Université Paris Diderot, France;School of Electronics and Computer Science, University of Southampton, UK

  • Venue:
  • SAS'11 Proceedings of the 18th international conference on Static analysis
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose a general framework for compositional under-approximate concurrent program analyses by reduction to sequential program analyses--so-called sequentializations. We notice the existing sequentializations--based on bounding the number of execution contexts, execution rounds, or delays from a deterministic task-schedule--rely on three key features for scalable concurrent program analyses: (i) reduction to the sequential program model, (ii) compositional reasoning to avoid expensive task-product constructions, and (iii) parameterized exploration bounds. To understand how those sequentializations can be unified and generalized, we define a general framework which preserves their key features, and in which those sequentializations are particular instances. We also identify a most general instance which considers more executions, by composing the rounds of different tasks in any order, restricted only by the unavoidable program and task-creation causality orders. In fact, we show this general instance is fundamentally more powerful by identifying an infinite family of state-reachability problems (to states g1, g2, ...) which can be answered precisely with a fixed exploration bound, whereas the existing sequentializations require an increasing bound k to reach each gk. Our framework applies to a general class of shared-memory concurrent programs, with dynamic task-creation and arbitrary preemption.