|
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
J. Berdine, C. Calcagno, and P. O'Hearn. Symbolic execution with separation logic. In APLAS'05: Asian Symposium on Programming Languages and Systems, volume 3780 of LNCS, pages 52--68. Springer, 2005.
|
 |
2
|
Richard Bornat , Cristiano Calcagno , Peter O'Hearn , Matthew Parkinson, Permission accounting in separation logic, Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.259-270, January 12-14, 2005, Long Beach, California, USA
|
 |
3
|
Chandrasekhar Boyapati , Robert Lee , Martin Rinard, Ownership types for safe programming: preventing data races and deadlocks, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
4
|
C. Calcagno, D. Distefano, P. W. O'Hearn, and H. Yang. Beyond reachability: Shape abstraction in the presence of pointer arithmetic. In SAS'06: Static Analysis Simposium, volume 4134 of em LNCS, pages 182--203. Springer, 2006.
|
 |
5
|
Jong-Deok Choi , Keunwoo Lee , Alexey Loginov , Robert O'Callahan , Vivek Sarkar , Manu Sridharan, Efficient and precise datarace detection for multithreaded object-oriented programs, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
6
|
|
 |
7
|
|
| |
8
|
P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511--547, 1992.
|
| |
9
|
D. Distefano, P. W. O'Hearn, and H. Yang. A local shape analysis based on separation logic. In TACAS'06: Tools and Algorithms for Analysis and Construction of Systems, volume 3920 of LNCS, pages 287--302. Springer, 2006.
|
 |
10
|
|
| |
11
|
C. Flanagan and S. Qadeer. Thread-modular model checking. In SPIN'03: Workshop on Model Checking Software, volume 2648 of LNCS, pages 213--224. Springer, 2003.
|
| |
12
|
A. Gotsman, J. Berdine, and B. Cook. Interprocedural shape analysis with separated heap abstractions. In SAS'06: Static Analysis Symposium, volume 4134 of LNCS, pages 240--260. Springer, 2006.
|
| |
13
|
A. Gotsman, N. Rinetzky, J. Berdine, B. Cook, D. Distefano, P. W. O'Hearn, M. Sagiv, and H. Yang. Abstract interpretation with state separation. In preparation, 2007.
|
 |
14
|
|
| |
15
|
TLev-Ami. Personal communication. 2006.
|
| |
16
|
T. Lev-Ami, N. Immerman, and M. Sagiv. Abstraction for shape analysis with fast and precise transformers. In CAV'06: Computer Aided Verification, volume 4144 of LNCS, pages 547--561. Springer, 2006.
|
 |
17
|
|
 |
18
|
|
| |
19
|
P. W. O'Hearn. Resources, concurrency and local reasoning. In CONCUR'04: International Conference on Concurrency Theory, volume 3170 of LNCS, pages 49--67. Springer, 2004.
|
 |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
|
| |
24
|
N. Rinetzky, M. Sagiv, and E. Yahav. Interprocedural shape analysis for cutpoint-free programs. In SAS'05: Static Analysis Symposium, volume 3672 of LNCS, pages 284--302. Springer, 2005.
|
 |
25
|
|
 |
26
|
|
| |
27
|
|
CITED BY 3
|
|
Alexey Gotsman , Byron Cook , Matthew Parkinson , Viktor Vafeiadis, Proving that non-blocking algorithms don't block, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA
|
|
|
|
|
|
Cristiano Calcagno , Dino Distefano , Peter O'Hearn , Hongseok Yang, Compositional shape analysis by means of bi-abduction, Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages, January 21-23, 2009, Savannah, GA, USA
|
|