Automatic verification of recursive procedures with one integer parameter

  • Authors:
  • Ahmed Bouajjani;Peter Habermehl;Richard Mayr

  • Affiliations:
  • LIAFA, Université Denis Diderot, Case 7014, 2, Place Jussieu, F-75251 Paris Cedex 05, France;LIAFA, Université Denis Diderot, Case 7014, 2, Place Jussieu, F-75251 Paris Cedex 05, France;Department of Computer Science, Albert-Ludwigs-University Freiburg, Georges-Koehler-Allee Geb. 051, D-79110 Freiburg, Germany

  • Venue:
  • Theoretical Computer Science - Mathematical foundations of computer science
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context-free processes (BPA) have been used for dataflow analysis in recursive procedures with applications in optimizing compilers (Proceedings of FOSSaCS'99, Lecture Notes in Computer Science, Vol. 1578, Springer, Berlin, 1999, pp. 14-30). We introduce a more refined model called BPA(Z) that can model not only recursive dependencies, but also the passing of an integer parameter to a subroutine. Moreover, this parameter can be tested against conditions expressible in Presburger arithmetic. This new and more expressive model can still be analyzed automatically. We define Z-input 1-CM, a new class of 1-counter machines (cm) that take integer numbers as input, to describe sets of configurations of BPA(Z). We show that the Post* (the set of successors) of a set of BPA(Z)-configurations described by a Z-input 1-CM can be effectively constructed. The Pre* (set of predecessors) of a regular set can be effectively constructed as well. However, the Pre* of a set described by a Z-input 1-CM cannot be represented by a Z-input 1-CM, in general, and has an undecidable membership problem. Then we develop a new temporal logic based on reversal-bounded counter machines (i.e. machines which use counters such that the change between increasing and decreasing mode of each counter is bounded (J. Assoc. Comput. Mach. 25 (1978) 116) that can be used to describe properties of BPA(Z) and show that the model-checking problem is decidable.