Towards an Understanding of Context Utilization in Code Intelligence
By: Yanlin Wang , Kefeng Duan , Dewu Zheng and more
Potential Business Impact:
Helps computers understand code better with more info.
Code intelligence is an emerging domain in software engineering, aiming to improve the effectiveness and efficiency of various code-related tasks. Recent research suggests that incorporating contextual information beyond the basic original task inputs (i.e., source code) can substantially enhance model performance. Such contextual signals may be obtained directly or indirectly from sources such as API documentation or intermediate representations like abstract syntax trees can significantly improve the effectiveness of code intelligence. Despite growing academic interest, there is a lack of systematic analysis of context in code intelligence. To address this gap, we conduct an extensive literature review of 146 relevant studies published between September 2007 and August 2024. Our investigation yields four main contributions. (1) A quantitative analysis of the research landscape, including publication trends, venues, and the explored domains; (2) A novel taxonomy of context types used in code intelligence; (3) A task-oriented analysis investigating context integration strategies across diverse code intelligence tasks; (4) A critical evaluation of evaluation methodologies for context-aware methods. Based on these findings, we identify fundamental challenges in context utilization in current code intelligence systems and propose a research roadmap that outlines key opportunities for future research.
Similar Papers
Enhancing Neural Code Representation with Additional Context
Software Engineering
Helps computers understand code better by looking at its history.
An Empirical Study of Developer-Provided Context for AI Coding Assistants in Open-Source Projects
Software Engineering
Helps AI understand project rules for better coding.
Challenge on Optimization of Context Collection for Code Completion
Software Engineering
Helps AI write code faster by reading more of it.