Automated Termination Proofs for Java Programs with Cyclic Data [chapter]

Marc Brockschmidt, Richard Musiol, Carsten Otto, Jürgen Giesl
2012 Lecture Notes in Computer Science  
In earlier work, we developed a technique to prove termination of Java programs automatically: first, Java programs are automatically transformed to term rewrite systems (TRSs) and then, existing methods and tools are used to prove termination of the resulting TRSs. In this paper, we extend our technique in order to prove termination of algorithms on cyclic data such as cyclic lists or graphs automatically. We implemented our technique in the tool AProVE and performed extensive experiments to
more » ... aluate its practical applicability. 4 The state A is obtained automatically when generating the termination graph for a program where length is called with an arbitrary such input list, cf. Sect. 5.
doi:10.1007/978-3-642-31424-7_13 fatcat:b6myal6hojfqlkwccpewcanl7m