Towards a better code completion system by API grouping, filtering, and popularity-based ranking
Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering
Text entry for mobile devices using ad-hoc abbreviation
Proceedings of the International Conference on Advanced Visual Interfaces
Code completion of multiple keywords from abbreviated input
Automated Software Engineering
On the naturalness of software
Proceedings of the 34th International Conference on Software Engineering
Proceedings of the 34th International Conference on Software Engineering
A User-friendly Interface for a Lightweight Verification System
Electronic Notes in Theoretical Computer Science (ENTCS)
A statistical semantic language model for source code
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Hi-index | 0.00 |
Abbreviation Completion is a novel technique to improve the efficiency of code-writing by supporting code completion of multiple keywords based on non-predefined abbreviated input -- a different approach from conventional code completion that finds one keyword at a time based on an exact character match. Abbreviated input is expanded into keywords by a Hidden Markov Model learned from a corpus of existing code. The technique does not require the user to memorize abbreviations and provides incremental feedback of the most likely completions. This paper presents the algorithm for abbreviation completion, integrated with a new user interface for multiple-keyword completion. We tested the system by sampling 3000 code lines from open source projects and found that more than 98% of the code lines could be resolved from acronym-like abbreviations. A user study found 30% reduction in time usage and 41% reduction of keystrokes over conventional code completion.