10.4230/LIPIcs.FSTTCS.2010.1 Alur, Rajeev Rajeev Alur Cerny, Pavol Pavol Cerny Expressiveness of streaming string transducers LIPIcs Schloss Dagstuhl - Leibniz-Zentrum für Informatik 2010 2018-12-11T11:46:45Z 2019-08-02T12:38:37Z conference https://research-explorer.app.ist.ac.at/record/488 https://research-explorer.app.ist.ac.at/record/488.json 492344 bytes application/pdf Streaming string transducers [1] define (partial) functions from input strings to output strings. A streaming string transducer makes a single pass through the input string and uses a finite set of variables that range over strings from the output alphabet. At every step, the transducer processes an input symbol, and updates all the variables in parallel using assignments whose right-hand-sides are concatenations of output symbols and variables with the restriction that a variable can be used at most once in a right-hand-side expression. It has been shown that streaming string transducers operating on strings over infinite data domains are of interest in algorithmic verification of list-processing programs, as they lead to PSPACE decision procedures for checking pre/post conditions and for checking semantic equivalence, for a well-defined class of heap-manipulating programs. In order to understand the theoretical expressiveness of streaming transducers, we focus on streaming transducers processing strings over finite alphabets, given the existence of a robust and well-studied class of &quot;regular&quot; transductions for this case. Such regular transductions can be defined either by two-way deterministic finite-state transducers, or using a logical MSO-based characterization. Our main result is that the expressiveness of streaming string transducers coincides exactly with this class of regular transductions.