English

Regular Path Clauses and Their Application in Solving Loops

Logic in Computer Science 2021-09-13 v1

Abstract

A well-established approach to reasoning about loops during program analysis is to capture the effect of a loop by extracting recurrences from the loop; these express relationships between the values of variables, or program properties such as cost, on successive loop iterations. Recurrence solvers are capable of computing closed forms for some recurrences, thus deriving precise relationships capturing the complete loop execution. However, many recurrences extracted from loops cannot be solved, due to their having multiple recursive cases or multiple arguments. In the literature, several techniques for approximating the solution of unsolvable recurrences have been proposed. The approach presented in this paper is to define transformations based on regular path expressions and loop counters that (i) transform multi-path loops to single-path loops, giving rise to recurrences with a single recursive case, and (ii) transform multi-argument recurrences to single-argument recurrences, thus enabling the use of recurrence solvers on the transformed recurrences. Using this approach, precise solutions can sometimes be obtained that are not obtained by approximation methods.

Keywords

Cite

@article{arxiv.2109.04631,
  title  = {Regular Path Clauses and Their Application in Solving Loops},
  author = {Bishoksan Kafle and John P. Gallagher and Manuel V. Hermenegildo and Maximiliano Klemen and Pedro López-García and José F. Morales},
  journal= {arXiv preprint arXiv:2109.04631},
  year   = {2021}
}

Comments

In Proceedings HCVS 2021, arXiv:2109.03988

R2 v1 2026-06-24T05:50:49.580Z