REVIEW 7 cited by
RepoFusion: Training Code Models to Understand Your Repository
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
abstract
Despite the huge success of Large Language Models (LLMs) in coding assistants like GitHub Copilot, these models struggle to understand the context present in the repository (e.g., imports, parent classes, files with similar names, etc.), thereby producing inaccurate code completions. This effect is more pronounced when using these assistants for repositories that the model has not seen during training, such as proprietary software or work-in-progress code projects. Recent work has shown the promise of using context from the repository during inference. In this work, we extend this idea and propose RepoFusion, a framework to train models to incorporate relevant repository context. Experiments on single-line code completion show that our models trained with repository context significantly outperform much larger code models as CodeGen-16B-multi ($\sim73\times$ larger) and closely match the performance of the $\sim 70\times$ larger StarCoderBase model that was trained with the Fill-in-the-Middle objective. We find these results to be a novel and compelling demonstration of the gains that training with repository context can bring. We carry out extensive ablation studies to investigate the impact of design choices such as context type, number of contexts, context length, and initialization within our framework. Lastly, we release Stack-Repo, a dataset of 200 Java repositories with permissive licenses and near-deduplicated files that are augmented with three types of repository contexts. Additionally, we are making available the code and trained checkpoints for our work. Our released resources can be found at \url{https://huggingface.co/RepoFusion}.
Forward citations
Cited by 7 Pith papers
-
Better Call Grep: Evaluating and Improving Grep-Like Lexical Retrieval for Repository-Level Code Completion
LLM-generated ripgrep queries plus BM25 re-ranking and line-interval de-duplication outperform graph- and RL-based retrievers for repository-level code completion on CrossCodeEval and RepoEval-Updated.
-
RepoDebug: Repository-Level Multi-Task and Multi-Language Debugging Evaluation of Large Language Models
RepoDebug is a new multi-language, multi-task benchmark for repository-level code debugging on which current LLMs, including the best model Claude 3.5 Sonnet, perform poorly.
-
Exploring the Challenges and Opportunities of AI-assisted Codebase Generation
Developers prompting codebase-level AI assistants are often dissatisfied with generated code, citing missing functionality, poor code quality, and communication gaps, despite varied prompting strategies.
-
Enhancing Project-Specific Code Completion by Inferring Internal API Information
A retrieval-augmented code completion method that infers project-internal APIs from a rough draft and a static knowledge base, beating existing repo-level baselines.
-
GRACE: Graph-Guided Repository-Aware Code Completion through Hierarchical Code Fusion
GRACE combines a multi-level code graph, hybrid text-structure retrieval, and graph fusion to improve repository-level code completion over vanilla and graph-based RAG baselines.
-
CoRet: Improved Retriever for Code Editing
CoRet fine-tunes a code encoder with a repository-level likelihood loss and call-graph context, improving retrieval recall on SWE-bench and Long Code Arena.
-
Knowledge Graph Based Repository-Level Code Generation
A knowledge graph code retrieval pipeline is described, but its headline results come from an evaluation that skips the retrieval step and anchors context on the known target function.
Discussion (0). Continue with ORCID to comment.