Using CLP Simplifications to Improve Java Bytecode Termination Analysis

  • Authors:
  • Fausto Spoto;Lunjin Lu;Fred Mesnard

  • Affiliations:
  • Dipartimento di Informatica, Università di Verona, Italy;Oakland University, USA;LIM IREMIA, Université de la Réunion, France

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In an earlier work, a termination analyzer for Java bytecode was developed that translates a Java bytecode program into a constraint logic program and then proves the termination of the latter. An efficiency bottleneck of the termination analyzer is the construction of a proof of termination for the generated constraint logic program, which is often very large in size. In this paper, a set of program simplifications are presented that reduce the size of the constraint logic program without changing its termination behavior. These simplifications remove program clauses and/or predicate arguments that do not affect the termination behavior of the constraint logic program. Their effect is to reduce significantly the time needed to build the termination proof for the constraint logic program, as our experiments show.