Abstract. We consider programs which are data independent with respect to two type variables X and Y , and can in addition use arrays indexed by X and storing values from Y . We are interested in whether a program satisfies its control-state unreachability specification for all non-empty finite instances of X and Y . The decidability of this problem without whole-array operations is a corollary to earlier results. We address the possible addition of two whole-array operations: an array reset instruction, which sets every element of an array to a particular value, and an array assignment or copy instruction. For programs with reset, we obtain decidability if there is only one array or if Y is fixed to be the boolean type, and we obtain undecidability otherwise. For programs with array assignment, we show that they are more expressive than programs with reset, which yields undecidability if there are at least three arrays. We also obtain undecidability for two arrays directly.
Ranko Lazic, Thomas Christopher Newcomb, A. W. Ros