Thread-modular shape analysis

  • Authors:
  • Alexey Gotsman;Josh Berdine;Byron Cook;Mooly Sagiv

  • Affiliations:
  • University of Cambridge, Cambridge, United Kngdm;Microsoft Research, Cambridge, United Kngdm;Microsoft Research, Cambridge, United Kngdm;Tel-Aviv University, Tel-Aviv, United Kngdm

  • Venue:
  • Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present the first shape analysis for multithreaded programs that avoids the explicit enumeration of execution-interleavings. Our approach is to automatically infer a resource invariant associated with each lock that describes the part of the heap protected by the lock. This allows us to use a sequential shape analysis on each thread. We show that resource invariants of a certain class can be characterized as least fixed points and computed via repeated applications of shape analysis only on each individual thread. Based on this approach, we have implemented a thread-modular shape analysis tool and applied it to concurrent heap-manipulating code from Windows device drivers.