Beyond autocomplete: Automatic function definitionDownload PDFOpen Website

2011 (modified: 21 Jan 2022)VL/HCC 2011Readers: Everyone
Abstract: Programmers have used autocomplete to reduce the cognitive overhead of remembering exhaustive lists of APIs for years. Autocomplete has a primary and obvious point of failure: when a programmer expects a certain method or function name to exist and it does not, the autocompletion list simply stops displaying results and disappears. We describe automatic function definition (AFD), which can succeed where autocomplete fails. It is a novel way to reduce the impact of threadbare libraries, increase the coding speed of primary programming tasks, and distribute work among different types of programmers and automatic tools. Instead of seeing an empty list, users can instead perform automatic function definition, which uses several sources to define the function that the user intended to use. We present three complementary techniques for defining functions based on the information about the function that a user provides while writing code as usual: code search, fellow programmers, and the crowd. Finally, we discuss our implementation of this work in progress and plans for evaluation.
0 Replies

Loading