- 探索预训练代码生成模型的代码理解能力
大型代码生成模型在自监督学习的基础上取得了显著的成功,但它们在代码理解任务上表现不佳。本文将知识从预训练的代码生成模型转移到代码理解任务中,显著降低了训练成本,实现了理解任务的最先进性能。
- 重写代码:大型语言模型增强代码搜索的简单方法
通过对代码搜索中的样例代码进行生成和重写,我们提出了一种简单而有效的方法来解决代码风格偏差的问题,并引入了用于量化代码风格相似性的度量指标 Code Style Similarity。实验证明,这种方法在不同的搜索场景中显著提高了检索准确性 - EMNLPGenCodeSearchNet:编程语言理解中泛化能力评估的基准测试套件
使用大规模生成模型和较小的编码器模型,语言模型可以帮助软件开发人员提高生产力,包括代码生成、代码补全、代码搜索等任务,并且可以通过新的基准数据集 GenCodeSearchNet (GeCS) 来评估语言模型对编程语言理解的泛化能力。
- 语言模型是通用嵌入器
大语言模型(LLM)革命中,嵌入是各种系统的关键组成部分。在本文中,我们迈出了迈向构建强大统一的嵌入模型的第一步,证明了多种语言(自然语言和编程语言)的预训练变换器解码器在有限英文数据微调后能够实现普遍嵌入。我们对各任务进行了全面实践和彻底 - 基于交互矩阵的对比式提示学习代码检索
CPLCS 是一种基于交互式跨模态学习对比提示的代码搜索方法,通过学习 PL 和 NL 表示之间的语义匹配关系、使用双编码器结构的提示学习设计来改善语义表征问题,并使用交互式跨模态学习机制增强 NL 和 PL 之间的精细映射,实验结果在六种 - ACL利用神经机器翻译构建多语言代码搜索数据集
本研究使用神经机器翻译模型,创建了一个包括四种自然语言和四种编程语言的多语言代码搜索数据集,并使用 Transformer 模型预训练和微调,然后在多个代码搜索测试集上进行评估。结果显示,预训练模型在自然语言和编程语言数据上表现最佳。通过应 - 通过代码搜索:新的代码片段搜索数据集和 SnippeR 检索模型
提出了一个新的 SearchBySnippet 数据集并建立了一个单一编码器模型 SnippeR,用于针对代码搜索的基准测试。在这一设置中,现有的架构即使是经过精细调整后也远远不及最简单的 BM25 基准。
- 所有编程语言通用适配器?用于代码搜索和摘要的适配器调节
本研究提出一种在多语言预训练模型中解决遗忘问题的方法 -- 使用结构适配器仅更新 0.6%的总参数进行微调,取得了代码搜索和汇总任务的最新成果,并在跨语言和低资源情景下实现了良好的性能。
- EMNLP探索代码搜索中的表示层增广
本研究提出了一种在表示级别进行数据增强的方法来提高代码搜索模型的性能,其中包括三种新的增强方法,并理论和实验评估了这些方法的优势。
- CSSAM: 通过代码语义和结构的关注匹配进行代码搜索
本文提出了一个名为 CSSAM 的代码搜索模型,该模型引入了语义和结构匹配机制,实现了跨序列的高纬度空间对齐,并使用残差相互作用和代码语义表示图等方法增强了代码和相应查询文本之间的粘合度。实验结果表明,CSSAM 在两个公开数据集上显著优于 - CoCoSoDa: 代码搜索的有效对比学习
本文提出了 CoCoSoDa 的方法,充分利用了对比学习进行代码搜索方面应用的两个关键因素:数据扩充和负样本。该方法使用软数据扩充技术生成正样本,使用动量机制生成一致的负样本表示,使用多模式的对比学习方法,既拉紧了代表代码 - 查询对的表示 - 预训练语言模型在低资源编程语言中的可转移性
研究表明,在多语言数据集中使用语料库来微调预训练的多语言自然语言处理模型 (PLMs) 能够获得更高的性能,但是没有对单语言 PLMs 进行分析。此外,不同的编程语言之间的代码通常不能互换,我们调查了单语言和多语言 PLMs 对不同编程语言 - ACL使用深度哈希和代码分类加速代码搜索
本文提出了一种新的方法 CoSHC 来加速代码搜索,它采用深度哈希和代码分类,在保持准确率的同时实现高效的代码搜索,实验结果表明,与以往的方法相比,CoSHC 在检索效率上可以节省 90% 以上的时间,同时保持 99% 以上的准确率。
- 基于上下文感知代码翻译的代码搜索
提出了一种新的上下文感知代码翻译技术,将代码片段翻译成自然语言描述,并使用单一词汇表为翻译和查询生成嵌入,名为 TranCS,实验证明其显著优于最先进技术。
- 对比式预训练用于文本与代码嵌入
本文研究了使用对比方式的自监督无监督训练大规模文本向量化,得到的向量在文本与代码搜索中表现优异,相较于之前使用监督学习方法的实验结果,相对提升了 4% 到 23.4% 不等。
- ACLCoDesc: 一个大型代码 - 描述平行数据集
本文提出了 CoDesc 数据集,该数据集包含 420 万个 Java 方法和自然语言描述,其有效地提高了 24% 的代码搜索能力,并实现了代码总结的新的最先进水平。
- TranS^3: 一个基于 Transformer 的框架,用于统一代码摘要和代码搜索
本文提出了一种基于 Transformer 和 Actor-Critic 网络的框架 TranS^3,以整合代码概括和代码搜索,并证明其在这两个领域中均优于现有方法。
- 神经代码搜索评估数据集
本文介绍了一种自然语言代码搜索模型的性能评估方法,并提供了包含查询和代码碎片对的评估数据集,以作为未来工作的标准基准。此外,本文还提供了最近工作中两种代码搜索模型的研究结果。
- 深度学习与代码搜索相遇
本文系统地评估了深度神经网络、代码搜索、嵌入、监督技术和网络复杂度的设计选择,结果显示添加监督到现有的无监督技术可以提高性能,对于代码搜索,简单的网络可以比基于序列的复杂网络更有效,使用文档字符串进行监督的效果存在一定差距。
- 基于众包知识的代码搜索查询扩展
利用众包知识的查询扩展方法,结合 Rocchio 模型提出了一种技术 (QECK Rochhio),能够有效地提高代码搜索效率,实验结果显示此方法的准确率和 NDCG 在三个代码搜索算法中分别提高了 64%和 35%,而与最先进的查询扩展方