This paper provides a comprehensive review of the literature concerning the utilization of Natural Language Processing (NLP) techniques, with a particular focus on transformer-based large language models (LLMs) trained using Big Code, within the domain of AI-assisted programming tasks. LLMs, augmented with software naturalness, have played a crucial role in facilitating AI-assisted programming applications, including code generation, code completion, code translation, code refinement, code summarization, defect detection, and clone detection. Notable examples of such applications include the GitHub Copilot powered by OpenAI's Codex and DeepMind AlphaCode. This paper presents an overview of the major LLMs and their applications in downstream tasks related to AI-assisted programming. Furthermore, it explores the challenges and opportunities associated with incorporating NLP techniques with software naturalness in these applications, with a discussion on extending AI-assisted programming capabilities to Apple's Xcode for mobile software development. This paper also presents the challenges of and opportunities for incorporating NLP techniques with software naturalness, empowering developers with advanced coding assistance and streamlining the software development process.
翻译:本文全面综述了在人工智能辅助编程任务中,利用自然语言处理(NLP)技术,特别是基于Transformer的大语言模型(LLMs)并采用大代码(Big Code)进行训练的相关文献。结合软件自然性的LLMs在促进人工智能辅助编程应用(包括代码生成、代码补全、代码翻译、代码优化、代码摘要、缺陷检测和克隆检测)中发挥了关键作用。此类应用的典型案例包括由OpenAI的Codex驱动的GitHub Copilot和DeepMind AlphaCode。本文概述了主要的大语言模型及其在人工智能辅助编程相关下游任务中的应用。此外,本文探讨了在这些应用中融合NLP技术与软件自然性所面临的挑战与机遇,并讨论了将人工智能辅助编程能力扩展至Apple Xcode以支持移动软件开发的可能性。本文同时阐述了结合NLP技术与软件自然性的挑战与机遇,旨在赋能开发者先进的编码辅助功能,并简化软件开发流程。