2011
DOI: 10.1007/978-3-642-22110-1_33
|View full text |Cite
|
Sign up to set email alerts
|

Interactive Synthesis of Code Snippets

Abstract: We describe a tool that applies theorem proving technology to synthesize code fragments that use given library functions. To determine candidate code fragments, our approach takes into account polymorphic type constraints as well as test cases. Our tool interactively displays a ranked list of suggested code fragments that are appropriate for the current program point. We have found our system to be useful for synthesizing code fragments for common programming tasks, and we believe it is a good platform for exp… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

1
18
0

Year Published

2012
2012
2018
2018

Publication Types

Select...
6
3
1

Relationship

1
9

Authors

Journals

citations
Cited by 30 publications
(19 citation statements)
references
References 7 publications
1
18
0
Order By: Relevance
“…There has been much research on helping programmers explore new APIs by mining existing code to find snippets that are used in practice [20,12,27,35,9]. Unlike such systems, by evaluating code at runtime, we can differentiate between different values of the same type, downcast precisely, and use more general specifications, as in Section 2.…”
Section: Related Workmentioning
confidence: 99%
“…There has been much research on helping programmers explore new APIs by mining existing code to find snippets that are used in practice [20,12,27,35,9]. Unlike such systems, by evaluating code at runtime, we can differentiate between different values of the same type, downcast precisely, and use more general specifications, as in Section 2.…”
Section: Related Workmentioning
confidence: 99%
“…Our approach therefore requires fewer inputs than the pioneering work on the Prospector tool [18], or than the recent work of Perelman et al [20]. A general idea of our approach and a first prototype implementation was demonstrated already in [10].…”
Section: Introductionmentioning
confidence: 94%
“…PARSEWeb [35] also suggests a sequence of API calls but this time the search for the sequence is guided by the source code available on the Web, thus helping to eliminate many otherwise undesirable sequences. More recent work [15,16,26] focuses on code completion by (statically) synthesizing expressions of a given type at a particular program point (these works examine the program context around that point). To find the most likely expressions desired by the programmer, these approaches also rely on ranking algorithms to handle the large numbers of potential candidates.…”
Section: Related Workmentioning
confidence: 99%