English
Related papers

Related papers: Synbit: Synthesizing Bidirectional Programs using …

200 papers

We present a system called Smyth for program sketching in a typed functional language whereby the concrete evaluation of ordinary assertions gives rise to input-output examples, which are then used to guide the search to complete the holes.…

Programming Languages · Computer Science 2020-07-14 Justin Lubin , Nick Collins , Cyrus Omar , Ravi Chugh

We propose a novel approach to program synthesis, focusing on synthesizing database queries. At a high level, our proposed algorithm takes as input a sketch with soft constraints encoding user intent, and then iteratively interacts with the…

Programming Languages · Computer Science 2021-10-12 Osbert Bastani , Xin Zhang , Armando Solar-Lezama

Software frequently converts data from one representation to another and vice versa. Naively specifying both conversion directions separately is error prone and introduces conceptual duplication. Instead, bidirectional programming…

Programming Languages · Computer Science 2019-02-20 Li-yao Xia , Dominic Orchard , Meng Wang

For creative tasks, programmers face a choice: Use a GUI and sacrifice flexibility, or write code and sacrifice ergonomics? To obtain both flexibility and ease of use, a number of systems have explored a workflow that we call…

Human-Computer Interaction · Computer Science 2019-08-13 Brian Hempel , Justin Lubin , Ravi Chugh

We explore an approach to type-directed program synthesis rooted in constraint-based type inference techniques. By doing this, we aim to more efficiently synthesize polymorphic code while also tackling advanced typing features such as GADTs…

Programming Languages · Computer Science 2019-07-09 Peter-Michael Osera

Program synthesis is the process of automatically translating a specification into computer code. Traditional synthesis settings require a formal, precise specification. Motivated by computer education applications where a student learns to…

Artificial Intelligence · Computer Science 2018-06-05 Evan Hernandez , Ara Vartanian , Xiaojin Zhu

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

We present Scrybe, an example-based synthesis tool for a statically-typed functional programming language, which combines top-down deductive reasoning in the style of $\lambda^2$ with Smyth-style live bidirectional evaluation. During…

Programming Languages · Computer Science 2022-10-26 Niek Mulleners , Johan Jeuring , Bastiaan Heeren

Program synthesis is the task of automatically generating expressions that satisfy a given specification. Program synthesis techniques have been used to automate the generation of loop invariants in code, synthesize function summaries, and…

Logic in Computer Science · Computer Science 2020-10-13 Elizabeth Polgreen , Sanjit A. Seshia

Designing synthetically accessible molecules and recommending analogs to unsynthesizable molecules are important problems for accelerating molecular discovery. We reconceptualize both problems using ideas from program synthesis. Drawing…

Biomolecules · Quantitative Biology 2025-03-04 Michael Sun , Alston Lo , Minghao Guo , Jie Chen , Connor Coley , Wojciech Matusik

Creating and understanding art has long been a hallmark of human ability. When presented with finished digital artwork, professional graphic artists can intuitively deconstruct and replicate it using various drawing tools, such as the line…

Computer Vision and Pattern Recognition · Computer Science 2024-10-22 Qi Bing , Chaoyi Zhang , Weidong Cai

Recently, there have been several promising methods to generate realistic imagery from deep convolutional networks. These methods sidestep the traditional computer graphics rendering pipeline and instead generate imagery at the pixel level…

Computer Vision and Pattern Recognition · Computer Science 2016-12-06 Patsorn Sangkloy , Jingwan Lu , Chen Fang , Fisher Yu , James Hays

Software synthesis - the process of generating complete, general-purpose programs from specifications - has become a hot research topic in the past few years. For decades the problem was thought to be insurmountable: the search space of…

Programming Languages · Computer Science 2015-10-29 Jonathan Frankle

Sketches make an intuitive and powerful visual expression as they are fast executed freehand drawings. We present a method for synthesizing realistic photos from scene sketches. Without the need for sketch and photo pairs, our framework…

Computer Vision and Pattern Recognition · Computer Science 2022-09-08 Jiayun Wang , Sangryul Jeon , Stella X. Yu , Xi Zhang , Himanshu Arora , Yu Lou

We present a new domain-agnostic synthesis technique for generating programs from input-output examples. Our method, called metric program synthesis, relaxes the well-known observational equivalence idea (used widely in bottom-up…

Programming Languages · Computer Science 2022-10-12 John Feser , Isil Dillig , Armando Solar-Lezama

Recent advancements in large vision-language models have enabled highly expressive and diverse vector sketch generation. However, state-of-the-art methods rely on a time-consuming optimization process involving repeated feedback from a…

Computer Vision and Pattern Recognition · Computer Science 2025-02-13 Ellie Arar , Yarden Frenkel , Daniel Cohen-Or , Ariel Shamir , Yael Vinker

This paper develops a new framework for program synthesis, called semantics-guided synthesis (SemGuS), that allows a user to provide both the syntax and the semantics for the constructs in the language. SemGuS accepts a recursively defined…

Programming Languages · Computer Science 2020-11-12 Jinwoo Kim , Qinheping Hu , Loris D'Antoni , Thomas Reps

Program synthesis is the task of automatically generating a program consistent with a given specification. A natural way to specify programs is to provide examples of desired input-output behavior, and many current program synthesis…

Machine Learning · Computer Science 2020-07-28 Alexander Suh , Yuval Timen

We present an evaluation update (or simply, update) algorithm for a full-featured functional programming language, which synthesizes program changes based on output changes. Intuitively, the update algorithm retraces the steps of the…

Programming Languages · Computer Science 2018-10-22 Mikaël Mayer , Viktor Kunčak , Ravi Chugh

Bidirectional transformations between different data representations occur frequently in modern software systems. They appear as serializers and deserializers, as database views and view updaters, and more. Manually building bidirectional…

Programming Languages · Computer Science 2017-10-11 Anders Miltner , Kathleen Fisher , Benjamin C. Pierce , David Walker , Steve Zdancewic
‹ Prev 1 2 3 10 Next ›