Automatic verification of parameterized data structures

  • Authors:
  • Jyotirmoy V. Deshmukh;E. Allen Emerson;Prateek Gupta

  • Affiliations:
  • Department of Computer Sciences and Computer Engineering Research Center, The University of Texas at Austin, Austin, TX;Department of Computer Sciences and Computer Engineering Research Center, The University of Texas at Austin, Austin, TX;Department of Computer Sciences and Computer Engineering Research Center, The University of Texas at Austin, Austin, TX

  • Venue:
  • TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Verifying correctness of programs operating on data structures has become an integral part of software verification. A method is a program that acts on an input data structure (modeled as a graph) and produces an output data structure. The parameterized correctness problem for such methods can be defined as follows: Given a method and a property of the input graphs, we wish to verify that for all input graphs, parameterized by their size, the output graphs also satisfy the property. We present an automated approach to verify that a given method preserves a given property for a large class of methods. Examples include reversals of linked lists, insertion, deletion and iterative modification of nodes in directed graphs. Our approach draws on machinery from automata theory and temporal logic. For a useful class of data structures and properties, our solution is polynomial in the size of the method and size of the property specification.