Short Presentation: Static Verification of Global Heap References in Java Native Libraries

Florian Brandner and Dietmar Ebner and Andreas Krall and Christian Thalinger

Institut für Computersprachen
Technische Universität Wien
Argentinierstraße 8
A-1040 Wien, Austria

{brandner,ebner,andi,twisti}@complang.tuwien.ac.at

Abstract

Explicit memory management of Java objects is a frequent source of programming errors in Java native libraries. In this article we present a static verification tool for the au- tomatic detection of frequent kinds of errors such as miss- ing registration of global references. The tool implements a control-flow aware interprocedural escape analysis in order to determine which references have to be explicitly registered for the garbage collector followed by an analysis that makes sure that those references are created on all possible control flow paths. The tool has been applied to some large native libraries and we were able to detect a fairly large number of programming errors.