Summarization for termination: no return!

  • Authors:
  • Byron Cook;Andreas Podelski;Andrey Rybalchenko

  • Affiliations:
  • Microsoft Research, Cambridge, UK and Queen Mary, University of London, London, UK;University of Freiburg, Freiburg, Germany;Max Planck Institute for Software Systems (MPI-SWS), Saarbrücken, Germany

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2009

Quantified Score

Hi-index 0.01

Visualization

Abstract

We propose a program analysis method for proving termination of recursive programs. The analysis is based on a reduction of termination to two separate problems: reachability of recursive programs, and termination of non-recursive programs. Our reduction works through a program transformation that modifies the call sites and removes return edges. In the new, non-recursive program, a procedure call may non-deterministically enter the procedure body (which means that it will never return) or apply a summary statement.