Complexity of Data Dependence Problems for Program Schemas with Concurrency

  • Authors:
  • Sebastian Danicic;Robert M. Hierons;Michael R. Laurence

  • Affiliations:
  • University of London;Brunel University, Uxbridge;University of Sheffield

  • Venue:
  • ACM Transactions on Computational Logic (TOCL)
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The problem of deciding whether one point in a program is data dependent upon another is fundamental to program analysis and has been widely studied. In this article we consider this problem at the abstraction level of program schemas in which computations occur in the Herbrand domain of terms and predicate symbols, which represent arbitrary predicate functions, are allowed. Given a vertex l in the flowchart of a schema S having only equality (variable copying) assignments, and variables v, w, we show that it is PSPACE-hard to decide whether there exists an execution of a program defined by S in which v holds the initial value of w at at least one occurrence of l on the path of execution, with membership in PSPACE holding provided there is a constant upper bound on the arity of any predicate in S. We also consider the ‘dual’ problem in which v is required to hold the initial value of w at every occurrence of l, for which the analogous results hold. Additionally, the former problem for programs with nondeterministic branching (in effect, free schemas) in which assignments with functions are allowed is proved to be polynomial-time decidable provided a constant upper bound is placed upon the number of occurrences of the concurrency operator in the schemas being considered. This result is promising since many concurrent systems have a relatively small number of threads (concurrent processes), especially when compared with the number of statements they have.