Data-Driven Loop Bound Learning for Termination Analysis

5Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.

Abstract

Termination is a fundamental liveness property for program verification. A loop bound is an upper bound of the number of loop iterations for a given program. The existence of a loop bound evidences the termination of the program. This paper employs a reinforced black-box learning approach for termination proving, consisting of a loop bound learner and a validation checker. We present efficient data-driven algorithms for inferring various kinds of loop bounds, including simple loop bounds, conjunctive loop bounds, and lexicographic loop bounds. We also devise an efficient validation checker by integrating a quick bound checking algorithm and a two-way data sharing mechanism. We implemented a prototype tool called ddlTerm. Experiments on publicly accessible benchmarks show that ddlTerm outperforms state-of-the-art termination analysis tools by solving 13-48% more benchmarks and saving 40-77% solving time.

Cite

CITATION STYLE

APA

Xu, R., Chen, J., & He, F. (2022). Data-Driven Loop Bound Learning for Termination Analysis. In Proceedings - International Conference on Software Engineering (Vol. 2022-May, pp. 499–510). IEEE Computer Society. https://doi.org/10.1145/3510003.3510220

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free