Code completion with statistical language models

V Raychev, M Vechev, E Yahav - Proceedings of the 35th ACM SIGPLAN …, 2014 - dl.acm.org
We address the problem of synthesizing code completions for programs using APIs. Given a
program with holes, we synthesize completions for holes with the most likely sequences of …

Program synthesis

S Gulwani, O Polozov, R Singh - Foundations and Trends® in …, 2017 - nowpublishers.com
Program synthesis is the task of automatically finding a program in the underlying
programming language that satisfies the user intent expressed in the form of some …

Synthesizing data structure transformations from input-output examples

JK Feser, S Chaudhuri, I Dillig - ACM SIGPLAN Notices, 2015 - dl.acm.org
We present a method for example-guided synthesis of functional programs over recursive
data structures. Given a set of input-output examples, our method synthesizes a program in …

Program synthesis from polymorphic refinement types

N Polikarpova, I Kuraj, A Solar-Lezama - ACM SIGPLAN Notices, 2016 - dl.acm.org
We present a method for synthesizing recursive functions that provably satisfy a given
specification in the form of a polymorphic refinement type. We observe that such …

Type-and-example-directed program synthesis

PM Osera, S Zdancewic - ACM SIGPLAN Notices, 2015 - dl.acm.org
This paper presents an algorithm for synthesizing recursive functions that process algebraic
datatypes. It is founded on proof-theoretic techniques that exploit both type information and …

SWIM: synthesizing what I mean: code search and idiomatic snippet synthesis

M Raghothaman, Y Wei, Y Hamadi - Proceedings of the 38th …, 2016 - dl.acm.org
Modern programming frameworks come with large libraries, with diverse applications such
as for matching regular expressions, parsing XML files and sending email. Programmers …

Component-based synthesis for complex APIs

Y Feng, R Martins, Y Wang, I Dillig… - Proceedings of the 44th …, 2017 - dl.acm.org
Component-based approaches to program synthesis assemble programs from a database
of existing components, such as methods provided by an API. In this paper, we present a …

Program synthesis using natural language

A Desai, S Gulwani, V Hingorani, N Jain… - Proceedings of the 38th …, 2016 - dl.acm.org
Interacting with computers is a ubiquitous activity for millions of people. Repetitive or
specialized tasks often require creation of small, often one-off, programs. End-users struggle …

Complete completion using types and weights

T Gvero, V Kuncak, I Kuraj, R Piskac - Proceedings of the 34th ACM …, 2013 - dl.acm.org
Developing modern software typically involves composing functionality from existing
libraries. This task is difficult because libraries may expose many methods to the developer …

Codehint: Dynamic and interactive synthesis of code snippets

J Galenson, P Reames, R Bodik, B Hartmann… - Proceedings of the 36th …, 2014 - dl.acm.org
There are many tools that help programmers find code fragments, but most are inexpressive
and rely on static information. We present a new technique for synthesizing code that is …