通过神经语言模型探索软件自然性
本篇论文通过构建 AST-Probe 探针方法,证明了预训练语言模型中存在一个语法子空间以及该子空间可以用来恢复一个输入代码片段的完整 AST,进而表明预训练语言模型仅使用一部分表示空间来编码编程语言的语法信息。
Jun, 2022
本研究探讨了如何利用基于 transformer 的语言模型来检测软件漏洞,研究了在处理具有多个漏洞的 C/C++ 源代码时,这些模型的性能如何,并发现与当时的双向 LSTM 和双向 GRU 等其他模型相比,这些语言模型在漏洞检测方面具有更好的性能指标。此外,该论文还分析了流行的平台来有效地进行微调,并在选择平台时提供了建议。
Apr, 2022
本文研究了如何使用 Transformers 提取和利用源代码中的句法信息,完成代码自动补全、函数命名和 bug 修复等任务,实现了更好的模型性能。
Oct, 2020
本文介绍了一种 AstBERT 模型,该模型基于预训练的编程语言模型,使用抽象语法树从语义和句法两方面来更好地理解金融代码,通过 Alipay 代码库中大量的 Java 和 Python 代码进行训练,并通过代码解析器将抽象语法树信息整合进模型中,最终,在代码问答、代码克隆检测和代码优化三个任务中获得了良好的性能。
Jan, 2022
本研究提出了一种新的神经网络模型,它可以将源代码的单词和代码结构(AST)结合起来,从而能够生成准确的注释文档。与传统的基于模板的系统不同,该模型可以更好地学习代码结构,即使程序缺乏内部文档,也可以在演示中提供连贯的描述,并在 SE 文献和 NLP 文献中得到进一步的改进和应用验证。
Feb, 2019
ASTxplainer 是针对代码 LLMs 的一种可解释性方法,不仅能提供 LLM 评估的新方法,还能通过可视化 LLM 预测结果帮助终端用户理解模型预测。通过在常用的 GitHub 项目上进行实证评估和用户研究,研究结果表明 ASTxplainer 有潜力深入研究 LLM 的效能,并帮助终端用户理解预测结果。
Aug, 2023
该研究论文综述了自然语言处理技术的利用,重点关注使用大型代码训练的基于 Transformer 的大型语言模型在 AI 辅助编程任务领域中的应用。这些模型在包括代码生成、代码补全、代码翻译、代码概述、缺陷检测和克隆检测等 AI 辅助编程应用中扮演着关键角色,而其中值得注意的例子包括由 OpenAI 的 Codex 和 DeepMind AlphaCode 提供支持的 GitHub Copilot。本文概述了主要的大型语言模型及其在与 AI 辅助编程相关的下游任务中的应用,并探讨了在这些应用中结合 NLP 技术和软件自然性面临的挑战和机遇,同时讨论了将 AI 辅助编程能力拓展到苹果的 Xcode 移动软件开发环境中的问题和机会,以使开发人员能够获得更先进的编码辅助,并使软件开发流程更加高效。
Jul, 2023
这篇论文介绍了作者对现有预训练编程语言模型在理解代码结构方面的限制进行了全面的基准测试,并引入了一个大规模的数据集 CodeSyntax 来评估这些模型的性能,并揭示了自然语言和编程语言在理解语法结构方面的差异和重要性。
Oct, 2022
探究如何利用预训练语言模型对自动程序修复进行改进,研究表明采用 PLBART 和 CodeT5 两种预训练模型 Fine-Tune 后,能在自然语言的程序修复数据集上显著提高性能,其中预训练机制对性能提升至关重要。
Apr, 2023
本文综述了机器学习、编程语言和软件工程交叉领域的研究进展,重点介绍了利用代码中大量存在的模式提出可学习概率模型的方法,并提出了基于每个模型的基本设计原理的分类法,用于研究该领域的技术、应用等方面的具体问题、挑战和机遇。
Sep, 2017