From Codebase to Culprit (C2C): Reducing the Search Space for Bugs with Semantic Retrieval and Hierarchical Reinforcement Learning
University of Calgary(卡尔加里大学)
C2C框架结合语义检索与分层强化学习,在文件、函数和代码行多粒度上逐步缩减缺陷搜索空间,实现精确缺陷定位,并在真实Java和Python数据集上提升检索精度与定位准确性。
2026-10-01 cs.LG cs.SE
Reformulate, Retrieve, Localize: Agents for Repository-Level Bug Localization
Concordia University(康科迪亚大学);Toronto Metropolitan University(多伦多 Metropolitan 大学)
本文提出利用LLM代理通过查询重新表述和摘要改进仓库级缺陷定位,实现更高效的文件级定位性能。
2025-12-07 cs.AI cs.IR cs.SE
BoostNSift: A Query Boosting and Code Sifting Technique for Method Level Bug Localization
在处理大规模系统时,定位bug是一项重要的任务,但需要大量的精力和时间。为了解决这个问题,信息检索(IR)技术越来越多地被用来建议潜在的错误源代码的位置,给定的错误报告。虽然IR技术是非常可扩展的,但在实践中,它们在准确定位软件系统中的错误方面的有效性仍然很低。实证研究的结果表明,错误定位技术的有效性可以通过配置用于定位错误代码的查询来增强。然而,在大多数基于IR的错误定位技术,研究人员提出,查询的配置的影响没有得到充分考虑。在类似的静脉,技术认为所有的代码元素同样可疑的bug,而本地化的错误,但这并不总是如此either.In本文中,我们提出了一个新的方法级,信息检索为基础的错误本地化技术,称为“BoostNSift”。BoostNSift利用查询中的重要信息,通过“提升”这些信息,然后“筛选”已识别的代码元素,基于一种新技术,该技术强调代码元素与bug报告的特定相关性,而不是与所有bug报告的一般相关性。为了评估BoostNSift的性能,我们采用了一种最先进的经验设计,该设计通常用于评估基于文件级IR的bug本地化技术:从常用的Eclipse,ANOJ,SWT和ZXing基准中选择6851个bug,并公开用于方法级分析。
2021-08-29 cs.SE
Improving IR-Based Bug Localization with Context-Aware Query Reformulation
最近的研究结果表明,信息检索(IR)为基础的缺陷定位技术不执行,如果缺陷报告缺乏丰富的结构化信息(如相关的程序实体名称)。相反,错误报告中过多的结构化信息(例如堆栈跟踪)也可能并不总是有助于自动化本地化。在本文中,我们提出了一种新的技术--BLIZZARD--使用适当的查询重构和有效的信息检索,自动定位错误实体的项目源。特别是,我们的技术确定是否有过多的程序实体或没有在一个错误报告(查询),然后适用于适当的重构查询的错误定位。使用5,139个错误报告的实验表明,我们的方法可以定位有错误的源文档,Hit@10比基线方法高7%-56%,MAP@10比基线方法高6%-62%,MRR@10比基线方法高6%-62%。与最先进的技术及其变体的比较报告,我们的技术可以提高19%,在MAP@10和20%,在MRR@10的国家的最先进的,并可以改善59%的噪声查询和39%的穷人查询。
2018-08-01 cs.SE
Improving IR-based Bug Localization with Semantics-Driven Query Reduction
Dalhousie University(达尔豪斯大学)
本文提出IQLoc方法,结合信息检索与大语言模型的优势,通过语义理解优化查询,提升Bug定位的准确性和效率,实验结果表明其在多个评估指标上均优于现有方法。
2026-03-17 cs.SE
On Using GUI Interaction Data to Improve Text Retrieval-based Bug Localization
本研究利用GUI交互数据增强文本检索缺陷定位,通过过滤、提升和查询重构三种方式,在80个真实Android缺陷上实现Hits@10相对提升13-18%。
2023-10-12 cs.IR cs.SE
iCoRe: An Iterative Correlation-Aware Retriever for Bug Reproduction Test Generation
The Hong Kong University of Science and Technology(香港科技大学);Hangzhou High-Tech Zone (Binjiang) Institute of Blockchain and Data Security(杭州高新区(滨江)区块链与数据安全研究院)
本文提出iCoRe,一种迭代相关性感知的Bug重现测试生成检索器,通过区分源代码与测试用例的检索需求、结合文本语义与函数调用结构、以及实现检索与生成阶段的反馈循环,提升Bug重现测试生成的准确性。
2026-06-27 cs.SE
Retrieval-Oriented Code Representations in Agentic Bug Localization
Concordia University(康考迪亚大学)
研究文件级漏洞定位中代码表示的作用,在LCA和SWE数据集上比较五种代码表示,通过实验发现角色感知摘要性价比最佳,结合互补结果和LLM排序可进一步提升效果,案例研究验证技术有效性,强调代码表示应是智能体定位管道的重要设计选择。
2026-07-14 cs.SE
Echo: Graph-Enhanced Retrieval and Execution Feedback for Issue Reproduction Test Generation
Nanjing University(南京大学);University College London(伦敦大学学院);NOFA(诺发);University of Texas at Dallas(德克萨斯大学达拉斯分校)
Echo通过基于代码图的检索和执行反馈生成缺陷重现测试用例,提升测试生成效率与准确性。
2026-03-07 cs.SE
Using Categorical Features in Mining Bug Tracking Systems to Assign Bug Reports
大多数错误分配方法利用文本分类和信息检索技术。这些方法使用bug报告的文本内容来构建推荐模型。bug报告的文本内容通常是高维的,并且是噪声信息源。这些方法具有低精度和高计算需求的缺点。在本文中,我们调查是否使用分类字段的错误报告,如组件的错误属于,是适当的,而不是文字描述来表示错误报告。我们建立了一个分类模型,利用分类功能,作为一种表示,为错误报告。实验评估使用三个项目进行,即NetBeans,Freedesquence和Firefox。我们将这种方法与两种基于机器学习的错误分配方法进行了比较。评估表明,使用bug报告的文本内容是很重要的。此外,它表明,分类特征可以提高分类精度。
2018-04-09 cs.SE
LadyBug: A GitHub Bot for UI-Enhanced Bug Localization in Mobile Apps
LadyBug是一个GitHub机器人,结合UI交互信息与文本检索自动定位Android应用缺陷,在RedWing基准上优于基线,显著提升定位准确性。
2025-08-07 cs.SE
BuGL -- A Cross-Language Dataset for Bug Localization
错误定位是从给定的错误报告和源代码中定位潜在的易出错文件或方法的过程。在文献中存在关于缺陷定位的广泛研究,其集中于应用信息检索技术或机器学习/深度学习方法或两者来检测缺陷的位置。所有方法的共同前提是提供良好的数据集,在本例中,数据集是由6个Java项目组成的标准基准数据集,在某些情况下,超过6个Java项目。现有的数据集不包括其他程序设计语言的项目,尽管需要调查特定的和跨项目的错误定位。据我们所知,我们不知道有任何数据集可以解决这一问题。在本文中,我们提出了BuGL,一个大规模的跨语言数据集。BuGL包含超过10,000个bug报告,这些报告来自用四种程序设计语言编写的开源项目,即C、C++、Java和Python。该数据集包含Bug报告和Pull-Requests等信息。BuGL的目标是在bug本地化领域展开新的研究机会。
2020-04-19 cs.SE
SysPro: Reproducing System-level Concurrency Bugs from Bug Reports
University of Maryland Baltimore County(马里兰大学巴尔的摩县分校);Zhejiang Provincial Financial Holdings Co,ltd(浙江省金融控股有限公司);The University of Melbourne(墨尔本大学);Queensland University of Technology (QUT)(昆士兰科技大学);Zhejiang University(浙江大学);University of Connecticut(康涅狄格大学)
SysPro通过自动提取系统调用信息和生成输入数据,有效重现系统级并发bug。
2026-01-14 cs.SE
An Extensive Study on Smell-Aware Bug Localization
错误定位是软件维护的一个重要方面,因为它可以定位应该修改以修复特定错误的模块。我们以前的研究表明,信息检索(IR)为基础的错误定位技术的准确性提高时,结合使用代码气味信息。虽然这种技术显示出了希望,但该研究显示出有限的实用性,因为:1)数据集中的项目数量很少,2)气味信息的类型,以及3)用于评估的基线错误定位技术。本文介绍了我们以前的实验Bench4BL,最大的错误本地化基准数据集可用于错误本地化的扩展。此外,我们推广的气味感知的错误定位技术,允许不同的配置的气味信息,这是结合各种错误定位技术。我们的研究结果证实,我们的技术可以提高性能的IR为基础的错误定位技术的类级别,即使在大型数据集进行处理。此外,由于气味信息的优化配置,我们的技术可以提高大多数国家的最先进的错误定位技术的性能。
2021-04-22 cs.SE
Online Adaptable Bug Localization for Rapidly Evolving Software
错误定位的目的是通过推荐与特定错误报告相关的程序元素来减少调试时间。到目前为止,研究人员主要通过应用不同的信息检索技术来解决这个问题,这些技术利用了给定错误报告和源代码之间的相似性。然而,随着现代软件开发趋向于软件变化和持续交付给用户的速度的增加,不能快速适应最新版本的软件的当前一代的错误定位技术变得不足。在本文中,我们提出了一种技术,在线错误定位,使快速更新的错误定位模型。更具体地说,我们提出了一个流错误本地化技术,基于一个合奏的在线主题模型,这是能够适应具体的(与明确的代码提到)和更抽象的错误报告。通过使用变更集(diffs)作为输入,而不是源代码的快照,模型自然地将缺陷预测和共同变更信息集成到其预测中。初步结果表明,所提出的方法提高了错误定位性能的42个56个评估项目,平均MAP提高了5.9%。
2022-03-07 cs.SE
Broccoli: Bug localization with the help of text search engines
错误定位是错误修复过程中的一项繁琐的活动,在此过程中,软件开发人员试图在错误报告中描述的源代码中定位错误。由于这个过程是耗时的,并需要有关软件项目的额外知识,信息检索技术可以帮助缺陷定位过程。在本文中,我们调查,如果正常的文本搜索引擎可以改善现有的错误定位方法。在一个案例研究中,我们评估我们的搜索引擎的方法花椰菜对7个国家的最先进的错误定位算法在两个数据集的82个开源项目的性能。我们的研究结果表明,包括一个搜索引擎可以提高性能的错误定位,它是一个有用的扩展现有的方法。作为我们分析的一部分,我们还暴露了常用基准测试策略中的一个缺陷,即,考虑单个版本的文件。为了增加可检测文件的数量,我们通过考虑错误报告时软件存储库的状态来缓解此缺陷。我们的研究结果表明,使用单一的释放可能会导致低估的预测性能。
2021-10-10 cs.SE
A Case Study on the Impact of Similarity Measure on Information Retrieval based Software Engineering Tasks
信息检索(IR)在各种软件工程(SE)任务中起着关键作用,例如,错误定位和分类、代码检索、需求分析等。相似性度量的选择是IR技术的核心组成部分。任何IR方法的性能关键取决于为给定的应用领域选择适当的相似性度量。由于不同的SE任务对不同的文档类型(如错误报告、软件描述、源代码等)进行操作,这些文档通常包含非标准的特定于领域的词汇表,因此必须了解哪些相似性度量最适合不同的SE文档。本文介绍了两个案例研究的效果不同的相似性度量的各种SE文件w.r.t.两个任务:(i)项目建议:查找类似的GitHub项目和(ii)bug本地化:检索与bug报告对应的bug源文件。这些任务包含文本(即描述、自述文件)和代码(即源代码、API、导入包)工件的各种组合。我们观察到,IR模型的性能变化时,适用于不同的工件类型。我们发现,在一般情况下,上下文感知模型实现更好的性能上的文本工件。相比之下,简单的基于关键字的词袋模型在代码工件上执行得更好。另一方面,概率排名模型BM 25在文本和代码工件的混合上表现得更好。我们进一步研究如何这样一个明智的选择相似性度量的影响SE工具的性能。特别是,我们分析了两个以前提出的工具,项目推荐和错误本地化任务,利用不同的软件工件,并观察到一个明智的选择相似性度量确实导致现有的SE工具的性能提高。
2018-08-08 cs.IR cs.SE
IncBL: Incremental Bug Localization
大量的努力已经投入到提高缺陷定位技术的有效性,而很少有人注意到,使这些工具在不断发展的软件库中更有效地运行。本文首先分析了一个经典的缺陷定位工具Buggram背后的信息检索模型,并建立了一个数学基础,说明该模型可以随着代码库或缺陷报告的发展而增量式更新。然后,我们提出了IncBL,一个工具,增量错误定位在不断发展的软件仓库。在Bugzbook数据集上对IncBL进行了评估,结果表明,与重新计算模型相比,IncBL可以显著减少平均77.79%的运行时间,同时保持相同的精度水平。我们还将IncBL实现为Github应用程序,可以轻松集成到GitHub上的开源项目中。用户也可以在本地部署和使用IncBL。IncBL的演示视频可以在https://youtu.be/G4gMuvlJSb0上查看,源代码可以在https://github.com/soarsmu/IncBL上找到。
2021-08-13 cs.SE
Industry-scale IR-based Bug Localization: A Perspective from Facebook
我们探讨的应用程序的信息检索(IR)为基础的错误定位方法在一个大型的工业环境,Facebook的。Facebook的代码库发展迅速,每天都有数千个代码更改提交到一个单一的存储库中。当一个bug被检测到时,为了恢复或修复bug,识别导致bug的提交通常是时间敏感的,并且是强制性的。这是复杂的,因为bug通常表现为复杂而笨拙的特征,例如堆栈跟踪和其他元数据。代码提交也有各种与之相关的特性,从开发人员注释到测试结果。这对bug定位方法提出了独特的挑战,使其成为一个非常重要的操作。在本文中,我们列出了几个实际的关注行业级的IR为基础的错误定位,并提出Bug2Commit,一个工具,旨在解决这些问题。我们还评估了现有的IR为基础的本地化技术的有效性,从软件工程社区,并发现,在复杂的查询或文件,这是常见的Facebook,现有的方法不执行以及Bug2Commit。我们在Facebook的三个应用程序上评估了Bug2Commit:移动应用程序的客户端崩溃,服务器端性能回归和移动模拟性能测试。我们发现Bug2Commit的准确性比现有方法高出17%,从而减少了筛选回归和归因模拟中发现的错误的时间。
2021-03-17 cs.SE
OwlPath: Lossless Knowledge Compression for LLM Bug Repair
Shunfeng Technology Co., Ltd.(顺丰科技有限公司)
OwlPath是构建于CodeGraph之上的OWL2推理层,通过无损知识压缩将代码编码为OWL2本体,提升LLM漏洞修复的结构检索性能,在多组基准测试中实现了严格应用率、召回率等指标的显著提升。
2026-07-31 cs.SE
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
本文提出 BushraDBR,利用 LSI 与 FCA 计算新缺陷报告和仓库报告的文本相似度,以自动检索并提前拦截重复缺陷报告。
2024-05-04 cs.SE
Auto-labelling of Bug Report using Natural Language Processing
Juniper Networks Inc.(瞻博网络公司);San José State University(圣何塞州立大学)
本文提出一种结合NLP技术的自动标记错误报告方法,利用自定义数据转换器、深度神经网络和非泛化机器学习,在数千个错误报告上实现recall@5为70%的高检索准确率。
2022-12-13 cs.AI cs.LG cs.SE
Leveraging Resolved Incident History for LLM-Assisted Software Bug Diagnosis
Florida International University(佛罗里达国际大学);California State University, Long Beach(加州州立大学长滩分校)
研究利用已解决事件历史进行软件错误诊断,提出OM-RAG方法,将问题索引为三元组并单跳嵌入检索先例,为大语言模型管理员提供支持,实验表明该方法在诊断准确率和修复正确性上优于其他方法。
2026-07-27 cs.DL cs.SE
TianoForge: An Automated Bug Triage Approach for the TianoCore UEFI Firmware Development Community
University of Colorado Colorado Springs (UCCS)(科罗拉多大学科泉分校);Purdue University(普渡大学)
针对TianoCore UEFI固件开发社区,提出基于GPT-LLM(结合或不结合RAG)的自动化Bug分类方法TianoForge,可将平均Bug分类时间缩短99.95%,显著提升软件维护效率。
2026-08-25 cs.SE
Characterizing and Mitigating False-Positive Bug Reports in the Linux Kernel
School of Computer Software, Tianjin University(天津大学计算机科学与技术学院);School of Artificial Intelligence, Tianjin University(天津大学人工智能学院)
本文研究Linux内核中虚假正例缺陷报告的问题,通过构建2006份报告数据集,发现虚假正例需与真实缺陷同等努力,主要出现在文件系统和驱动程序中,采用RAG策略可实现91%召回率和88%F1分数。
2026-05-08 cs.SE
BugRepro: Enhancing Android Bug Reproduction with Domain-Specific Knowledge Integration
Macau University of Science and Technology(澳门科技大学);Northwestern Polytechnical University(西北工业大学)
本文提出BugRepro,通过整合领域知识提升Android应用bug重现的准确性和效率,实验表明其在S2R实体提取准确率和重现成功率上均显著优于现有方法。
2025-05-29 cs.SE
DRAST -- A Deep Learning and AST Based Approach for Bug Localization
内容:给定一个bug报告和项目的源代码,bug本地化可以帮助开发人员专注于修复可能存在bug的文件,而不是搜索整个源代码存储库。虽然现有的研究使用信息检索(IR)和/或机器学习(ML)或深度学习(DL)方法的组合,但它们主要集中在基准Java项目上,并且还激发了对多语言错误本地化方法的需求。目的:创建一种新的bug本地化方法,该方法利用源代码的语法结构,bug报告信息,并且可以支持多语言项目以及新的C项目数据集。方法:所提出的DRAST方法通过使用其高级AST将源代码表示为代码向量,并将rVSM(一种IR技术)与ML/DL模型(如随机森林和深度神经网络回归器)相结合,以对错误文件列表进行排名。我们还使用了一些功能,例如使用IR技术的文本相似性,使用DNN的词汇不匹配,以及使用BugC数据集元数据的项目历史。结果:我们在BugC数据集中的7个项目上测试了DRAST,该数据集由来自21个开源C项目的2462个错误报告组成。结果表明,DRAST可以找到正确的错误文件90%的时间从顶部1,5,10建议的文件与MAP和MRR得分超过90%的随机选择的七个项目。我们还测试了DRAST的Tomcat和ANOJ,从基准数据集的项目,更好的结果在accuracy@1,MAP和MRR相比,与国家的最先进的。结论:本文提出了一种新的错误定位的方法,工作在C和Java项目和一个错误定位C数据集,随着一个新…
2020-11-06 cs.SE
Large-Scale Evaluation of Method-Level Bug Localization with FinerBench4BL
本文提出方法级缺陷定位评估框架 FinerBench4BL,基于 Bench4BL 半自动生成方法级仓库与 oracle,并适配现有技术;实验显示方法级技术准确率下降但调试效率提升。
2023-02-28 cs.SE
Multi-View Adaptive Contrastive Learning for Information Retrieval Based Fault Localization
School of Computer Science, Wuhan University(武汉大学计算机学院);School of Cyber Science and Technology, Hubei University(湖北大学网络空间安全学院)
本文提出MACL-IRFL方法,通过多视图自适应对比学习提升软件故障定位的准确性。
2026-02-05 cs.IR cs.SE
BLAgent: Agentic RAG for File-Level Bug Localization
University of Calgary(卡尔加里大学);York University(约克大学)
本文提出BLAgent,一种新型代理RAG框架,用于文件级Bug定位,通过结合代码结构感知的仓库编码、双视角查询转换和两阶段代理重排序,提高了Bug定位的准确性和效率。
2026-07-03 cs.AI cs.SE
Fonte: Finding Bug Inducing Commits from Failures
Bug Inducing Commit(BIC)是将软件bug引入代码库的提交。了解给定bug的相关BIC可以为调试和bug分类提供有价值的信息。然而,现有的BIC识别技术要么太昂贵(因为它们需要针对先前版本执行失败的测试以进行二分),要么在调试时不适用(因为它们需要诸如错误报告或错误修复的事后人工制品)。我们提出了Fonte,一个高效和准确的BIC识别技术,只需要测试覆盖率。Fonte将故障定位(FL)与BIC识别相结合,并根据提交修改的代码元素的可疑性对提交进行排名。Fonte使用故障覆盖率和一个过滤器来减少BIC的搜索空间,该过滤器可以检测仅仅是样式更改的提交。我们使用130个真实世界的BIC进行的实证评估表明,Fonte的性能明显优于基于信息检索和神经代码嵌入模型的最新BIC识别技术,MRR至少高出39%。我们还报告说,Fonte产生的排名分数可用于执行加权二分法,进一步降低BIC识别的成本。最后,我们将Fonte应用于一个拥有超过1000万行代码的大型工业项目,并表明它可以将实际BIC排在前五名提交中,占所研究的真实批测试失败的87%,并平均节省32%的BIC检查成本。
2023-02-15 cs.SE
Beyond Crash-to-Patch: Patch Evolution for Linux Kernel Repair
University of Illinois Chicago(伊利诺伊大学芝加哥分校);Indiana University(印第安纳大学)
本文研究Linux内核修复的补丁演变过程,提出PatchAdvisor框架,通过整合检索与诊断顾问,提升修复质量与审查一致性。
2026-04-04 cs.OS cs.SE
An Extensive Replication Study of the ABLoTS Approach for Bug Localization
State Key Laboratory for Novel Software Technology, Nanjing University(南京大學新型軟件技術國有重點實驗室);Institute for Software Systems Engineering, Johannes Kepler University(約瀚內斯·克普勒大學軟件系統工程研究所);Department of Computer Science, North Carolina State University(北卡羅來納州立大學計算機科學系);Department of Computer Science, Southern Methodist University(南衛理公會大學計算機科學系)
本文通过复制研究评估ABLoTS在扩展数据集上的表现,发现核心组件TraceScore效果稳定,但因错误选择截止日期导致测试数据泄露,影响了复现结果。
2026-05-12 cs.SE
D&C: A Divide-and-Conquer Approach to IR-based Bug Localization
软件维护中的许多自动化任务依赖于信息检索技术来识别非结构化数据中的特定信息。Bug本地化就是这样一个典型的任务,其中分析bug报告中的文本以识别源代码中与所报告的bug相关联的文件位置。尽管结果令人鼓舞,但基于IR的错误定位工具提供的性能对于大规模采用仍然不显著。我们认为,一个原因可能是试图建立一个一刀切的方法。在本文中,我们广泛研究了最先进的错误定位工具的性能,重点是查询制定和它的重要性方面的本地化性能。基于这项研究的见解,我们提出了一种新的学习方法,其中多个分类器模型在明确的错误位置对集合上进行训练。具体地说,我们应用梯度提升监督学习的方法,以各种错误报告的本地化似乎是成功的特定类型的功能。培训场景建立在我们的发现基础之上,即各种最先进的本地化工具对于特定的bug报告集可以具有很高的性能。我们实现D&C,它计算适当的权重,应该分配给信息令牌类型对之间的相似性测量。在大型和最新数据集上的实验结果表明,D&C的性能优于最先进的工具。平均而言,实验产生的MAP得分为0.52,MRR得分为0.63,这提供了所有工具的实质性性能改进:MAP提高了4到10个百分点,而MRR提高了1到12个百分点。最后,我们注意到D&C的本地化性能是稳定的:大约50%的bug可以定位在Top1,77%在Top5,85%在Top10。
2019-02-07 cs.SE
GREPO: A Benchmark for Graph Neural Networks on Repository-Level Bug Localization
Institute for Artificial Intelligence, Peking University(人工智能研究院,北京大学);School of Intelligence Science and Technology, Peking University(智能科学与技术学院,北京大学);College of Intelligence Science and Technology, National University of Defense Technology(智能科学与技术学院,国防科技大学)
GREPO是首个用于仓库级Bug定位的GNN基准,包含86个Python仓库和47294个Bug修复任务,展示了GNN在Bug定位中的优越性能。
2026-02-14 cs.AI cs.LG cs.SE
ConFL: Explainable Concurrent Fault Localization via Hierarchy-Guided LLM Reasoning
University of Connecticut(康涅狄格大学)
ConFL是一种可解释的并发故障定位框架,通过构建并发知识库与LLM引导的层次检索,在8个Java项目的并发漏洞实验中,其MRR达0.503、MAP达0.486,性能优于同类基线方法且鲁棒性良好。
2026-08-05 cs.SE
Natural Language Summarization Enables Multi-Repository Bug Localization by LLMs in Microservice Architectures
Yildiz Technical University, Dept. of Computer Eng.(Yildiz技术大学,计算机工程系);Yildiz Technical University, Department of Computer Engineering(Yildiz技术大学,计算机工程系)
利用自然语言摘要和LLM技术,通过多仓库微服务架构实现更高效的Bug定位,显著提升定位准确率和透明度。
2025-12-05 cs.AI cs.CL cs.IR
BULNER: BUg Localization with word embeddings and NEtwork Regularization
ICMC-Universidade de São Paulo (USP)(圣保罗大学计算与数学科学中心(ICMC));DC-Universidade Federal de São Carlos (UFSCar)(圣卡洛斯联邦大学计算系(DC));Universidade Federal de Mato Grosso do Sul (UFMS)(南马托格罗索联邦大学);Ericsson AB / Blekinge Institute of Technology(爱立信公司/布莱金厄理工学院);INF-Universidade Federal de Goiás (UFG)(戈亚斯联邦大学信息系(INF));Tribunal de Justiça do Estado de Goiás(戈亚斯州法院)
从错误报告中进行错误定位是软件维护过程中的一项战略性活动。由于BL是一项昂贵且繁琐的活动,因此基于信息检索和机器学习的BL技术可以帮助软件工程师。提出了一种基于词嵌入和网络正则化的漏洞定位方法。初步结果表明,BULNER具有更好的性能比两个国家的最先进的方法。
2019-08-26 cs.IR cs.LG cs.SE
Bug Fix Time Optimization Using Matrix Factorization and Iterative Gale-Shaply Algorithms
缺陷分类是软件维护阶段的一项重要工作。它分配给开发人员(修复者)bug报告来修复它们。这个过程是由一个triager手动执行的,他分析开发人员的配置文件并提交错误报告,以进行适当的分配。缺陷分类过程非常耗时,因此自动化这个过程对于提高软件质量至关重要。以前的工作解决分流问题作为一个信息检索或分类问题。本文处理这个问题作为一个资源分配问题,旨在最好的分配开发人员的错误报告,减少总修复时间的新提交的错误报告,除了均匀分布的错误报告的开发人员。本文首先引入了一种基于差分进化的矩阵分解和Gale Shapely算法相结合的方法来优化总修复时间和规范开发人员的工作量。利用矩阵分解方法建立了一个推荐系统,用于Gale-Shapley算法的分配决策。差分进化提供了一组最佳的权重来构建开发人员的评分配置文件。所提出的方法在三个存储库上进行评估,Linux,Apache和Eclipse。实验结果表明,该方法在Linux、Eclipse和Apache上分别比人工分流减少了80.67%、23.61%和60.22%的漏洞修复时间。此外,开发人员的工作量是统一的。
2022-07-14 cs.IR cs.SE
ImproBR: Bug Report Improver Using LLMs
Bilkent University(比尔肯特大学)
ImproBR通过结合DistilBERT、启发式分析和LLM分析,提升bug报告的结构完整性、可执行性及可复现性,显著提高质量。
2026-04-28 cs.AI cs.SE
GloBug: Using Global Data in Fault Localization
故障定位(FL)是软件调试中重要的第一步,在目前的实践中大多是手动的。多年来,已经提出了许多方法来自动化FL过程,包括基于信息检索(IR)的技术。这些方法基于所报告的错误报告和源代码的相似性来定位错误。基于IR的FL(IRFL)技术的新变体也会查看错误报告的历史记录,并在本地化过程中利用它们。然而,所有现有的IRFL技术都局限于当前项目的数据(本地数据)。在这项研究中,我们介绍了Globug,这是一个IRFL框架,由使用在全局数据(从开源基准项目中提取)上预训练的模型的方法组成。在Globug中,我们研究了两种算法:a)全局数据对最先进的IR-FL技术(即Bugebug)的影响,以及b)词嵌入技术(Doc 2 Vec)与全局数据一起的应用。我们在51个软件项目上的大规模实验表明,使用全局数据在MRR(平均倒数秩)和MAP(平均平均精度)方面平均提高了Bugstrom 6.6%和4.8%,在大多数情况下超过14%(MRR和MAP分别为64%和54%)。与其他五种最先进的IRFL工具相比,这种改进是显着的。此外,全局训练模型是一次性的离线任务,不会增加Bugstrom运行时故障定位的开销。然而,我们的研究表明,基于词嵌入的全局解决方案并没有进一步改善结果。
2021-01-14 cs.SE
Structured Information Retrieval Strategies for Localising Software Changes
在软件维护和演化过程中,开发人员需要通过修改现有代码或向系统中添加代码来处理大量的更改请求。有效处理变更请求需要准确定位软件变更,即确定哪些代码有问题,以及对于手头的任何类型的变更请求(如错误报告或功能请求),应在何处添加新文件。现有的自动技术,这个变化的本地化问题是有限的,在两个方面:一方面,他们只限于处理特定类型的更改请求;另一方面,他们专注于寻找文件,应修改的更改请求,但几乎没有能力推荐什么文件或包可能是新创建的。为了解决这些限制,我们受到启发,提出了一种通用的更改本地化方法来识别要修改的文件(主要是bug),同时指出应该为任意类型的更改请求创建新文件或包(主要是新功能请求)。为了解决预测要创建的程序元素的关键挑战,我们建议的SeekChanges方法利用Java项目的分层包结构,并将更改本地化问题建模为结构化信息检索(IR)任务。三个结构化的IR战略进行了系统的调查,得分和排名的文件,应该修改和软件包中,新的文件应该创建,以解决变更请求。在Apache软件基金会的四个开源Java项目上进行的大量实验表明,结构化IR策略在推荐新创建的文件方面具有良好的性能,而本地化更改请求的整体性能同样令人满意。
2018-12-12 cs.SE
Better Automatic Program Repair by Using Bug Reports and Tests Together
自动程序修复已经在工业中部署,但对修复质量的担忧仍然存在。最近的研究表明,修复工具产生不正确的(但似乎是正确的)补丁的主要原因之一是不完善的故障定位(FL)。本文表明,结合自然语言的错误报告和测试执行时,本地化故障的信息可以有显着的积极影响修复质量。例如,具有这种FL的现有修复工具能够正确地修复Defects 4J基准中的7个缺陷,而现有工具没有正确地修复这些缺陷。我们开发,蓝调,第一个信息检索为基础的,语句级FL技术,不需要训练数据。我们进一步开发RAFL,第一个无监督的方法结合多种FL技术,它优于监督的方法。使用RAFL,我们通过将蓝光与基于频谱(SBFL)的技术相结合来创建SBIR。在对815个真实缺陷进行评估后,SBIR始终将错误语句的排名高于其底层技术。然后,我们修改三个国家的最先进的修复工具,Arja,SequenceR,和SimFix,使用SBIR,SBFL,和蓝调作为其内部FL。我们评估了689个真实世界的缺陷所产生的补丁的质量。Arja和SequenceR显著受益于SBIR:使用SBIR的Arja正确修复了28个缺陷,但使用SBFL时只有21个,使用Blues时只有15个;使用SBIR的SequenceR正确修复了12个缺陷,但使用SBFL时只有10个,使用Blues时只有4个。SimFix(具有克服不良FL的内部机制)使用SBIR和SBFL正确修复了30个缺陷,…
2023-02-06 cs.SE
Network-Clustered Multi-Modal Bug Localization
Singapore Management University(新加坡管理大学)
开发人员经常花费大量的精力和资源来调试程序。为了帮助开发人员调试,许多基于信息检索(IR)和基于频谱的错误定位技术已经被设计出来。基于IR的技术处理错误报告中的文本信息,而基于谱的技术处理程序谱(即,对于每个测试用例执行哪些程序元素的记录)。虽然这两种技术最终都会生成一个可能包含bug的程序元素的排序列表,但它们只考虑一个信息源--bug报告或程序谱--这不是最佳的。针对这一不足,本文提出了一种新的网络聚类多模态错误定位方法(NetML),该方法利用来自错误报告和程序谱的多模态信息对错误进行定位。NetML通过执行错误定位误差的联合优化以及错误报告和程序元素的聚类(即,方法)。聚类是通过结合网络Lasso正则化来实现的,它激励相似错误报告和相似程序元素的模型参数靠近在一起。为了估计错误报告和方法的模型参数,NetML采用了一种基于牛顿方法的自适应学习过程,该过程在每个特征的基础上更新参数。我们对来自7个软件系统的355个真实错误进行了广泛的实验,以针对各种最先进的本地化方法对NetML进行基准测试。结果显示,NetML在开发人员检查前1、5和10种方法时成功定位的错误数量以及平均平均精度(MAP)方面分别超过了最佳性能基线31.82%、22.35%、19.72%和19.24%。
2018-02-27 cs.IR cs.LG cs.SE
Improved IR-based Bug Localization with Intelligent Relevance Feedback
Dalhousie University(达尔豪斯大学)
针对缺陷定位中上下文理解不足的问题,提出BRaIn技术,利用大语言模型评估相关性并引入智能相关反馈重构查询和重排文档,在Bench4BL上显著优于六种基线,MAP、MRR、HIT@K分别提升87.6%、89.5%、48.8%,并能定位52%基线无法定位的缺陷。
2025-03-27 cs.AI cs.CL cs.SE
Automated Root-Cause Subclassification and No-Code Fix Generation for Invalid Bug Reports
Department of Computer Engineering, Bilkent University(计算机工程系,比尔肯特大学)
本研究旨在引入一个标准化的根因导向的无效bug报告子类划分体系,并通过实验测试不同方法在无效子类划分和无代码修复生成中的准确性。研究还分析了不同配置在我们创建的黄金标准基准上的表现。
2026-11-11 cs.AI cs.MA cs.SE
Enhancing IR-based Fault Localization using Large Language Models
针对现有IRFL技术在错误报告分析和查询构建中存在信息丢失的问题,本文提出利用GPT-4等大语言模型对错误报告分类并应用定制查询策略(LLmiRQ),引入对话式查询重构(LLmiRQ+)和学习排序模型,显著提升故障定位性能。
2024-12-04 cs.SE
ReProAgent: Tool-Augmented Multi-Stage Agentic Generation of Bug Reproduction Tests from Issue Reports
School of Computer Science and Engineering, Nanjing University of Science and Technology(南京理工大学计算机科学与工程学院);State Key Laboratory for Novel Software Technology, Nanjing University(南京大学软件新技术国家重点实验室);Singapore Management University(新加坡管理大学)
研究提出ReProAgent多阶段代理框架,从问题报告生成错误重现测试,将任务分解为四个阶段,集成多种工具支持各阶段,实验表明其能成功重现较多问题,优于基线,还可跨模型泛化并提升下游问题解决性能。
2026-07-13 cs.SE
It Takes Two to Tango: Combining Visual and Textual Information for Detecting Duplicate Video-Based Bug Reports
College of William & Mary(威廉与玛丽学院);George Mason University(乔治梅森大学)
当bug在面向用户的应用程序中出现时,它很可能通过图形用户界面(GUI)暴露出来。鉴于视觉信息对识别和理解此类错误的重要性,用户越来越多地使用屏幕截图和屏幕记录作为向开发人员报告问题的手段。然而,当这样的信息被集中报告时,例如在众包测试期间,管理这些工件可能是一个耗时的过程。随着屏幕记录的报告变得越来越流行,开发人员可能会面临与手动识别描述重复错误的视频相关的挑战。由于其图形化的特性,屏幕记录对自动化分析提出了挑战,排除了使用当前的重复错误报告检测技术。为了克服这些挑战并帮助开发人员完成这项任务,本文介绍了Tango,这是一种重复检测技术,它通过利用视觉和文本信息来纯粹基于视频的错误报告。Tango结合了定制的计算机视觉技术、光学字符识别和文本检索。我们对Tango的多种配置进行了全面的实证评估,评估了4,860个重复检测任务,其中涉及来自6个Android应用程序的180个屏幕记录。此外,我们进行了一项用户研究,调查开发人员手动检测重复的基于视频的错误报告所需的工作量,并将其与使用Tango所需的工作量进行了比较。结果表明,Tango的最佳配置在检测重复的基于视频的错误报告方面非常有效,在83%的任务中,目标重复视频准确地排在返回结果的前2位。此外,我们的用户研究表明,平均而言,Tango可以减少开发人员60%以上的工作量,这说明了它的实用性。
2021-02-05 cs.AI cs.SE
ExecRetrieval: Measuring the Functional-Correctness Gap in Code-Embedding Retrieval
Kennesaw State University(肯尼索州立大学)
本研究提出 ExecRetrieval 基准,含 939 个 Python 任务及配对的规范实现与有缺陷干扰项,评估代码嵌入检索系统,发现其功能正确性差距显著,exec@1 仅 0.331,多数排名第 1 的缺失项为有缺陷变体。
2026-09-04 cs.AI cs.CL cs.IR
From Reviewers' Lens: Understanding Bug Bounty Report Invalid Reasons with LLMs
Stevens Institute of Technology(史蒂文斯理工学院)
利用大语言模型和结构化评审知识,研究如何识别和解释漏洞赏金报告的无效原因,以提高报告质量和评审一致性。
2025-11-23 cs.CR cs.SE
Cross-Project Bug Localization: What Works, What Doesn't, and Why
Indian Institute of Technology Tirupati(蒂鲁帕提印度理工学院)
该研究针对跨项目缺陷定位,评估BLAZE、TRANP-CNN、COOBA三种模型,发现跨项目学习效果依赖模型架构,TRANP-CNN表现最优,负迁移普遍存在,需按架构验证跨项目学习适用性。
2026-10-14 cs.SE
Fault Localization from the Semantic Code Search Perspective
针对故障定位(FL)有效性低于代码搜索(CS)的问题,提出CosFL方法,将FL分解为基于LLMs的查询生成和多粒度CS故障检索,在23个Java项目的835个真实缺陷上Top-1定位324个,优于现有方法26.6%-57.3%。
2024-11-26 cs.SE
Improving MPI Error Detection and Repair with Large Language Models and Bug References
Dept. of Computer Science, University of Central Florida(中佛罗里达大学计算机科学系)
本文提出结合Few-Shot Learning、Chain-of-Thought和Retrieval Augmented Generation技术,提升大语言模型在MPI错误检测与修复中的准确性,实验结果显示错误检测准确率从44%提升至77%。
2026-04-02 cs.AI cs.SE