Proceedings Article10.1145/3062341.3062345
Automatic program inversion using symbolic transducers
Qinheping Hu,Loris D'Antoni +1 more
- 14 Jun 2017
- Vol. 52, Iss: 6, pp 376-389
36
TL;DR: A fully-automated technique for inverting functional programs that operate over lists such as string encoders and decoders, and shows that the transition inversion problem can be expressed as an instance of the syntax-guided synthesis framework.
read more
Abstract: We propose a fully-automated technique for inverting functional programs that operate over lists such as string encoders and decoders. We consider programs that can be modeled using symbolic extended finite transducers (), an expressive model that can describe complex list-manipulating programs while retaining several decidable properties. Concretely, given a program P expressed as an , we propose techniques for: (1) checking whether P is injective and, if that is the case, (2) building an P-1 describing its inverse. We first show that it is undecidable to check whether an is injective and propose an algorithm for checking injectivity for a restricted, but a practical class of . We then propose an algorithm for inverting based on the following idea: if an is injective, inverting it amounts to inverting all its individual transitions. We leverage recent advances program synthesis and show that the transition inversion problem can be expressed as an instance of the syntax-guided synthesis framework. Finally, we implement the proposed techniques in a tool called and show that can invert 13 out 14 real complex string encoders and decoders, producing inverse programs that are substantially identical to manually written ones.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
The power of symbolic automata and transducers
Loris D'Antoni,Margus Veanes +1 more
- 24 Jul 2017
TL;DR: An overview of what is currently known about symbolic automata and transducers as well as their variants is given and a list of open problems and research directions that relate to both the theory and practice are presented.
Chain-Free String Constraints
Parosh Aziz Abdulla,Mohamed Faouzi Atig,Bui Phi Diep,Lukáš Holík,Petr Janků +4 more
- 28 Oct 2019
TL;DR: A new decidable fragment of string constraints is proposed, called weakly chaining string constraints, for which the satisfiability problem is decidable and pushed the borders of decidability ofstring constraints by generalising the existing straight-line as well as the acyclic fragment of the string logic.
35
Automata modulo theories
Loris D'Antoni,Margus Veanes +1 more
TL;DR: Symbolic automata better balances how automata are implemented in practice.
27
•Posted Content
Proving Unrealizability for Syntax-Guided Synthesis
TL;DR: The proposed technique can be used to augment any existing SyGus tool so that it can establish that a successfully synthesized program q is optimal with respect to some syntactic cost, and can be applied to show that the resulting synthesis problem is unrealizable.
•Posted Content
Relational Program Synthesis
TL;DR: This paper presents a synthesis technique that combines the counterexample-guided inductive synthesis framework with a novel induction algorithm that is based on relational version space learning, and shows that the proposed technique significantly outperforms EUSolver, a generic synthesis framework that won the general track of the most recent SyGuS competition.
References
Z3: an efficient SMT solver
Leonardo de Moura,Nikolaj Bjørner +1 more
- 29 Mar 2008
TL;DR: Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.
8.2K
Syntax-guided synthesis
Rajeev Alur,Rastislav Bodik,Garvit Juniwal,Milo M. K. Martin,Mukund Raghothaman,Sanjit A. Seshia,Rishabh Singh,Emina Torlak,Abhishek Udupa,Armando Solar-Lezama +9 more
- 01 Oct 2013
TL;DR: This work describes three different instantiations of the counter-example-guided-inductive-synthesis (CEGIS) strategy for solving the synthesis problem, reports on prototype implementations, and presents experimental results on an initial set of benchmarks.
658
Syntax-guided synthesis
Rajeev Alur,Rastislav Bodik,Garvit Juniwal,Milo M. K. Martin,Mukund Raghothaman,Sanjit A. Seshia,Rishabh Singh,Armando Solar-Lezama,Emina Torlak,Abhishek Udupa +9 more
- 11 Dec 2013
TL;DR: This work describes three different instantiations of the counter-example-guided-inductive-synthesis (CEGIS) strategy for solving the synthesis problem, reports on prototype implementations, and presents experimental results on an initial set of benchmarks.
•Proceedings Article
Fast and precise sanitizer analysis with BEK
Pieter Hooimeijer,Benjamin Livshits,David Molnar,Prateek Saxena,Margus Veanes +4 more
- 08 Aug 2011
TL;DR: BEK is a language and system for writing sanitizers that enables precise analysis of sanitizer behavior, including checking idempotence, commutativity, and equivalence, and programs written in BEK can be compiled to traditional languages such as JavaScript and C#, making it possible for web developers to writesanitizers supported by deep analysis, yet deploy the analyzed code directly to real applications.