*Result*: A Termination Analyzer for Java Bytecode Based on Path-Length.

Title:
A Termination Analyzer for Java Bytecode Based on Path-Length.
Source:
ACM Transactions on Programming Languages & Systems; Mar2010, Vol. 32 Issue 3, p8-8.70, 70p, 9 Diagrams, 8 Charts
Database:
Complementary Index

*Further Information*

*It is important to prove that supposedly terminating programs actually terminate, particularly if those programs must be run on critical systems or downloaded into a client such as a mobile phone. Although termination of computer programs is generally undecidable, it is possible and useful to prove termination of a large, nontrivial subset of the terminating programs. In this article, we present our termination analyzer for sequential Java bytecode, based on a program property called path-length. We describe the analyses which are needed before the path-length can be computed such as sharing, cyclicity, and aliasing. Then we formally define the path-length analysis and prove it correct with respect to a reference denotational semantics of the bytecode. We show that a constraint logic program P<subscript>CLP</subscript> can be built from the result of the path-length analysis of a Java bytecode program P and formally prove that if P<subscript>CLP</subscript> terminates, then P also terminates. Hence a termination prover for constraint logic programs can be applied to prove the termination of P. We conclude with some discussion of the possibilities and limitations of our approach. Ours is the first existing termination analyzer for Java bytecode dealing with any kind of data structures dynamically allocated on the heap and which does not require any help or annotation on the part of the user. [ABSTRACT FROM AUTHOR]

Copyright of ACM Transactions on Programming Languages & Systems is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)*