GraphCoder: Enhancing Repository-Level Code Completion via Coarse-to-fine Retrieval Based on Code Context Graph
The performance of repository-level code completion depends upon the effective leverage of both \emph{general} and \emph{repository-specific} knowledge. Despite the impressive capability of code LLMs in general code completion tasks, they often exhibit less satisfactory performance on repository-level completion due to the lack of repository-specific knowledge in these LLMs. To address this problem, we propose GraphCoder, a retrieval-augmented code completion framework that leverages LLMs’ general code knowledge and the repository-specific knowledge via a \emph{graph-based} \emph{retrieval-generation} process. In particular, GraphCoder captures the context of completion target more accurately through \emph{code context graph} (CCG) that consists of control-flow, data- and control-dependence between code statements, a more structured way to capture the completion target context than the sequence-based context used in existing retrieval-augmented approaches; based on CCG, GraphCoder further employs a \emph{coarse-to-fine} retrieval process to locate context-similar code snippets with the completion target from the current repository. Experimental results demonstrate both the effectiveness and efficiency of GraphCoder: Compared to baseline retrieval-augmented methods, GraphCoder achieves higher exact match (EM) on average, with increases of $+6.06$ in code match and $+6.23$ in identifier match, while using less time and space.
Thu 31 OctDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 16:30 | Code completionResearch Papers / NIER Track at Compagno Chair(s): Baishakhi Ray Columbia University, New York; AWS AI Lab | ||
15:30 15mTalk | Attribution-guided Adversarial Code Prompt Generation for Code Completion Models Research Papers Xueyang Li Institute of Information Engineering, Chinese Academy of Sciences, China, Guozhu Meng Institute of Information Engineering, Chinese Academy of Sciences, Shangqing Liu Nanyang Technological University, Lu Xiang SKLOIS, Institute of Information Engineering, Chinese Academy of Sciences, China, Kun Sun Institute of Information Engineering, Chinese Academy of Sciences, Kai Chen Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Xiapu Luo Hong Kong Polytechnic University, Yang Liu Nanyang Technological University | ||
15:45 15mTalk | DroidCoder: Enhanced Android Code Completion with Context-Enriched Retrieval-Augmented Generation Research Papers Xinran Yu Nanjing University, Chun Li Nanjing University, Minxue Pan Nanjing University, Xuandong Li Nanjing University | ||
16:00 15mTalk | GraphCoder: Enhancing Repository-Level Code Completion via Coarse-to-fine Retrieval Based on Code Context Graph Research Papers Wei Liu Nanjing University, Ailun Yu Peking University, Daoguang Zan Institute of Software, Chinese Academy of Sciences, Bo Shen Huawei Cloud Computing Technologies Co., Ltd., Wei Zhang Peking University, Haiyan Zhao Peking University, Zhi Jin Peking University, Qianxiang Wang Huawei Technologies Co., Ltd | ||
16:15 10mTalk | RepoSim: Evaluating Prompt Strategies for Code Completion via User Behavior Simulation NIER Track Chao Peng ByteDance, Qinyun Wu Bytedance Ltd., Jiangchao Liu ByteDance, Jierui Liu ByteDance, Bo Jiang Bytedance Network Technology, Mengqian Xu East China Normal University, Yinghao Wang ByteDance, Xia Liu ByteDance, Ping Yang Bytedance Network Technology |