Checking herbrand equalities and beyond

  • Authors:
  • Markus Müller-Olm;Oliver Rüthing;Helmut Seidl

  • Affiliations:
  • FB 4, LS V, Universität Dortmund, Dortmund, Germany;FB 4, LS V, Universität Dortmund, Dortmund, Germany;Informatik, I2, TU München, Garching, Germany

  • Venue:
  • VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A Herbrand equality between expressions in a program is an equality which holds relative to the Herbrand interpretation of operators. We show that the problem of checking validity of positive Boolean combinations of Herbrand equalities at a given program point is decidable – even in presence of disequality guards. This result vastly extends the reach of classical methods for global value numbering which cannot deal with disjunctions and are always based on an abstraction of conditional branching with non-deterministic choice. In order to introduce our analysis technique in a simpler scenario we also give an alternative proof that in the classic setting, where all guards are ignored, conjunctions of Herbrand equalities can be checked in polynomial time. As an application of our method, we show how to derive all valid Herbrand constants in programs with disequality guards. Finally, we present a PSPACE lower bound and show that in presence of equality guards instead of disequality guards, it is undecidable to check whether a given Herbrand equality holds or not.