Proving mutual termination of programs

Dima Elenbogen, Shmuel Katz, Ofer Strichman

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

2 Scopus citations

Abstract

Two programs are said to be mutually terminating if they terminate on exactly the same inputs. We suggest a proof rule that uses a mapping between the functions of the two programs for proving mutual termination of functions f, f′. The rule's premise requires proving that given the same arbitrary input in, f(in) and f'(in) call mapped functions with the same arguments. A variant of this rule with a weaker premise allows to prove termination of one of the programs if the other is known to terminate for all inputs. We present an algorithm for decomposing the verification problem of whole programs to that of proving mutual termination of individual functions, based on our suggested rules.

Original languageEnglish
Title of host publicationHardware and Software
Subtitle of host publicationVerification and Testing - 8th International Haifa Verification Conference, HVC 2012, Revised Selected Papers
Pages24-39
Number of pages16
DOIs
StatePublished - 2013
Event8th International on Hardware and Software: Verification and Testing, HVC 2012 - Haifa, Israel
Duration: 6 Nov 20128 Nov 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7857 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference8th International on Hardware and Software: Verification and Testing, HVC 2012
Country/TerritoryIsrael
CityHaifa
Period6/11/128/11/12

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Proving mutual termination of programs'. Together they form a unique fingerprint.

Cite this