@inproceedings{cheng-etal-2024-dataflow,
title = "Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion",
author = "Cheng, Wei and
Wu, Yuhan and
Hu, Wei",
editor = "Ku, Lun-Wei and
Martins, Andre and
Srikumar, Vivek",
booktitle = "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)",
month = aug,
year = "2024",
address = "Bangkok, Thailand",
publisher = "Association for Computational Linguistics",
url = "https://preview.aclanthology.org/fix-sig-urls/2024.acl-long.431/",
doi = "10.18653/v1/2024.acl-long.431",
pages = "7957--7977",
abstract = "Recent years have witnessed the deployment of code language models (LMs) in various code intelligence tasks such as code completion. Yet, it is challenging for pre-trained LMs to generate correct completions in private repositories. Previous studies retrieve cross-file context based on import relations or text similarity, which is insufficiently relevant to completion targets. In this paper, we propose a dataflow-guided retrieval augmentation approach, called DraCo, for repository-level code completion. DraCo parses a private repository into code entities and establishes their relations through an extended dataflow analysis, forming a repo-specific context graph. Whenever triggering code completion, DraCo precisely retrieves relevant background knowledge from the repo-specific context graph and generates well-formed prompts to query code LMs. Furthermore, we construct a large Python dataset, ReccEval, with more diverse completion targets. Our experiments demonstrate the superior accuracy and applicable efficiency of DraCo, improving code exact match by 3.43{\%} and identifier F1-score by 3.27{\%} on average compared to the state-of-the-art approach."
}
Markdown (Informal)
[Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion](https://preview.aclanthology.org/fix-sig-urls/2024.acl-long.431/) (Cheng et al., ACL 2024)
ACL