skip to main content
10.5555/2337223.2337471acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Using invariant relations in the termination analysis of while loops

Published: 02 June 2012 Publication History

Abstract

Proving program termination plays an important role in ensuring reliability of software systems. Many researchers have lent much attention to this open long-standing problem, most of them were interested in proving that iterative programs terminate under a given input. In this paper, we present a method to solve a more interesting and challenging problem, namely, the generation of the termination condition of while loops i.e. condition over initial states under which a loop terminates normally. To this effect, we use a concept introduced by Mili et al., viz. invariant relation.

References

[1]
A. M. Turing, "On computable numbers, with an application to the entscheidungsproblem," Proceedings of the London Mathematical Society, vol. 42, pp. 230-265, 1936.
[2]
A. Mili, S. Aharon, and C. Nadkarni, "Mathematics for reasoning about loop functions," Sci. Comput. Program., vol. 74, no. 11-12, pp. 989-1020, 2009.
[3]
A. Louhichi, O. Mraihi, W. Ghardallou, L. L. Jilani, K. Bsaïes, and A. Mili, "Invariant relations: An automated tool to analyze loops," in VECOS, 2011.
[4]
O. Mraihi, W. Ghardallou, A. Louhichi, L. L. Jilani, K. Bsaïes, and A. Mili, "Computing preconditions and postconditions of while loops," in ICTAC, 2011, pp. 173-193.
[5]
B. Cook, A. Podelski, and A. Rybalchenko, "Termination proofs for systems code," in Proc. ACM SIGPLAN conference on Programming language design and implementation, ser. PLDI '06. New York, NY, USA: ACM, 2006, pp. 415-426.
[6]
M. Colón and H. Sipma, "Practical methods for proving program termination," in Proc. International Conference on Computer Aided Verification, ser. CAV '02. London, UK, UK: Springer-Verlag, 2002, pp. 442-454.
[7]
A. Tsitovich, N. Sharygina, C. M. Wintersteiger, and D. Kroening, "Loop summarization and termination analysis," in Proc.International Conference on Tools and Algorithms for the Construction and Analysis of Systems, 2011, pp. 81-95.
[8]
A. Podelski and A. Rybalchenko, "A complete method for the synthesis of linear ranking functions," in VMCAI, 2004, pp. 239-251.
[9]
A. R. Bradley, Z. Manna, and H. B. Sipma, "Termination analysis of integer linear loops," in CONCUR, 2005, pp. 488- 502.
[10]
W. R. Harris, A. Lal, A. V. Nori, and S. K. Rajamani, "Alternation for termination," in SAS, 2010, pp. 304-319.
[11]
A. Gupta, T. A. Henzinger, R. Majumdar, A. Rybalchenko, and R.-G. Xu, "Proving non-termination," in POPL, 2008, pp. 147-158.
[12]
J. Burnim, N. Jalbert, C. Stergiou, and K. Sen, "Looper: Lightweight detection of infinite loops at runtime," in ASE, 2009, pp. 161-169.
[13]
B. Cook, S. Gulwani, T. Lev-Ami, A. Rybalchenko, and M. Sagiv, "Proving conditional termination," in CAV, 2008, pp. 328-340.
[14]
S. Gulwani, S. Srivastava, and R. Venkatesan, "Program analysis as constraint solving," in Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation, ser. PLDI '08. New York, NY, USA: ACM, 2008, pp. 281-292. {Online}. Available: http://doi.acm.org/10.1145/1375581.1375616
[15]
J. Brauburger and J. Giesl, "Approximating the domains of functional and imperative programs," Sci. Comput. Program., vol. 35, no. 2, pp. 113-136, 1999.
[16]
H. Velroyen and P. Rümmer, "Non-termination checking for imperative programs," in Tests and Proofs, Second International Conference, TAP 2008, Prato, Italy, ser. lncs, B. Beckert and R. Hähnle, Eds., vol. 4966. spv, 2008, pp. 154-170.
[17]
C. Hoare, J. Misra, G. T. Leavens, and N. Shankar, "The verified software initiative: A manifesto," ACM Comput. Surv., vol. 41, no. 4, pp. 22:1-22:8, Oct. 2009. {Online}. Available: http://doi.acm.org/10.1145/1592434.1592439

Cited By

View all
  • (2015)Dependence-Based Code Transformation for Coarse-Grained ParallelismProceedings of the 2015 International Workshop on Code Optimisation for Multi and Many Cores10.1145/2723772.2723777(1-10)Online publication date: 8-Feb-2015

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '12: Proceedings of the 34th International Conference on Software Engineering
June 2012
1657 pages
ISBN:9781467310673

Sponsors

Publisher

IEEE Press

Publication History

Published: 02 June 2012

Check for updates

Qualifiers

  • Article

Conference

ICSE '12
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2015)Dependence-Based Code Transformation for Coarse-Grained ParallelismProceedings of the 2015 International Workshop on Code Optimisation for Multi and Many Cores10.1145/2723772.2723777(1-10)Online publication date: 8-Feb-2015

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media