SYNTACTIC AND SEMANTIC DEPENDENCE OF ARRAY-ARITHMETIC SENTENCES, WITH AN APPLICATION TO PROGRAM VERIFICATION

  • Authors:
  • Leo Marcus

  • Affiliations:
  • Computer Systems Division, The Aerospace Corporation, P.O. Box 92957. Los Angeles. CA 90009, USA. E-mail: marcus@aero.org

  • Venue:
  • Fundamenta Informaticae
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present an algorithm that takes a first-order sentence &phgr; in full arithmetic with arrays (with quantification over numbers, and with numerical terms serving as array indices), and builds a test formula that can be used to determine which indices of &phgr;'s constituent arrays “really” occur. We call this concept syntactic dependence. We show how to use syntactic dependence as a test for semantic dependence, i.e., the true dependence of &phgr; on the value of an array element. This is useful in truth-maintenance systems or symbolic execution systems, where a sentence may be true in one state but false in the next. More specifically, if we are given an initial state, a sentence (such as &phgr; above) that is true in the initial state, and a list of array elements that may be changing value during a state transition, the algorithm can be used to determine whether &phgr; must remain true after the state transition.