The DOI matches its Crossref record; 9 of the 9 references it cites were found in a registry or an index.
How Program History Can Improve Code Completion
Abstract
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 always comes in alphabetic order, i.e., the environment is only second-guessing the name based on pattern matching. Finding the correct candidate can be cumbersome or slower than typing the full name. We present an approach to improve code completion with program history. We define a benchmark measuring the accuracy and usefulness of a code completion engine. Further, we use the change history data to also improve the results offered by code completion tools. Finally, we propose an alternative interface for completion tools.
Overview
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
In the citing paper
“To define a task closer to real applications, in Py150-wilds we focus on class name and method name prediction (which are used most commonly by developers).”
From WILDS: A Benchmark of in-the-Wild Distribution Shifts (2020) · cites this paper as Robbes and Lanza, 2008
Citations
Cites
Version models for software configuration management
Conradi, R., & Westfechtel, B. (1998) · ACM Computing Surveys · doi:10.1145/280277.280280 · Cited by 587
Using task context to improve programmer productivity
Kersten, M., & Murphy, G. C. (2006) · Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering · doi:10.1145/1181775.1181777 · Cited by 452
How are Java software developers using the Eclipse IDE?
Murphy, G. C., Kersten, M., & Findlater, L. (2006) · IEEE Software · doi:10.1109/ms.2006.105 · Cited by 413
Little, G., & Miller, R. C. (2007) · doi:10.1145/1321631.1321646 · Cited by 96
Robbes, R., & Lanza, M. (2008) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/1368088.1368219 · Cited by 81
Self-citationMining a Change-Based Software Repository
Robbes, R. (2007) · International Conference on Mining Software Repositories (MSR) · doi:10.1109/msr.2007.18 · Cited by 58
Self-citationCharacterizing and Understanding Development Sessions
Robbes, R., & Lanza, M. (2007) · 15th IEEE International Conference on Program Comprehension (ICPC '07) · doi:10.1109/icpc.2007.12 · Cited by 51
Self-citationLittle, G., & Miller, R. C. (2008) · Automated Software Engineering · doi:10.1007/s10515-008-0041-9 · Cited by 48
An Approach to Software Evolution Based on Semantic Change
Robbes, R., Lanza, M., & Lungu, M. F. (2007) · Springer eBooks · doi:10.1007/978-3-540-71289-3_4 · Cited by 37
Self-citation
Research works printed but not linked: 2
- sharon, 2007, Eclipseye - spying on eclipse
- wuyts, 2007, Roeltyper A fast type reconstructor for Smalltalk
Cited by
Sorted by citations
Competition-level code generation with AlphaCode
Li, Y., Choi, D., Chung, J., Kushman, N., Schrittwieser, J., Leblond, R., Eccles, T., Keeling, J., Gimeno, F., Dal Lago, A., et al. (2022) · Science · doi:10.1126/science.abq1158 · Cited by 1,043
Learning from examples to improve code completion systems
Bruch, M., Monperrus, M., & Mezini, M. (2009) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/1595696.1595728 · Cited by 391
Learning natural coding conventions
Allamanis, M., Barr, E. T., Bird, C., & Sutton, C. A. (2014) · ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) · doi:10.1145/2635868.2635883 · Cited by 380
Large language models (LLMs): survey, technical frameworks, and future challenges
Kumar, P. (2024) · Artificial Intelligence Review · doi:10.1007/s10462-024-10888-y · Cited by 395
Are deep neural networks the best choice for modeling source code?
Hellendoorn, V. J., & Devanbu, P. (2017) · Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering · doi:10.1145/3106237.3106290 · Cited by 292
Metadata
- Authors
- Robbes, R., & Lanza, M.
- Affiliations
- Università della Svizzera italiana (CH)
- Venue
- 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
- Publisher
- IEEE
- Published
- 2008-09
- Pages
- 317-326
- OpenAlex
- W2166597811
- Cited by
- 155
- References
- 9
- Citations by year
- 2026: 2 · 2025: 8 · 2024: 11 · 2023: 9 · 2022: 6 · 2021: 7 · 2020: 12 · 2019: 11 · 2018: 4 · 2017: 7 · 2016: 9 · 2015: 10 · 2014: 14 · 2013: 6 · 2012: 14
- FWCI
- 6.55
- Type
- conference paper
- Language
- en
- Open access
- closed
- Locations
- IEEE/ACM International Conference on Automated Software Engineering (ASE) (publishedVersion)
- Open Research (University of Surrey) (submittedVersion)
- Funders
- National Science Foundation
- Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung (115990)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Information Systems › Software Engineering Techniques and Practices
- Physical Sciences › Computer Science › Software › Software Testing and Debugging Techniques
- Keywords
- code completion, program history, change history, developer productivity
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review