Second-order value numbering

Tiziana Margaria, Bernhard Steffen, Christian Topnik

Research output: Contribution to journalArticlepeer-review

Abstract

We present second-order value numbering, a new optimization method for suppressing redundancy, in a version tailored to the application for optimizing the decision procedure of jMosel, a verification tool set for monadic second-order logic on strings (M2L(Str)). The method extends the well-known concept of value numbering to consider not merely values, but semantics transformers that can be efficiently pre-computed and help to avoid redundancy at the 2nd-order level. Since decision procedures for M2L are non-elementary, an optimization method like this can have a great impact on the execution time, even though our decision procedure comprises the analysis and optimization time for second-order value numbering. This is illustrated considering a parametric family of hardware circuits, where we observed a performance gain by a factor of 3. This result is surprising, as the design of these circuits exploits already structural similarity.

Original languageEnglish
JournalElectronic Communications of the EASST
Volume30
DOIs
Publication statusPublished - 2010
Externally publishedYes

Keywords

  • (second-order) value numbering
  • Monadic second-order logic
  • Program analysis and optimization

Fingerprint

Dive into the research topics of 'Second-order value numbering'. Together they form a unique fingerprint.

Cite this