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
Flagged first, then by citations
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
Items 101–155 of 155
On the evaluation of recommender systems with recorded interactions
Robbes, R. (2009) · International Workshop on Search-Driven Development: Users, Infrastructure, Tools, and Evaluation (SUITE) · doi:10.1109/suite.2009.5070021 · Cited by 4
Self-citationEditable AI: Mixed Human-AI Authoring of Code Patterns
chugh, K., Solis, A. Y., & LaToza, T. D. (2019) · IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) · doi:10.1109/vlhcc.2019.8818871 · Cited by 4
Tree-based Mining of Fine-grained Code Changes to Detect Unknown Change Patterns
Higo, Y., Matsumoto, J., & Kusumoto, S. (2021) · Asia-Pacific Software Engineering Conference (APSEC) · doi:10.1109/apsec53868.2021.00014 · Cited by 4
Exploring and Improving Code Completion for Test Code
Zhu, T., Liu, Z., Xu, T., Tang, Z. J., Zhang, T., Pan, M., & Xia, X. (2024) · IEEE International Conference on Program Comprehension (ICPC) · doi:10.1145/3643916.3644421 · Cited by 4
An approach to completing variable names for implicitly typed functional languages
Goto, T., & Sasano, I. (2012) · ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM) · doi:10.1145/2103746.2103771 · Cited by 4
Toward Modular Implementation of Practical Identifier Completion on Incomplete Program Text
Sasano, I. (2015) · International Conference on Bio-Inspired Models of Network, Information and Computing Systems (BIONETICS) · doi:10.4108/icst.bict.2014.257909 · Cited by 4
IDE 2.0: Leveraging the Wisdom of the Software Engineering Crowds
Bruch, M. (2012) · TUbilio (Technical University of Darmstadt) · doi:10.26083/tuprints-00003137 · Cited by 4
Fast type reconstruction for dynamically typed programming languages
Pluquet, F., Marot, A., & Wuyts, R. (2009) · ACM SIGPLAN Notices · doi:10.1145/1837513.1640145 · Cited by 3
Code histories: Documenting development by recording code influences and changes in code
Pham, V. T. T., & Kelleher, C. L. (2024) · Journal of Computer Languages · doi:10.1016/j.cola.2024.101313 · Cited by 3
A text-based syntax completion method using LR parsing and its evaluation
Sasano, I., & Choi, K. (2023) · Science of Computer Programming · doi:10.1016/j.scico.2023.102957 · Cited by 3
On Source Code Completion Assistants and the Need of a Context-Aware Approach
Arrebola, F. V., & Aquino, P. T. (2017) · Lecture notes in computer science · doi:10.1007/978-3-319-58524-6_17 · Cited by 3
Tempura: temporal dimension for IDEs
Lee, Y. Y., Marinov, D., & Johnson, R. E. (2015) · doi:10.5555/2818754.2818783 · Cited by 3
An approach to generate text-based IDEs for syntax completion based on syntax specification
Sasano, I. (2019) · ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM) · doi:10.1145/3372884.3373158 · Cited by 3
Tempura: Temporal Dimension for IDEs
Lee, Y. Y., Marinov, D., & Johnson, R. E. (2015) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse.2015.42 · Cited by 3
Ranked Syntax Completion With LR Parsing
Choi, K., Hwang, S., Moon, H., & Sasano, I. (2024) · ACM Symposium on Applied Computing · doi:10.1145/3605098.3635944 · Cited by 2
An exploratory study on change suggestions for methods using clone detection
Mondal, M., Roy, C. K., & Schneider, K. A. (2016) · Computer Science and Software Engineering · Cited by 2
Autocompletion Without Static Typing
Shelley, N. M. (2014) · ScholarsArchive (Brigham Young University) · Cited by 2
Mining API Usage Patterns by Applying Method Categorization to Improve Code Completion
Akbar, R. J., OMORI, T., & Maruyama, K. (2014) · IEICE Transactions on Information and Systems · doi:10.1587/transinf.e97.d.1069 · Cited by 2
Influence of Code Completion Methods on the Usability of APIs
Scheller, T., & Kühn, E. (2013) · doi:10.2316/p.2013.796-027 · Cited by 2
Plastino, A., Murta, L., & da Silva, L. L. N. (2020) · Zenodo (CERN European Organization for Nuclear Research) · doi:10.3217/jucs-020-05-0797 · Cited by 2
An Empirical Study on Ranking Change Recommendations Retrieved Using Code Similarity
Mondal, M., Roy, C. K., & Schneider, K. A. (2016) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner.2016.53 · Cited by 2
Statistical Approach to Increase Source Code Completion Accuracy
Savchenko, V., & Volkov, A. S. (2018) · Lecture notes in computer science · doi:10.1007/978-3-319-74313-4_25 · Cited by 2
On Indirectly Dependent Documentation in the Context of Code Evolution: A Study
Sondhi, D., Gupta, A., Purandare, S., Rana, A., Kaushal, D., & Purandare, R. (2021) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse43902.2021.00134 · Cited by 2
Adaptive Code Completion with Meta-learning
Fang, L., Huang, Z., Zhou, Y., & Chen, T. (2020) · Asia-Pacific Symposium on Internetware · doi:10.1145/3457913.3457933 · Cited by 2
Statistical Models and Machine Learning to Advance Code Completion: Are We There Yet?
Nguyen, T. N. (2023) · Natural computing series · doi:10.1007/978-981-19-9948-2_5 · Cited by 2
Augmenting IDEs with Runtime Information for Software Maintenance
Röthlisberger, D. (2010) · BORIS (University Library Bern) · doi:10.24442/boristheses.1026 · Cited by 3
A Naive Approach for Automatic Line-level Code Completion
Naznin, S., & Mondal, M. (2023) · IEEE International Women in Engineering (WIE) Conference on Electrical and Computer Engineering (WIECON-ECE) · doi:10.1109/wiecon-ece60392.2023.10456476 · Cited by 1
Contextual Augmented Multi-Model Programming (CAMP): A Local-Cloud Copilot Solution
Wang, Y., Guo, S., & Tan, C. W. (2025) · IEEE Conference on Artificial Intelligence (CAI) · doi:10.1109/cai64502.2025.00122 · Cited by 1
Improving LLM-based code completion using LR parsing
Atique, M. M. A. B., Moon, H., Sasano, I., & Choi, K. (2025) · Journal of Computer Languages · doi:10.1016/j.cola.2025.101352 · Cited by 1
AI-Assisted SQL Authoring at Industry Scale
Maddila, C., Ghorbani, N., Jabre, K., Murali, V., Kim, E., Thakkar, P., Laptev, N., Harman, O., Hsu, D., Abreu, R., et al. (2025) · IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP) · doi:10.1109/icse-seip66354.2025.00019 · Cited by 3
DockerFill: Automatically Completing Dockerfile Code With Syntax-Aware Multi-Task Learning
Wu, Y., Zhang, Y., Wang, T., Ding, B., & Wang, H. (2025) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2025.3632074 · Cited by 1
AlignCoder: Aligning Retrieval with Target Intent for Repository-Level Code Completion
Jiang, T., Wang, Y., Wang, Y., Guo, D., Shi, E., Ma, Y., Chen, T., & Zheng, Z. (2025) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1109/ase63991.2025.00085 · Cited by 1
Evaluating package-level scoping strategies for repository-level code completion in Pharo
AbedelKader, O., Ducasse, S., Polito, G., Zaitsev, O., & Robbes, R. (2026) · Journal of Computer Languages · doi:10.1016/j.cola.2026.101412 · Cited by 1
Self-citationAn Eye for AI: Eye-Tracking the Micro-Interruptions of GenAI Code Suggestions
Alakmeh, T., D’Angelo, S., & Fritz, T. (2026) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3744916.3773132 · Cited by 1
A Novel Code Completion Strategy
Oumarou, H., & Dahirou, O. (2022) · International Journal of Advanced Computer Science and Applications · doi:10.14569/ijacsa.2022.0130598 · Cited by 1
Using AI-Based Code Completion for Domain-Specific Languages
Piereder, C., Fleck, G., Geist, V., Moser, M., & Pichler, J. (2023) · Lecture notes in computer science · doi:10.1007/978-3-031-49266-2_16 · Cited by 1
SG-Coder: Code completion algorithm applied on large software development platform
Li, S., Liu, Z., Liu, X., Chen, G., Gao, Y., & Liu, Y. (2023) · International Academic Exchange Conference on Science and Technology Innovation (IAECST) · doi:10.1109/iaecst60924.2023.10503165 · Cited by 1
N-gram models for code completion in Pharo
Romaniuk, M. (2020) · International Conference on Art, Science, and Engineering of Programming (<Programming>) · doi:10.1145/3397537.3398483 · Cited by 1
New methods, techniques and applications for sketch recognition
Rosa, M. D. (2014) · Università degli Studi di Salerno · doi:10.14273/unisa-304 · Cited by 1
Context-Sensitive Code Completion
Asaduzzaman, M. (2018) · Cited by 1
Software Cartography and Code Navigation
Kuhn, A. (2011) · Bern Open Repository and Information System (University of Bern) · doi:10.7892/boris.104579
Improving software quality with programming patterns
Nguyen, T. T. (2013) · doi:10.31274/etd-180810-3324
Context-Sensitive Code Completion Tool for Better
Asaduzzaman, M., Roy, C. K., Schneider, K. A., & Hou, D. (2014)
Towards multi-dimensional integrated development environments for improved productivity
Lee, Y. Y. (2014) · Illinois Digital Environment for Access to Learning and Scholarship (University of Illinois at Urbana-Champaign)
Understanding Programmers' Working Context by Mining Interaction Histories
Zou, L. (2013) · UWSpace (University of Waterloo)
یوسف, ر. ع. ا., & مرسی, م. م. (2017) · مجلة کلیة التجارة للبحوث العلمیة جامعة الإسکندریة · doi:10.21608/acj.2017.44699
Automating Software Changes via Recommendation Systems
Liu, X. (2019) · SMU Scholar (Southern Methodist University)
API Parameter Recommendation Based on Documentation Analysis
Yuan, X. (2020) · UWSpace (University of Waterloo)
Improving Keyword-based Code Recommendation by Exploiting Context Information
Shu, A., & Masuhara, H. (2020) · 情報処理学会論文誌プログラミング(PRO)
Mining Hidden and Fragmented API Usages in Android Applications
Kim, M.-G., & 김능회 (2020) · Applied Sciences · doi:10.3390/app10249048
Адаптація версії алгоритму Intellisense до профілю поточного проекту
Kovalchuk, R. T., & Korotyeyeva, T. (2020) · Науковий вісник НЛТУ України · doi:10.36930/40300514
An Empirical Exploration of Python Machine Learning API Usage
Vilkomir, A. (2020) · The Scholarship East Carolina University's Institutional Repository (East Carolina University)
A Code Completion Approach Combining Pointer Network and Transformer-XL Network
Zhang, X., Liu, J., Long, T., & Hu, H. (2024) · Lecture notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering · doi:10.1007/978-3-031-54521-4_17
On the Generalizability of Transformer Models to Code Completions of Different Lengths
Cooper, N., Tufano, R., Bavota, G., & Poshyvanyk, D. (2024) · IEEE International Conference on Software Maintenance (ICSM) · doi:10.1109/icsme58944.2024.00042
A code completion approach combining pointer network and Transformer-XL network
Zhang, X., Liu, J., Long, T., & Hu, H. (2025) · Applied Intelligence · doi:10.1007/s10489-025-06315-6
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