Heap Decomposition for Concurrent Shape Analysis
Static Analysis Symposium (SAS) |
Published by Springer Verlag
We demonstrate shape analyses that can achieve a state space reduction exponential in the number of threads compared to the state-of-the-art analyses, while retaining sufﬁcient precision to verify sophisticated properties such as linearizability. The key idea is to abstract the global heap by decomposing it into (not necessarily disjoint) subheaps, abstracting away some correlations between them. These new shape analyses are instances of an analysis framework based on heap decomposition. This framework allows rapid prototyping of complex static analyses by providing efﬁcient abstract transformers given user-speciﬁed decomposition schemes. Initial experiments conﬁrm the value of heap decomposition in scaling concurrent shape analyses.