Finite Differencing of Logical Formulas for Static Analysis
Thomas Reps, Mooly Sagiv, and Alexey Loginov
This paper concerns mechanisms for maintaining the value of an
instrumentation predicate (a.k.a. derived predicate
or view), defined
via a logical formula over core predicates, in response to changes in
the values of the core predicates. It presents an algorithm for
transforming the instrumentation predicate's defining formula into a
predicate-maintenance formula that captures what the instrumentation
predicate's new value should be.
This technique applies to program-analysis problems in which the
semantics of statements is expressed using logical formulas that
describe changes to core-predicate values, and provides a way to
reflect those changes in the values of the instrumentation predicates.
(Click here to access the paper:
PostScript,
PDF.)