Affiliation:
1. Tufts University, Medford, MA, USA
Abstract
This paper introduces
GC assertions
, a system interface that programmers can use to check for errors, such as data structure invariant violations, and to diagnose performance problems, such as memory leaks. GC assertions are checked by the garbage collector, which is in a unique position to gather information and answer questions about the lifetime and connectivity of objects in the heap. By piggybacking on existing garbage collector computations, our system is able to check heap properties with very low overhead -- around 3% of total execution time -- low enough for use in a deployed setting.
We introduce several kinds of GC assertions and describe how they are implemented in the collector. We also describe our reporting mechanism, which provides a complete path through the heap to the offending objects. We report results on both the performance of our system and the experience of using our assertions to find and repair errors in real-world programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference40 articles.
1. QVM
2. M. Barnett K. Rustan M. Leino and W. Schulte. The spec# programming system: An overview. http://research.microsoft.com/users/leino/papers/krml136.pdf. M. Barnett K. Rustan M. Leino and W. Schulte. The spec# programming system: An overview. http://research.microsoft.com/users/leino/papers/krml136.pdf.
3. BEA. JRockit Mission Control. http://dev2dev.bea.com/jrockit/tools.html. BEA. JRockit Mission Control. http://dev2dev.bea.com/jrockit/tools.html.
4. Reconsidering custom memory allocation
5. Points-to analysis using BDDs
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Calling-to-reference context translation via constraint-guided CFL-reachability;Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation;2018-06-11
2. Light‐weight resource leak testing based on finalisers;IET Software;2013-12
3. Finding reusable data structures;ACM SIGPLAN Notices;2012-11-15