代码搜索去偏技术:提升搜索结果的整体排名性能之外的表现
本文探讨使用通用搜索引擎 (Google) 进行与代码相关的搜索是否是最佳选择。为了分析这个问题,我们从 310 个开发人员收集含有近 150,000 个搜索查询的搜索日志,并基于一个模型将查询进行分类。我们发现与通用非代码搜索相比,代码相关的搜索通常需要更多的努力 (例如时间、结果点击和查询修改),这表明通用搜索引擎的代码搜索性能不如专门的搜索工具。
Mar, 2018
本文探究了现有代码生成系统中基于大型语言模型的偏见在特定情况下可能泄漏到生成代码中的问题,提出了一种自动消除提示并暴露各种偏见的框架,并将其应用于三个编码挑战中测试,发现代码生成模型存在特定提示结构和关键字的偏见,最后,我们展示了如何将我们的框架作为数据转换技术,这是更强大的代码生成方向。
Oct, 2022
提出了一种先进的搜索和优化框架,基于大型语言模型生成高质量代码,用于解决数据分析和生成软件系统中的错误和偏差问题,并使用 Solomonoff 归纳作为理论基础,通过扩展 Kolmogorov 条件复杂性来评估候选程序集。
Oct, 2023
本文研究了神经代码搜索模型的安全性,在已有的在线代码库中,攻击者可以注入有漏洞的代码片段并使其在搜索结果中排名较高,进而影响到软件系统的正常运行并带来潜在的财务和安全风险。作者提出了一种名为 BADCODE 的攻击方式,并对其进行了测试和评估,结果表明该攻击的成功率比现有的攻击方式高出了 60%。
May, 2023
本研究提出了一种框架来量化搜索系统中源自不同来源的偏见,并将其应用于 Twitter 上与政治相关的查询,发现无论是输入数据还是排名系统都会显著地在搜索结果中产生不同程度和不同方式的偏见,并讨论了这些偏见的后果以及社交媒体搜索系统界面中信号偏见的可能机制。
Apr, 2017
使用大规模生成模型和较小的编码器模型,语言模型可以帮助软件开发人员提高生产力,包括代码生成、代码补全、代码搜索等任务,并且可以通过新的基准数据集 GenCodeSearchNet (GeCS) 来评估语言模型对编程语言理解的泛化能力。
Nov, 2023
本文介绍了排名系统中模拟文档相关性的目的,并测试了几个特征的性质。将逆倾向权重方法用于文档可创建不偏的文档相关性估计特征,该特征可以准确地近似相关性,在理想情况下实现接近最佳的排名。然而,此特征具有较高的方差,且方差随着位置偏差的增加而增加。不准确的位置偏差估计导致性能下降。本文强调了准确估计位置偏差的必要性,并独特地提出了同时使用有偏和无偏位置偏差特征的建议。
Feb, 2024
本文介绍了一种新的代码到代码搜索技术,通过包括静态和动态特征以及在训练过程中利用相似和不同的示例来提高大型语言模型的性能。我们展示了第一个能够在训练期间编码动态运行时信息的代码搜索方法,在推断时间无需执行搜索语料库或搜索查询,同时还是第一个训练正负参考样本的代码搜索技术。我们通过一系列研究验证了我们方法的有效性,并展示了增强 LLMs 执行跨语言代码到代码搜索的能力。我们的评估表明,我们的方法的效果在各种模型架构和编程语言中都是一致的。此外,我们的消融研究表明,即使在训练过程中只有一个正面和负面参考样本,也会产生相当大的性能提高,这证明了相似和不同的参考是代码搜索的重要部分。重要的是,我们展示了精心制作的、经过调整的模型在性能上始终优于未调整的更大的现代 LLMs,即使是在增强最大可用 LLMs 时也是如此,这凸显了开源模型的重要性。为了确保我们研究的可重复性和可扩展性,我们介绍了一个名为 Cosco 的开源实现和培训过程
May, 2023
研究了预训练代码生成模型中的社交偏见问题,提出了一种新的方法来构建代码提示,以量化生成代码中的社交偏见严重程度并找出不同人口群体之间的细微差异,并分析得出低社交偏见的代码生成模型选择的有用见解。
May, 2023