• Publications
  • Influence
Syntax-guided synthesis
The classical formulation of the program-synthesis problem is to find a program that meets a correctness specification given as a logical formula. Recent work on program synthesis and programExpand
  • 417
  • 56
  • Open Access
Regular Functions and Cost Register Automata
We propose a deterministic model for associating costs with strings that is parameterized by operations of interest (such as addition, scaling, and minimum), a notion of regularity that provides aExpand
  • 82
  • 13
  • Open Access
SWIM: Synthesizing What I Mean - Code Search and Idiomatic Snippet Synthesis
Modern programming frameworks come with large libraries, with diverse applications such as for matching regular expressions, parsing XML files and sending email. Programmers often use search enginesExpand
  • 74
  • 8
  • Open Access
Regular Programming for Quantitative Properties of Data Streams
We propose quantitative regular expressions QREs as a high-level programming abstraction for specifying complex numerical queries over data streams in a modular way. Our language allows the arbitraryExpand
  • 50
  • 8
  • Open Access
Regular combinators for string transformations
We focus on (partial) functions that map input strings to a monoid such as the set of integers with addition and the set of output strings with concatenation. The notion of regularity for suchExpand
  • 41
  • 8
  • Open Access
Learning Loop Invariants for Program Verification
A fundamental problem in program verification concerns inferring loop invariants. The problem is undecidable and even practical instances are challenging. Inspired by how human experts construct loopExpand
  • 33
  • 6
  • Open Access
SWIM: Synthesizing What I Mean
  • 9
  • 4
Language to Specify Syntax-Guided Synthesis Problems
We present a language to specify syntax guided synthesis (SyGuS) problems. Syntax guidance is a prominent theme in contemporary program synthesis approaches, and SyGuS was first described in [1].Expand
  • 23
  • 2
  • Open Access
Automatic Completion of Distributed Protocols with Symmetry
A distributed protocol is typically modeled as a set of communicating processes, where each process is described as an extended state machine along with fairness assumptions. Correctness is specifiedExpand
  • 17
  • 2
  • Open Access
Decision Problems for Additive Regular Functions
Additive Cost Register Automata (ACRA) map strings to integers using a finite set of registers that are updated using assignments of the form "x:=y+c" at every step. The corresponding class ofExpand
  • 24
  • 1
  • Open Access