Automated Termination Analysis of Java Bytecode by Term Rewriting

We present an automated approach to prove termination of Java Bytecode (JBC) programs by automatically transforming them to term rewrite systems (TRSs). In this way, the numerous techniques and tools developed for TRS termination can now be used for imperative object-oriented languages like Java, which can be compiled into JBC.

[1]  Deepak Kapur,et al.  A Term Rewriting Approach to the Automated Termination Analysis of Imperative Programs , 2009, CADE.

[2]  Felix C. Freiling,et al.  Efficient Reductions for Wait-Free Termination Detection in Faulty Distributed Systems , 2005 .

[3]  Jürgen Giesl,et al.  Proving Termination of Integer Term Rewriting , 2009, RTA.

[4]  Tobias Nipkow,et al.  A machine-checked model for a Java-like language, virtual machine, and compiler , 2006, TOPL.

[5]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[6]  Jürgen Giesl,et al.  SAT Solving for Termination Analysis with Polynomial Interpretations , 2007, SAT.

[7]  Joachim Kneis,et al.  Satellites and Mirrors for Solving Independent Set on Sparse Graphs , 2009 .

[8]  Danilo Beuche,et al.  Report of the GI Work Group "Requirements Management Tools for Product Line Engineering" , 2006 .

[9]  Henny B. Sipma,et al.  Termination of Polynomial Programs , 2005, VMCAI.

[10]  Felix C. Freiling,et al.  Revisiting Failure Detection and Consensus in Omission Failure Environments , 2005, ICTAC.

[11]  George B. Mertzios,et al.  Preemptive Scheduling of Equal-Length Jobs in Polynomial Time , 2010, Math. Comput. Sci..

[12]  Joost-Pieter Katoen,et al.  Compositional Abstraction for Stochastic Systems , 2009, FORMATS.

[13]  T. Kraußer,et al.  A Probabilistic Justification of the Combining Calculus under the Uniform Scheduler Assumption , 2007 .

[14]  Joost-Pieter Katoen,et al.  Bisimulation and Logical Preservation for Continuous-Time Markov Decision Processes , 2007, CONCUR.

[15]  Elvira Albert,et al.  Termination Analysis of Java Bytecode , 2008, FMOODS.

[16]  Felix C. Freiling,et al.  Optimal Randomized Fair Exchange with Secret Shared Coins , 2005, OPODIS.

[17]  Jürgen Giesl,et al.  Automatic Termination Proofs in the Dependency Pair Framework , 2006, IJCAR.

[18]  Martin R. Neuhäußer,et al.  Time-Bounded Reachability in Continuous-Time Markov Decision Processes ⋆ , 2009 .

[19]  Jan Borchers,et al.  coJIVE: A System to Support Collaborative Jazz Improvisation , 2007 .

[20]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[21]  Joachim Kneis,et al.  Derandomizing Non-uniform Color-Coding I , 2009 .

[22]  Stefan Richter,et al.  A Faster Algorithm for the Steiner Tree Problem , 2006, STACS.

[23]  Étienne Payet,et al.  A termination analyzer for Java bytecode based on path-length , 2010, TOPL.

[24]  Joost-Pieter Katoen,et al.  Quantitative Model Checking of Continuous-Time Markov Chains Against Timed Automata Specifications , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[25]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[26]  Joost-Pieter Katoen,et al.  Abstraction for Stochastic Systems by Erlang's Method of Stages , 2008, CONCUR.

[27]  Jürgen Giesl,et al.  Polytool: Polynomial interpretations as a basis for termination analysis of logic programs , 2011, Theory Pract. Log. Program..

[28]  Joost-Pieter Katoen,et al.  Compositional Modeling and Minimization of Time-Inhomogeneous Markov Chains , 2008, HSCC.

[29]  Stefan Kowalewski,et al.  Achieving Highly Reliable Embedded Software: An Empirical Evaluation of Different Approaches , 2007, SAFECOMP.

[30]  Sumit Gulwani,et al.  SPEED: precise and efficient static estimation of program computational complexity , 2009, POPL '09.

[31]  Berthold Vöcking,et al.  Decision-making based on approximate and smoothed Pareto curves , 2007, Theor. Comput. Sci..

[32]  Daniel Klünder,et al.  Entwurf eingebetteter Software mit abstrakten Zustandsmaschinen und Business Object Notation , 2009 .

[33]  Jürgen Giesl,et al.  Automated termination proofs for logic programs by term rewriting , 2008, TOCL.

[34]  George B. Mertzios,et al.  A New Intersection Model for Multitolerance Graphs , Hierarchy , and Efficient Algorithms , 2010 .

[35]  Jan Borchers,et al.  Selexels: a Conceptual Framework for Pointing Devices with Low Expressiveness , 2006 .

[36]  Martin Zimmermann Time-Optimal Winning Strategies for Poset Games , 2009, CIAA.

[37]  U. Naumann,et al.  Intraprocedural Adjoint Code Generated by the Differentiation-Enabled NAGWare Fortran Compiler , 2006 .

[38]  Jean Utke,et al.  OpenAD/F: A Modular Open-Source Tool for Automatic Differentiation of Fortran Codes , 2008, TOMS.

[39]  Andreas Podelski,et al.  Termination proofs for systems code , 2006, PLDI '06.

[40]  Christof Löding,et al.  Unranked Tree Automata with Sibling Equalities and Disequalities , 2007, ICALP.

[41]  Henny B. Sipma,et al.  Practical Methods for Proving Program Termination , 2002, CAV.

[42]  Peter W. O'Hearn,et al.  Automatic Termination Proofs for Programs with Shape-Shifting Heaps , 2006, CAV.

[43]  Wolfgang Thomas,et al.  Parametrized Regular Infinite Games and Higher-Order Pushdown Strategies , 2009, FCT.

[44]  Michael Weber,et al.  Parallel algorithms for verification on large systems , 2006 .

[45]  Jürgen Giesl,et al.  Automated Termination Analysis for Haskell: From Term Rewriting to Programming Languages , 2006, RTA.

[46]  Shmuel Zaks,et al.  A New Intersection Model and Improved Algorithms for Tolerance Graphs , 2009, SIAM J. Discret. Math..

[47]  Robert Glück,et al.  An Algorithm of Generalization in Positive Supercompilation , 1995, ILPS.