Version models for software configuration management
ACM Computing Surveys (CSUR)
Using benchmarking to advance research: a challenge to software engineering
Proceedings of the 25th International Conference on Software Engineering
On Using a Benchmark to Evaluate C++ Extractors
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
Sourcerer: a search engine for open source code supporting structure-based search
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Using task context to improve programmer productivity
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise
IEEE Transactions on Software Engineering
Mining a Change-Based Software Repository
MSR '07 Proceedings of the Fourth International Workshop on Mining Software Repositories
Characterizing and Understanding Development Sessions
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
On the difficulty of replicating human subjects studies in software engineering
Proceedings of the 30th international conference on Software engineering
SpyWare: a change-aware development toolset
Proceedings of the 30th international conference on Software engineering
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Learning from examples to improve code completion systems
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
An approach to software evolution based on semantic change
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Automatic parameter recommendation for practical API usage
Proceedings of the 34th International Conference on Software Engineering
On the naturalness of software
Proceedings of the 34th International Conference on Software Engineering
Escaping the maze of twisty classes
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Temporal code completion and navigation
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
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.