skip to main content
10.1007/978-3-642-14295-6_9guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Termination analysis with compositional transition invariants

Published: 15 July 2010 Publication History

Abstract

Modern termination provers rely on a safety checker to construct disjunctively well-founded transition invariants This safety check is known to be the bottleneck of the procedure We present an alternative algorithm that uses a light-weight check based on transitivity of ranking relations to prove program termination We provide an experimental evaluation over a set of 87 Windows drivers, and demonstrate that our algorithm is often able to conclude termination by examining only a small fraction of the program As a consequence, our algorithm is able to outperform known approaches by multiple orders of magnitude.

References

[1]
Cook, B., Podelski, A., Rybalchenko, A.: Termination proofs for systems code In: PLDI, pp 415-426 ACM, New York (2006)
[2]
Cook, B., Kroening, D., Ruemmer, P., Wintersteiger, C.: Ranking function synthesis for bit-vector relations In: TACAS, pp 236-250 Springer, Heidelberg (2010)
[3]
Podelski, A., Rybalchenko, A.: Transition invariants In: LICS, pp 32-41 IEEE Computer Society, Los Alamitos (2004)
[4]
Colón, M., Sipma, H.: Synthesis of linear ranking functions In: Margaria, T., Yi, W (eds.) TACAS 2001 LNCS, vol 2031, pp 67-81 Springer, Heidelberg (2001)
[5]
Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions In: Steffen, B., Levi, G (eds.) VMCAI 2004 LNCS, vol 2937, pp 465-486 Springer, Heidelberg (2004)
[6]
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)
[7]
Podelski, A., Rybalchenko, A.: ARMC: The logical choice for software model checking with abstraction refinement In: Hanus, M (ed.) PADL 2007 LNCS, vol 4354, pp 245-259 Springer, Heidelberg (2006)
[8]
Horwitz, S., Reps, T.W., Binkley, D.: Interprocedural slicing using dependence graphs In: PLDI, pp 35-46 ACM, New York (1988)
[9]
Kroening, D., Sharygina, N., Tonetta, S., Tsitovich, A., Wintersteiger, C.M.: Loop summarization using abstract transformers In: Cha, S(S.), Choi, J.-Y., Kim, M., Lee, I., Viswanathan, M (eds.) ATVA 2008 LNCS, vol 5311, pp 111-125 Springer, Heidelberg (2008)
[10]
Clarke, E., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs In: Jensen, K., Podelski, A (eds.) TACAS 2004 LNCS, vol 2988, pp 168-176 Springer, Heidelberg (2004)
[11]
Cook, B., Gulwani, S., Lev-Ami, T., Rybalchenko, A., Sagiv, M.: Proving conditional termination In: Gupta, A., Malik, S (eds.) CAV 2008 LNCS, vol 5123, pp 328-340 Springer, Heidelberg (2008)
[12]
Turing, A.M.: On computable numbers, with an application to the Entscheidungsproblem Proc London Math Soc 2, 230-265 (1936)
[13]
Turing, A.: Checking a large routine In: Report of a Conference on High Speed Automatic Calculating Machines, Univ Math Lab., Cambridge, pp 67-69 (1949)
[14]
Codish, M., Taboch, C.: A semantic basis for termination analysis of logic programs and its realization using symbolic norm constraints In: Hanus, M., Heering, J., Meinke, K (eds.) ALP 1997 and HOA 1997 LNCS, vol 1298, pp 31-45 Springer, Heidelberg (1997)
[15]
Thiemann, R., Giesl, J.: The size-change principle and dependency pairs for termination of term rewriting Appl Alg in Eng., Comm & Comp 16, 229-270 (2005)
[16]
Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination In: POPL, pp 81-92 ACM, New York (2001)
[17]
Colón, M., Sipma, H.: Practical methods for proving program termination In: Brinksma, E., Larsen, K.G (eds.) CAV 2002 LNCS, vol 2404, pp 442-454 Springer, Heidelberg (2002)
[18]
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)
[19]
Berdine, J., Chawdhary, A., Cook, B., Distefano, D., O'Hearn, P.: Variance analyses from invariance analyses SIGPLAN Not 42, 211-224 (2007)
[20]
Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking Electr Notes Theor Comput Sci 66 (2002)

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
CAV'10: Proceedings of the 22nd international conference on Computer Aided Verification
July 2010
673 pages
ISBN:364214294X
  • Editors:
  • Tayssir Touili,
  • Byron Cook,
  • Paul Jackson

Sponsors

  • EPSRC: Engineering and Physical Sciences Research Council
  • NEC
  • Jasper Design Automation: Jasper Design Automation
  • IBMR: IBM Research
  • Microsoft Research: Microsoft Research

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 15 July 2010

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media