Finite differencing of logical formulas for static analysis

Thomas Reps*, Mooly Sagiv, Alexey Loginov

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

9 Scopus citations

Abstract

This article concerns mechanisms for maintaining the value of an instrumentation relation (also known as a derived relation or view), defined via a logical formula over core relations, in response to changes in the values of the core relations. It presents an algorithm for transforming the instrumentation relation's defining formula into a relation-maintenance formula that captures what the instrumentation relation's new value should be. The algorithm runs in time linear in the size of the defining formula. The technique applies to program analysis problems in which the semantics of statements is expressed using logical formulas that describe changes to core relation values. It provides a way to obtain values of the instrumentation relations that reflect the changes in core relation values produced by executing a given statement. We present experimental evidence that our technique is an effective one: for a variety of benchmarks, the relation-maintenance formulas produced automatically using our approach yield the same precision as the best available hand-crafted ones.

Original languageEnglish
Article number24
JournalACM Transactions on Programming Languages and Systems
Volume32
Issue number6
DOIs
StatePublished - Aug 2010

Keywords

  • 3-valued logic
  • Abstract interpretation
  • Finite differencing
  • Materialized view
  • Shape analysis
  • Static analysis

Fingerprint

Dive into the research topics of 'Finite differencing of logical formulas for static analysis'. Together they form a unique fingerprint.

Cite this