| Uniqueness inference for compile-time object deallocation |
| Full text |
Pdf
(263 KB)
|
Source
|
International Symposium on Memory Management
archive
Proceedings of the 6th international symposium on Memory management
table of contents
Montreal, Quebec, Canada
SESSION: Static analysis and verification
table of contents
Pages: 117 - 128
Year of Publication: 2007
ISBN:978-1-59593-893-0
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 32, Citation Count: 2
|
|
|
ABSTRACT
This paper presents an analysis and transformation for individual object reclamation in Java programs. First, we propose a uniqueness inference algorithm that identifies variables and object fields that hold unique references. The algorithm performs an intra-procedural analysis of each method, and then builds and solves a set of inter-procedural uniqueness dependencies to find the global solution. Second, our system uses the uniqueness information to automatically instrument programs with explicit deallocation of individual objects. A key feature of the transformation is its ability to deallocate entire heap structures, including recursive structures, when their root objects are freed. This is achieved by generating object destructors that recursively free all of the unique object fields. Our experiments show that the analysis is effective at reclaiming a large fraction of the objects at a low analysis cost.
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
|
Jonathan Aldrich , Valentin Kostadinov , Craig Chambers, Alias annotations for program understanding, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
 |
2
|
Bowen Alpern , C. R. Attanasio , Anthony Cocchi , Derek Lieber , Stephen Smith , Ton Ngo , John J. Barton , Susan Flynn Hummel , Janice C. Sheperd , Mark Mergen, Implementing jalapeño in Java, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.314-324, November 01-05, 1999, Denver, Colorado, United States
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
S. Cherem and R. Rugina. A practical escape and effect analysis for building lightweight method summaries. In Proceedings of the International Conference on Compiler Construction, Braga, Portugal, March 2007.
|
 |
7
|
|
| |
8
|
GNU Classpath. http://www.gnu.org/software/classpath/.
|
| |
9
|
|
 |
10
|
|
 |
11
|
|
 |
12
|
Michael Hicks , Greg Morrisett , Dan Grossman , Trevor Jim, Experience with safe manual memory-management in cyclone, Proceedings of the 4th international symposium on Memory management, October 24-25, 2004, Vancouver, BC, Canada
[doi> 10.1145/1029873.1029883]
|
 |
13
|
|
| |
14
|
|
 |
15
|
|
 |
16
|
|
| |
17
|
R. Shaham, E. Yahav, E. K. Kolodner, and M. Sagiv. Establishing local temporal heap safety properties with applications to compiletime memory management. In Proceedings of the International Static Analysis Symposium, San Diego, CA, June 2003.
|
 |
18
|
|
| |
19
|
Raja Vallée-Rai , Phong Co , Etienne Gagnon , Laurie Hendren , Patrick Lam , Vijay Sundaresan, Soot - a Java bytecode optimization framework, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, p.13, November 08-11, 1999, Mississauga, Ontario, Canada
|
| |
20
|
P. Wadler. Linear types can change the world! In M. Broy and C. Jones, editors, Working Conference on Programming Concepts and Methods, pages 347--359. North Holland, 1990.
|
 |
21
|
John Whaley , Martin Rinard, Compositional pointer and escape analysis for Java programs, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.187-206, November 01-05, 1999, Denver, Colorado, United States
|
| |
22
|
|
|