Automated Detection of Non-termination and NullPointerExceptions for Java Bytecode

  • Marc Brockschmidt
  • Thomas Ströder
  • Carsten Otto
  • Jürgen Giesl
Conference paper

DOI: 10.1007/978-3-642-31762-0_9

Part of the Lecture Notes in Computer Science book series (LNCS, volume 7421)
Cite this paper as:
Brockschmidt M., Ströder T., Otto C., Giesl J. (2012) Automated Detection of Non-termination and NullPointerExceptions for Java Bytecode. In: Beckert B., Damiani F., Gurov D. (eds) Formal Verification of Object-Oriented Software. FoVeOOS 2011. Lecture Notes in Computer Science, vol 7421. Springer, Berlin, Heidelberg

Abstract

Recently, we developed an approach for automated termination proofs of Java Bytecode (JBC), which is based on constructing and analyzing termination graphs. These graphs represent all possible program 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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Marc Brockschmidt
    • 1
  • Thomas Ströder
    • 1
  • Carsten Otto
    • 1
  • Jürgen Giesl
    • 1
  1. 1.LuFG Informatik 2RWTH Aachen UniversityGermany

Personalised recommendations