scispace - formally typeset
Open AccessProceedings ArticleDOI

Expressiveness of Streaming String Transducers

Rajeev Alur, +1 more
- Vol. 8, pp 1-12
Reads0
Chats0
TLDR
This work focuses on streaming transducers processing strings over finite alphabets, given the existence of a robust and well-studied class of ``regular'' transductions for this case, and finds that the expressiveness of streaming string transducers coincides exactly with this class of regular transduction.
Abstract
Streaming string transducers 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/postconditions 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 ``regular'' 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.

read more

Content maybe subject to copyright    Report

Citations
More filters
Book

Graph Structure and Monadic Second-Order Logic: A Language-Theoretic Approach

TL;DR: The author not only provides a thorough description of the theory, but also details its applications, on the one hand to the construction of graph algorithms, and the extension of formal language theory to finite graphs.
Posted Content

Algorithmic Verification of Single-Pass List Processing Programs

TL;DR: These results lead to algorithms for assertion checking and for checking functional equivalence of two programs, written possibly in different programming styles, for commonly used routines such as insert, delete, and reverse.
Journal ArticleDOI

Streaming transducers for algorithmic verification of single-pass list-processing programs

TL;DR: In this article, the authors introduce streaming data string transducers that map input data strings to output data strings in a single left-to-right pass in linear time, and establish PSPACE bounds for the problems of checking functional equivalence of two streaming transducers, and of checking whether a streaming transducer satisfies pre/post verification conditions specified by streaming acceptors over input/output data-strings.
Book ChapterDOI

Transducers with Origin Information

TL;DR: This paper proposes to treat origin information as part of the semantics of a regular string-to-string function, which admits a machine-independent characterisation, Angluin-style learning in polynomial time, as well as effective characterisations of natural subclasses such as one-way transducers or first-order definable transducers.
Book ChapterDOI

Streaming tree transducers

TL;DR: This work introduces streaming tree transducers as an analyzable, executable, and expressive model for transforming unranked ordered trees (and hedges) in a single pass and proves that the expressiveness of the model coincides with transductions definable using monadic second-order logic (MSO).
References
More filters
Journal ArticleDOI

The undecidability of aliasing

TL;DR: This article presents simpler proofs of the same results that Landi established that it is impossible to compute statically precise alias information—either may-alias or must-alias—in languages with if statements, loops, dynamic storage, and recursive data structures.
Journal ArticleDOI

The reduction of two-way automata to one-way automata

TL;DR: Rabin has proved that two-way finite automata, which are allowed to move in both directions along their input tape, are equivalent to one-way automata as far as the classification of input tapes is concerned.
Journal ArticleDOI

MSO definable string transductions and two-way finite-state transducers

TL;DR: It is shown that both classes of MSO definable string transductions are characterized in terms of Hennie machines, i.e., two-way finite-state transducers that are allowed to rewrite their input tape, but may visit each position of their input only a bounded number of times.
Book ChapterDOI

Predicate abstraction and canonical abstraction for singly-linked lists

TL;DR: This paper provides a new and rather precise family of abstractions for potentially cyclic singly-linked lists, and encoded this particular predicate abstraction and corresponding transformers in TVLA, and used this implementation to successfully verify safety properties of several list manipulating programs, including programs that were not previously verified using predicate abstraction or canonical abstraction.
Posted Content

Algorithmic Verification of Single-Pass List Processing Programs

TL;DR: These results lead to algorithms for assertion checking and for checking functional equivalence of two programs, written possibly in different programming styles, for commonly used routines such as insert, delete, and reverse.
Related Papers (5)