Microsoft Research
Microsoft Research Year 2011 Peer-reviewed
Computer Science · Research

Symbolic Finite State Transducers: Algorithms and Applications

Nikolaj Bjorner Pieter Hooimeijer Benjamin Livshits David Molnar Margus Veanes
2011
Publication year
Microsoft Research
Venue
Peer-reviewed
Type

Problem

Symbolic Finite State Transducers: Algorithms and Applications. Symbolic Finite State Transducers: Algorithms and Applications Finite automata and finite transducers are used in a wide range of applications in software engineering, from regular expressions to specification languages. We extend these classic objects with symbolic alphabets represented as para- metric theories. Admitting potentially infinite alphabets makes this representation strictly more general and succinct than classical finite transducers and automata over strings.

Approach

Despite this, the main operations, including composition, checking that a transducer is single-valued, and equivalence checking for single-valued symbolic finite transducers are effective given a decision procedure for the background theory. We provide novel algorithms for these operations and extend composition to symbolic transducers augmented with regis- ters. Our base algorithms are unusual in that they are non- constructive, therefore, we also supply a separate model generation algorithm that can quickly find counterexamples in the case two symbolic finite transducers are not equivalent. The algorithms give rise to a complete decidable algebra of symbolic transducers.

Results

Unlike previous work, we do not need any syntactic restriction of the formulas on the transitions, only a decision procedure. In practice we leverage recent advances in satisfiability modulo theory (SMT) solvers. We demonstrate our techniques on four case studies, covering a wide range of applications. Our techniques can synthesize string pre-images in excess of 8,000 bytes in roughly a minute, and we find that our new encodings significantly outperform previous techniques in succinctness and speed of analysis.

Cite this paper — BibTeX
@TechReport{bek3tr,
  title = {Symbolic Finite State Transducers: Algorithms and Applications},
  author = "Nikolaj Bjorner  and Pieter Hooimeijer and Benjamin Livshits and David Molnar Margus Veanes},
  year = "2011",
  month = jul,
  institution = "Microsoft Research",
  number = "MSR-TR-2011-85",
}
Copied