Thread-modular shape analysis

Alexey Gotsman, Josh Berdine, Byron Cook, Mooly Sagiv

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publicationPLDI'07
Subtitle of host publicationProceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation
Pages266-277
Number of pages12
DOIs
StatePublished - 2007
EventPLDI'07: 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation - San Diego, CA, United States
Duration: 10 Jun 200713 Jun 2007

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

ConferencePLDI'07: 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation
Country/TerritoryUnited States
CitySan Diego, CA
Period10/06/0713/06/07

Keywords

  • Abstract interpretation
  • Concurrent programming
  • Shape analysis
  • Static analysis

Cite this