With the growing reliance on automated code completion tools in software development, the need for comprehensive evaluation benchmarks has become critical. Existing benchmarks focus more on code completion in function and class level by providing text descriptions to prompt the model. By contrast, such descriptive prompt is commonly unavailable in real development and code completion can occur in wider range of situations such as in the middle of a function or a code block. These limitations makes existing evaluation benchmarks poorly align with the practical scenarios of code completion tools. In this paper, we propose RepoMasterEval, a novel benchmark for evaluating code completion models constructed from real-world repositories. Each benchmark datum is generated by masking a code snippet (ground truth) from one source code file with existing test suites. To improve test accuracy of model generated code, we employ mutation testing to measure the effectiveness of the test cases and we manually crafted new test cases for those test suites with low mutation score. Our empirical evaluation on 10 state-of-the-art models shows that test argumentation is critical in improving the accuracy of the benchmark and RepoMasterEval is able to report variance in model performance in real-world scenarios. The deployment of RepoMasterEval also revealed that the benchmark is useful to give accurate feedback during model training and the score is in high correlation with the model's performance in practice.
在本文中,我们提出了一种新的端到端的AI辅助代码完成方法,称为Pythia。它生成方法和API建议的排名列表,可供软件开发人员在编辑时使用。该系统目前部署为Visual Studio Code IDE中Intellicode扩展的一部分。Pythia利用了最先进的大规模深度学习模型,这些模型是在从抽象语法树中提取的代码上下文上训练的。它被设计为在高吞吐量下工作,预测100个$ms$数量级的最佳匹配代码完成。我们描述了该系统的架构,执行比较基于频率的方法和基于调用的马尔可夫链语言模型,并讨论了轻量级客户端设备上的Pythia模型服务的挑战。在2700个Python开源软件GitHub存储库上获得的离线评估结果显示,对于项目内和跨项目设置,前5名的准确率为92%,超过基线模型20%。
Teaching LLMs a Low-Resource Language: Enhancing Code Completion in Pharo
Graz University of Technology(格拉茨工业大学);Software Institute – USI(软件研究所 - 瑞士意大利大学);Università della Svizzera italiana(瑞士意大利大学);Univ. Lille, Inria, CNRS, Centrale Lille and Lifeware SA(里尔大学、法国国家信息与自动化研究院、法国国家科学研究中心、里尔中央理工学院和Lifeware公司);CIRAD(法国农业研究国际中心);CNRS, University of Bordeaux(法国国家科学研究中心、波尔多大学);Bordeaux INP, LaBRI, UMR5800(波尔多理工学院、拉布里实验室)
Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion
Nanjing University(南京大学);State Key Laboratory for Novel Software Technology, Nanjing University(南京大学计算机软件新技术国家重点实验室);National Institute of Healthcare Data Science, Nanjing University(南京大学国家卫生数据科学研究院)
Evaluating Package-Level Scoping Strategies for Repository-Level Code Completion in Pharo
Univ. Lille, Inria, CNRS, Centrale Lille, UMR 9189 CRIStAL(里尔大学、法国国家信息与自动化研究所、法国国家科学研究中心、中央里尔学院、CRIStAL实验室);CIRAD, UMR SENS(法国农业研究国际合作中心);CNRS, University of Bordeaux, Bordeaux INP, LaBRI, UMR5800(法国国家科学研究中心、波尔多大学、波尔多理工学院、LaBRI实验室)
FEA-Bench: A Benchmark for Evaluating Repository-Level Code Generation for Feature Implementation
State Key Laboratory of Multimedia Information Processing, School of Computer Science, Peking University(信息处理国家重点实验室,计算机学院,北京大学);Microsoft Research Asia(微软亚洲研究院)
Hugging Face;ServiceNow Research(ServiceNow研究院);Nvidia(英伟达);Northeastern University(东北大学);Independent(独立研究者);University of Illinois Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);Johns Hopkins University(约翰斯·霍普金斯大学);Leipzig University(莱比锡大学);Roblox(罗布乐思);Sea AI Lab(Sea AI实验室);Technion – Israel Institute of Technology(以色列理工学院);Monash University(莫纳什大学);CSIRO’s Data61(澳大利亚联邦科学与工业研究组织Data61);University of British Columbia(不列颠哥伦比亚大学);MIT(麻省理工学院);Technical University of Munich(慕尼黑工业大学);IBM Research(IBM研究院);University of Notre Dame(圣母大学);Princeton University(普林斯顿大学);Wellesley College(韦尔斯利学院);University College London(伦敦大学学院);Kaggle;UC San Diego(加州大学圣迭戈分校);Cornell University(康奈尔大学);UC Berkeley(加州大学伯克利分校);Mazzuma;Contextual AI;Cohere;Salesforce(赛富时);Technical University of Darmstadt(达姆施塔特工业大学);Baidu(百度);Yale University(耶鲁大学)