TY - GEN
T1 - Thread-modular shape analysis
AU - Gotsman, Alexey
AU - Berdine, Josh
AU - Cook, Byron
AU - Sagiv, Mooly
PY - 2007
Y1 - 2007
N2 - 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.
AB - 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.
KW - Abstract interpretation
KW - Concurrent programming
KW - Shape analysis
KW - Static analysis
UR - http://www.scopus.com/inward/record.url?scp=35448984534&partnerID=8YFLogxK
U2 - 10.1145/1250734.1250765
DO - 10.1145/1250734.1250765
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:35448984534
SN - 1595936335
SN - 9781595936332
T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
SP - 266
EP - 277
BT - PLDI'07
T2 - PLDI'07: 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation
Y2 - 10 June 2007 through 13 June 2007
ER -