An abstract domain extending difference-bound matrices with disequality constraints

  • Authors:
  • Mathias Péron;Nicolas Halbwachs

  • Affiliations:
  • Vérimag, Grenoble, France;Vérimag, Grenoble, France

  • Venue:
  • VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Knowing that two numerical variables always hold different values, at some point of a program, can be very useful, especially for analyzing aliases: if i ≠ j, then A[i] and A[j] are not aliased, and this knowledge is of great help for many other program analyses. Surprisingly, disequalities are seldom considered in abstract interpretation, most of the proposed numerical domains being restricted to convex sets. In this paper, we propose to combine simple ordering properties with disequalities. "Difference-bound matrices" (or DBMs) is a domain proposed by David Dill, for expressing relations of the form "x - y ≤ c" or "c1 ≤ x ≤ c2." We define dDBMs ("disequalities DBMs") as conjunctions of DBMs with simple disequalities of the form "x ≠ y" or "x ≠ 0". We give algorithms on dDBMs, for deciding the emptiness, computing a normal form, and performing the usual operations of an abstract domain. These algorithms have the same complexity (O(n3), where n is the number of variables) than those for classical DBMs, if the variables are considered to be valued in a dense set (R or Q). In the arithmetic case, the emptiness decision is NP-complete, and other operations run in O(n5).