Proceedings of the 33rd Annual ACM Symposium on User Interface Software and Technology 2020
DOI: 10.1145/3379337.3415900
|View full text |Cite
|
Sign up to set email alerts
|

Interactive Program Synthesis by Augmented Examples

Abstract: Mark parts of an input as literal or general 2 Annotate parts of synthesized programs to be desired or undesired 3 View other similar examples and corner cases 4 Figure 1: A user interactively synthesizes a regular expression (regex) that accepts phone numbers starting with an optional '+'. After 1) adding some positive and negative examples, the user 2) marks the + sign as literal and the following numbers as a general class of digits to specify how individual characters should be treated by the synthesizer. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
9
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
7
1

Relationship

1
7

Authors

Journals

citations
Cited by 32 publications
(9 citation statements)
references
References 58 publications
(84 reference statements)
0
9
0
Order By: Relevance
“…WebRobot adopts a human-in-theloop interaction model which has shown to be an effective way to incorporate human inputs when training AI systems in the HCI community [19,45]. This model has been used in the context of program synthesis, mostly interactive PBE [23,41,43,51,60,65]. In contrast, our work incorporates human inputs in PBD and proposes a new human-in-the-loop model.…”
Section: Related Workmentioning
confidence: 99%
“…WebRobot adopts a human-in-theloop interaction model which has shown to be an effective way to incorporate human inputs when training AI systems in the HCI community [19,45]. This model has been used in the context of program synthesis, mostly interactive PBE [23,41,43,51,60,65]. In contrast, our work incorporates human inputs in PBD and proposes a new human-in-the-loop model.…”
Section: Related Workmentioning
confidence: 99%
“…The unification also enables Falx users to easily explore synthesis results in the visualization space as opposed to program space, which is considered challenging [27]. Besides data layout transformation, many data preparation tools also support data cleaning (e.g., handling missing data or invalid data) [48], data normalization (collecting non-relational data into relation format) [3], and string formatting [6,11,56]. Falx currently does not support directly visualizing dirty or non-relational data.…”
Section: Related Workmentioning
confidence: 99%
“…In these tools, users interact with an exploration interface to navigate and save interesting solutions. Implementation tools [6,7,11,30,46,56], instead, aim to synthesize programs to help solve a concrete task (e.g., implement a design that a user already have in mind). In these tools, the main interaction objective is to help users to disambiguate spurious programs that happen to be consistent with the user specification but are incorrect for the full task [27].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…In addition, code search spaces can become large, which can lead either to lengthy synthesis delays or too many suggestions. Concerns like these have led to work on interpretable synthesis [21] and interactive search space exploration [22].…”
Section: Introductionmentioning
confidence: 99%