Improving code completion with program history
MetadataShow full item record
SubjectSoftware evolution; Integrated development environments; Code completion; First-class changes; Benchmark
Code completion is a widely used productivity tool. It takes away the burden of remembering and typing the exact names of methods or classes: As a developer starts typing a name, it provides a progressively refined list of candidates matching the name. However, the candidate list usually comes in alphabetic order, i.e., the environment is only second-guessing the name based on pattern matching, relying on human intervention to pick the correct one. Finding the correct candidate can thus be cumbersome or slower than typing the full name. We present an approach to improve code completion based on recorded program histories. We define a benchmarking procedure measuring the accuracy of a code completion engine and apply it to several completion algorithms on a dataset consisting of the history of several systems. Further, we use the change history data to improve the results offered by code completion tools. Finally, we propose an alternative interface for completion tools that we released to developers and evaluated.
Showing items related by title, author, creator and subject.
Razniewski, S; Korn, F; Nutt, W; Srivastava, D (ACM Press, 2015)In many applications including loosely coupled cloud databases, collaborative editing and network monitoring, data from multiple sources is regularly used for query answering. For reasons such as system failures, insufficient ...
Darari, F; Prasojo, RE; Nutt, W (Springer, 2014)With the increased availability of data on the Semantic Web, the question whether data sources offer data of appropriate quality for a given purpose becomes an issue. With CORNER, we specifically address the data quality ...
Nutt, W; Paramonov, S; Savkovic, O (Cambridge University Press (CUP): STM Journals, 2013)We address the problem to determine whether a query over a partially complete database can be answered completely, which arises in data integration and decision support. Using so-called table completeness statements, one ...