Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Automated Detection of Non-Termination and NullPointerExceptions for Java Bytecode

Summary: Automated Detection of Non-Termination and
NullPointerExceptions for Java Bytecode
Marc Brockschmidt, Thomas Str¨oder, Carsten Otto, and J¨urgen Giesl
LuFG Informatik 2, RWTH Aachen University, Germany
Abstract. Recently, we developed an approach for automated termina-
tion proofs of Java Bytecode (JBC), which is based on constructing and
analyzing termination graphs. These graphs represent all possible pro-
gram executions in a finite way. In this paper, we show that this approach
can also be used to detect non-termination or NullPointerExceptions.
Our approach automatically generates witnesses, i.e., calling the program
with these witness arguments indeed leads to non-termination resp. to
a NullPointerException. Thus, we never obtain "false positives". We
implemented our results in the termination prover AProVE and provide
experimental evidence for the power of our approach.
1 Introduction
To use program verification in the software development process, one is not
only interested in proving the validity of desired program properties, but also in
providing a witness (i.e., a counterexample) if the property is violated.
Our approach is based on our earlier work to prove termination of JBC [4,
6, 17]. Here, a JBC program is first automatically transformed to a termination


Source: Ábrahám, Erika - Fachgruppe Informatik, Rheinisch Westfälische Technische Hochschule Aachen (RWTH)


Collections: Computer Technologies and Information Sciences