Skip to main content

Proving Mutual Termination of Programs

  • Conference paper
Hardware and Software: Verification and Testing (HVC 2012)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7857))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Full version available from http://ie.technion.ac.il/~ofers/hvc-full.pdf

  2. http://ie.technion.ac.il/~ofers/rvt.html

  3. http://code.google.com/p/betik

  4. Bradley, A.R., Manna, Z., Sipma, H.B.: Linear ranking with reachability. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 491–504. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Clarke, E., Kroening, D.: Hardware verification using ANSI-C programs as a reference. In: Proceedings of ASP-DAC 2003, pp. 308–311. IEEE Computer Society Press (January 2003)

    Google Scholar 

  6. Cook, B., Podelski, A., Rybalchenko, A.: Abstraction refinement for termination. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 87–101. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  7. Cook, B., Podelski, A., Rybalchenko, A.: Proving program termination. Commun. ACM 54(5), 88–98 (2011)

    Article  Google Scholar 

  8. Eén, N., Sörensson, N.: Translating pseudo-boolean constraints into sat. JSAT 2(1-4), 1–26 (2006)

    MATH  Google Scholar 

  9. Floyd, R.: Assigning meanings to programs. Proc. Symposia in Applied Mathematics 19, 19–32 (1967)

    Article  MathSciNet  Google Scholar 

  10. Garner, L.E.: On the Collatz 3n + 1 algorithm. Proceedings of the American Mathematical Society 82(1), 19–22 (1981)

    MathSciNet  MATH  Google Scholar 

  11. Godlin, B., Strichman, O.: Inference rules for proving the equivalence of recursive procedures. Acta Informatica 45(6), 403–439 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  12. Godlin, B., Strichman, O.: Regression verification. Technical Report IE/IS-2011-02, Technion (2011), http://ie.technion.ac.il/tech_reports/1306207119_j.pdf

  13. Godlin, B., Strichman, O.: Regression verification. In: 46th Design Automation Conference, DAC (2009)

    Google Scholar 

  14. Kawaguchi, M., Lahiri, S.K., Rebelo, H.: Conditional equivalence. Technical Report MSR-TR-2010-119, Microsoft Research (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Elenbogen, D., Katz, S., Strichman, O. (2013). Proving Mutual Termination of Programs. In: Biere, A., Nahir, A., Vos, T. (eds) Hardware and Software: Verification and Testing. HVC 2012. Lecture Notes in Computer Science, vol 7857. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39611-3_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39611-3_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39610-6

  • Online ISBN: 978-3-642-39611-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics