Streaming transducers for algorithmic verification of singlepass list-processing programs (2011)
| Venue: | In 38th ACM SIGACT-SIGPLAN Symposium on Princples of Programming Languages (POPL’11 |
| Citations: | 12 - 2 self |
BibTeX
@INPROCEEDINGS{Alur11streamingtransducers,
author = {Rajeev Alur},
title = {Streaming transducers for algorithmic verification of singlepass list-processing programs},
booktitle = {In 38th ACM SIGACT-SIGPLAN Symposium on Princples of Programming Languages (POPL’11},
year = {2011},
pages = {599--610},
publisher = {ACM}
}
OpenURL
Abstract
We introduce streaming data string transducers that map input data strings to output data strings in a single left-to-right pass in linear time. Data strings are (unbounded) sequences of data values, tagged with symbols from a finite set, over a potentially infinite data domain that supports only the operations of equality and ordering. The transducer uses a finite set of states, a finite set of variables ranging over the data domain, and a finite set of variables ranging over data strings. At every step, it can make decisions based on the next input symbol, updating its state, remembering the input data value in its data variables, and updating data-string variables by concatenating data-string variables and new symbols formed from data variables, while avoiding duplication. We establish that the problems of checking functional equivalence of two streaming transducers, and of checking whether a streaming transducer satisfies pre/post







