On the design of ai-powered code assistants for notebooks
AI-powered code assistants, such as Copilot, are quickly becoming a ubiquitous component
of contemporary coding contexts. Among these environments, computational notebooks …
of contemporary coding contexts. Among these environments, computational notebooks …
Program synthesis
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 …
programming language that satisfies the user intent expressed in the form of some …
Flashmeta: A framework for inductive program synthesis
Inductive synthesis, or programming-by-examples (PBE) is gaining prominence with
disruptive applications for automating repetitive tasks in end-user programming. However …
disruptive applications for automating repetitive tasks in end-user programming. However …
Synthesizing highly expressive SQL queries from input-output examples
SQL is the de facto language for manipulating relational data. Though powerful, many users
find it difficult to write SQL queries due to highly expressive constructs. While using the …
find it difficult to write SQL queries due to highly expressive constructs. While using the …
Learning syntactic program transformations from examples
Automatic program transformation tools can be valuable for programmers to help them with
refactoring tasks, and for Computer Science students in the form of tutoring systems that …
refactoring tasks, and for Computer Science students in the form of tutoring systems that …
Exploring the learnability of program synthesizers by novice programmers
Modern program synthesizers are increasingly delivering on their promise of lightening the
burden of programming by automatically generating code, but little research has addressed …
burden of programming by automatically generating code, but little research has addressed …
Sketch-n-sketch: Output-directed programming for svg
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 …
code and sacrifice ergonomics? To obtain both flexibility and ease of use, a number of …
Program synthesis using natural language
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 …
specialized tasks often require creation of small, often one-off, programs. End-users struggle …
Interactive program synthesis by augmented examples
Programming-by-example (PBE) has become an increasingly popular component in
software development tools, human-robot interaction, and end-user programming. A long …
software development tools, human-robot interaction, and end-user programming. A long …
Falx: Synthesis-powered visualization authoring
Modern visualization tools aim to allow data analysts to easily create exploratory
visualizations. When the input data layout conforms to the visualization design, users can …
visualizations. When the input data layout conforms to the visualization design, users can …