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 automatic detection of frequent kinds of errors such as missing 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. 1
Safety-critical Java (SCJ) avoids garbage collection and uses a scope based memory model. This memor...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
By using Java Native Interface (JNI), programmers can integrate Java programs with legacy systems or...
In this paper, we describe static analysis techniques for finding bugs in programs using the Java Na...
Static detection of memory leaks in a managed language such as Java is attractive because it does no...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
[[abstract]]This paper studies the memory system behavior of Java programs by analyzing memory refer...
Java is an increasingly common platform for server-side applications. Such applications are usually ...
AbstractWe present a framework for statically reasoning about temporal heap safety properties. We fo...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Software development and maintenance are costly endeavors. The cost can be reduced if more software ...
Safety-critical Java (SCJ) avoids garbage collection and uses a scope based memory model. This memor...
Many important classes of bugs result from invalid assumptions about the results of functions and th...
Despite all the benefits of garbage collection, memory leaks remain a problem for Java programs. A m...
Safety-critical Java (SCJ) avoids garbage collection and uses a scope based memory model. This memor...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
By using Java Native Interface (JNI), programmers can integrate Java programs with legacy systems or...
In this paper, we describe static analysis techniques for finding bugs in programs using the Java Na...
Static detection of memory leaks in a managed language such as Java is attractive because it does no...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
[[abstract]]This paper studies the memory system behavior of Java programs by analyzing memory refer...
Java is an increasingly common platform for server-side applications. Such applications are usually ...
AbstractWe present a framework for statically reasoning about temporal heap safety properties. We fo...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Software development and maintenance are costly endeavors. The cost can be reduced if more software ...
Safety-critical Java (SCJ) avoids garbage collection and uses a scope based memory model. This memor...
Many important classes of bugs result from invalid assumptions about the results of functions and th...
Despite all the benefits of garbage collection, memory leaks remain a problem for Java programs. A m...
Safety-critical Java (SCJ) avoids garbage collection and uses a scope based memory model. This memor...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
By using Java Native Interface (JNI), programmers can integrate Java programs with legacy systems or...