Skip to main content

Proof Automation of Program Termination

  • Chapter
  • First Online:
Recent Advances in Computer Science and Information Engineering

Part of the book series: Lecture Notes in Electrical Engineering ((LNEE,volume 125))

  • 107 Accesses

Abstract

Total program correctness includes partial program correctness and program termination. These two subproblems are undecidable for general programs. As the predominant part of total correctness, the partial program correctness was studied intensively by the research community. Nevertheless, proving termination for an arbitrary program is challenging. This paper describes an automated method that tests for termination of modulo-case functions by conducting a mathematical induction proof. The system takes a modulo-case function and builds an execution trace tree from its inverse. Then, a linear polynomial is formed to capture the level of the executed trace tree for which the termination problem holds. Using the cases of the original function, an inductive proof is automatically generated. If a function successfully terminates, its runtime is computed based on the polynomial.

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 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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.

Similar content being viewed by others

References

  1. Anderson, H., Khoo, S.C.: Affine-Based Size-Change Termination. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 122–140. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  2. Andrei, S.: Termination Analysis by Program Inversion. In: Proceeding or the Ninth 2008 Symposium on Numerical Applications of Symbolic Computation (SYNASC 2008), pp. 26–29. IEEE Computer Society, Timisoara (2008)

    Google Scholar 

  3. Kelly, W., Maslov, V., Pugh, W., Rosser, E., Shpeisman, T., Wonnacott, D.: The Omega Library interface guide. Technical Report CS-TR-3445, CS Dept., University of Maryland, College Park (March 1995)

    Google Scholar 

  4. Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The Size-Change Principle for Program Termination. In: Conference Record of the 28th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 81–92. ACM Press (2001)

    Google Scholar 

  5. Rice, H.: Classes of Recursively Enumerable Sets and their Decision Problems. Transactions of the American Mathematical Society 89, 25–29 (1953)

    MathSciNet  Google Scholar 

  6. Termination Portal, Termination Portal (December 2009), http://termination-portal.org/wiki/Termination_Portal

  7. Turing, A.: On Computable Numbers, with an Application to the Entscheidungs Problem. Proceedings of the London Mathematical Society 42, 230–265 (1936)

    Article  Google Scholar 

  8. Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.V.: Automatic Program Repair with Evolutionary Computation. Communications of the ACM 53, 109–116 (2010)

    Article  Google Scholar 

  9. Doss, K., Andrei, S., Makki, K.: An Automatic Induction Proof for Program Termination Analysis, Technical Report, No. 2, Lamar University, pp. 1–11 (August 2010)

    Google Scholar 

  10. Cook, B., Podelski, A., Rybalchenko, A.: Terminator: Beyond Safety. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 415–418. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Andrei .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag GmbH Berlin Heidelberg

About this chapter

Cite this chapter

Andrei, S., Doss, K., Makki, S.K. (2012). Proof Automation of Program Termination. In: Qian, Z., Cao, L., Su, W., Wang, T., Yang, H. (eds) Recent Advances in Computer Science and Information Engineering. Lecture Notes in Electrical Engineering, vol 125. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25789-6_61

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25789-6_61

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25788-9

  • Online ISBN: 978-3-642-25789-6

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics