Synthesizing Transducers from Complex Specifications
Synthesizing Transducers from Complex Specifications
复制标题
DOI:
10.34727/2022/isbn.978-3-85448-053-2_36
复制
发表时间:
2022-08
期刊:
影响因子:
--
通讯作者:
Anvay Grover;Ruediger Ehlers;Loris D'antoni
中科院分区:
文献类型:
--
作者:
Anvay Grover;Ruediger Ehlers;Loris D'antoni
Automating string transformations has been a driving application of program synthesis. Existing synthesizers that solve this problem produce programs in domain-specific languages (DSL) that are designed to simplify synthesis and therefore lack nice formal properties. This limitation prevents the synthesized programs from being used in verification applications (e.g., to check complex pre-post conditions) and makes the synthesizers hard to modify due to their reliance on the given DSL. We present a constraint-based approach to synthesizing transducers, a model with strong closure and decidability properties. Our approach handles three types of specifications: input-output (i) examples, (ii) types expressed as regular languages, and (iii) distances that bound how many characters the transducer can modify when processing an input string. Our work is the first to support such complex specifications and it does so by using the algorithmic properties of transducers to generate constraints that can be solved using off-the-shelf SMT solvers. Our synthesis approach can be extended to many transducer models and it can be used, thanks to closure properties of transducers, to compute repairs for partially correct transducers.