Bug Priority Change Prediction: An Exploratory Study on Apache Software
Central China Normal University(华中师范大学);Wuhan University(武汉大学);Huazhong University of Science and Technology(华中科技大学)
本文提出基于bug修复演变特征和类别不平衡处理策略的bug优先级变更预测方法,通过实验验证其在Apache项目中的有效性。
2025-12-10 cs.SE
Watch out for Extrinsic Bugs! A Case Study of their Impact in Just-In-Time Bug Prediction Models on the OpenStack project
内在缺陷是指在软件的版本控制系统中可以识别出引入变更的缺陷的缺陷。相比之下,外部错误是由软件的外部更改引起的,例如外部API中的错误;因此,它们没有明确的错误会在版本控制系统中引入更改。虽然大多数以前的研究文献都假设所有的错误都是内在的,但在以前的研究中,我们发现并非所有的错误都是内在的。本文展示了一个例子,如何考虑外部缺陷可以影响软件工程的研究。具体来说,我们研究外部错误的影响,在及时错误预测的部分复制最近的研究由麦金托什和龟井JIT模型。这些模型使用早期引入bug的更改的属性进行训练。由于外部错误没有在版本控制系统中引入更改的错误,因此我们手动管理McIntosh和Kamei的数据集以区分内部和外部错误。然后,我们解决他们原来的研究问题,这一次删除外部错误,研究是否错误引入的变化是一个移动的目标,在即时错误预测。最后,我们研究了内部和外部错误的特征是否不同。我们的研究结果表明,内在和外在的错误是不同的性质。当删除外部错误时,性能差异高达16%曲线下面积点。这表明我们的JIT模型获得了对现实世界更准确的表示。我们的结论是,外部错误产生负面影响的即时模型。此外,我们提供的证据表明,外部错误应该进一步调查,因为它们可以显着影响软件工程师如何理解错误。
2021-03-28 cs.SE
Understanding Resolution of Multi-Language Bugs: An Empirical Study on Apache Projects
本文通过对 54 个 Apache 项目中的 66,932 个缺陷进行实证研究,揭示了多编程语言缺陷在比例、变更复杂度、开放时间和重新打开率等方面的特征,并识别出 6 个成因和 5 种跨语言调用机制,表明多语言缺陷会增加开发难度。
2023-07-05 cs.SE
An Automatically Created Novel Bug Dataset and its Validation in Bug Prediction
在软件开发过程中,由于频繁的代码更改,紧迫的期限等,错误是不可避免的;因此,重要的是要有工具来发现这些错误。执行错误识别的一种方式是分析来自过去的有错误的源代码元素的特性,并且使用例如机器学习模型基于相同的特性来预测当前的源代码元素。为了支持模型构建任务,代码元素及其特征被收集在所谓的错误数据集中,作为学习的输入。我们介绍\emph{BugHunter Dataset}:一种新型的自动构建和免费可用的bug数据集,包含具有广泛代码度量和bug信息的代码元素(文件,类,方法)。其他可用的bug数据集遵循传统的方法,即仅在代码的一个或多个预先选择的发布版本中收集所有源代码元素(有bug和无bug)的特征。我们的方法,另一方面,捕获的错误和固定状态的相同的源代码元素从最短的时间内,我们可以确定一个错误的存在,无论发布版本。为了展示新数据集的有用性,我们构建并评估了错误预测模型,并实现了超过0.74的F-测量值。
2020-06-17 cs.SE
On the feasibility of automated prediction of bug and non-bug issues
上下文:问题跟踪系统用于跟踪和描述开发过程中的任务,例如,请求功能改进或报告错误。然而,过去的研究表明,报告的问题类型往往与问题的描述不匹配。目的:我们希望了解问题类型预测技术的总体成熟度,目标是预测问题是否是错误,并评估我们是否可以通过合并有关问题的手动指定知识来改进现有模型。方法:我们针对问题的标题和描述训练不同的模型,以说明这些字段之间结构的差异,例如,长度。此外,我们手动检测其描述包含空指针异常的问题,因为这些是问题是错误的强指标。结果如下:我们的方法总体上表现最好,但与基于Facebook AI Research的fastText分类器的文献方法没有显著差异。预测性能的小幅改善是由于我们使用的问题的结构信息。我们发现,以空指针异常的形式使用有关问题内容的信息是没有用的。我们通过标记bug修复提交的例子证明了问题类型预测的有用性。结论:如果用例允许一定数量的遗漏错误报告或预测太多问题(因为错误是可接受的),则问题类型预测可能是一个有用的工具。
2021-10-08 cs.SE
Toward Rapid Bug Resolution for Android Apps
本文针对安卓应用缺陷报告质量低、管理困难的问题,提出识别现有局限并探索新研究方向,以加快缺陷修复和软件维护。
2023-12-23 cs.IR cs.SE
Past, Present, and Future of Bug Tracking in the Generative AI Era
Bilkent University, Department of Computer Engineering(比尔肯大学计算机工程系)
本文探讨生成AI时代缺陷跟踪的发展,提出基于大语言模型和智能代理的框架,旨在通过自然语言报告和AI自动化降低解决时间与协调成本。
2026-03-30 cs.AI cs.SE
Anticipating Bugs: Ticket-Level Bug Prediction and Temporal Proximity Effects
本文提出工单级缺陷预测(TLP)方法,通过72个多类特征在工单生命周期三阶段预测引入缺陷的工单,经两个Apache项目约1万工单验证,准确率随时间邻近度提升,可支撑开发上游的风险感知工单管理。
2025-06-17 cs.SE
Bug Prediction Using Source Code Embedding Based on Doc2Vec
错误预测是一项需要大量资源的任务,很难使用静态源代码分析实现自动化。在计算机科学的许多领域,机器学习已经被证明在这样的任务中非常有用,然而,为了让它工作,我们需要一种使用源代码作为输入的方法。我们提出了一个简单的,但有意义的表示源代码的基础上,其抽象语法树和Doc 2 Vec嵌入算法。这种表示将源代码映射到一个固定长度的向量,该向量可用于各种上游任务-其中之一是错误预测。我们测量了这种方法本身的有效性,并将其有效性与仅基于代码度量的错误预测进行了比较。我们还试验了许多机器学习方法,以检查不同嵌入参数与不同机器学习模型之间的联系。我们的研究结果表明,这种表示提供了有意义的信息,因为它在大多数情况下提高了错误预测的准确性,并且总是至少与仅使用代码度量作为特征一样好。
2021-10-11 cs.SE
Method-Level Bug Severity Prediction using Source Code Metrics and LLMs
本研究利用源代码度量和CodeBERT大语言模型,提出方法级缺陷严重性预测方法,显著提升预测效果,并集成两种架构进一步增强模型性能。
2023-09-06 cs.SE
Is this bug severe? A text-cum-graph based model for bug severity prediction
大型软件系统的存储库已经变得司空见惯。这种大规模的扩展导致了这些软件平台中各种问题的出现,包括识别(i)容易出现错误的软件包,(ii)关键错误,以及(iii)错误的严重性。其中一个重要的目标是挖掘这些bug并推荐给开发人员来解决它们。第一步是必须准确地检测错误的严重程度。在本文中,我们承担了预测在不久的将来的错误的严重性的任务。基于bug的文本描述和用户对bug的评论构建的上下文化神经模型有助于实现合理的良好性能。关于bug如何影响软件包的方式的更多信息可以以图表的形式总结出来,并与文本一起使用,以获得额外的好处。
2022-07-01 cs.IR cs.SE
Studying the explanations for the automated prediction of bug and non-bug issues using LIME and SHAP
TU Clausthal(克劳斯塔尔工业大学)
上下文:在问题跟踪器中识别报告的问题中的错误对于问题的分类至关重要。机器学习模型已经显示出关于自动化问题类型预测的性能的有希望的结果。然而,除了我们的假设之外,我们对这些模型如何识别bug的了解非常有限。LIME和SHAP是解释分类器预测的常用技术。目的:我们想了解机器学习模型是否为分类提供了合理的解释,并与我们对模型应该学习什么的假设保持一致。我们还想知道预测的质量是否与解释的质量相关。方法:我们进行了一项研究,根据LIME和SHAP解释问题类型预测模型结果的质量对其进行评级。为此,我们评价解释本身的质量,即,如果它们符合我们的期望,如果它们帮助我们理解底层的机器学习模型。
2022-09-15 cs.LG cs.SE
Software issues report for bug fixing process: An empirical study of machine-learning libraries
本文对六个主流机器学习库的16,921个GitHub问题开展实证研究,量化分析问题类别、修复策略、评论数与持续时间等关系,指出高效跟踪、沟通和协作的重要性。
2023-12-10 cs.SE
Revisiting reopened bugs in open source software systems
重新打开的bug会降低软件系统的整体质量,因为它们需要开发人员进行不必要的返工。此外,重新打开的错误也会导致最终用户对软件质量的信任丧失。因此,预测可能重新打开的错误对于软件开发人员避免返工非常有帮助。先前关于重新开放的错误预测的研究只关注三个开源项目(即,Apache、Eclipse和OpenOffice)来生成见解。我们注意到,三个项目中有一个(即,Apache)有一个数据泄漏问题--重新打开的错误状态被包括在训练数据中,以预测重新打开的错误。此外,先前的研究使用过时的预测模型管道(即,利用构建预测模型的旧技术)来预测重新打开的错误。因此,我们重新开放的错误研究的一个大规模的数据集,包括47个项目跟踪JIRA使用现代技术,如SMOTE,排列重要性与7个不同的机器学习模型。我们使用混合方法(即,定量和定性研究)。我们发现:1)在使用更新后重新开放的bug预测模型管道后,只有34%的项目给出了AUC >= 0.7的可接受性能。2)有四个主要原因导致bug被重新打开,即技术原因(即,补丁/集成问题),文档,人(即,由于错误评估),以及错误报告中未显示的原因。3)在具有可接受AUC的项目中,94%的重新打开的bug是由于补丁问题(即,使用了不正确的补丁)。我们的研究重新开放的错误,并提供了新的见解开发人员的错误重开活动。
2022-02-17 cs.SE
Privacy-Preserving Methods for Bug Severity Prediction
本研究针对工业界数据共享受限问题,利用源代码度量和LLM进行方法级缺陷严重性预测,对比了集中式学习、联邦学习与合成数据生成方法,发现联邦学习与合成数据在无需共享数据时即可达到与集中训练相当的预测效果。
2025-06-28 cs.SE
Exploring Large Language Models in Resolving Environment-Related Crash Bugs: Localizing and Repairing
Department of Computer Science, Fudan University(复旦大学计算机科学系);School of Software Engineering, Sun Yat-sen University(中山大学软件学院);Institute for Clarity in Documentation(文档清晰研究所);Inria Paris-Rocquencourt(巴黎-鲁西永研究所);Rajiv Gandhi University(拉朱·甘地大学);Tsinghua University(清华大学);Palmer Research Laboratories(帕勒尔研究实验室)
该研究针对大语言模型在真实环境相关崩溃漏洞修复中的能力空白,对比不同崩溃类型的修复难点,探索多种提示策略,提出交互式方法IntDiagSolver,在多个主流LLM上显著提升了崩溃漏洞的定位与修复准确率。
2025-08-30 cs.AI cs.CL cs.SE
Challenging Bug Prediction and Repair Models with Synthetic Bugs
University of Illinois Urbana-Champaign(伊利诺伊大学厄巴纳-香槟分校);Stanford University(斯坦福大学)
提出BugFarm,利用LLM在注意力最少位置修改代码,生成难以检测和修复的复杂缺陷,评估显示其优于现有方法。
2025-09-09 cs.LG cs.SE
Comparative analysis of real bugs in open-source Machine Learning projects -- A Registered Report
Deakin University(迪肯大学)
工作背景:机器学习(ML)系统依赖于数据来进行预测,与传统的软件系统相比,该系统增加了许多组件,例如数据处理管道,服务管道和模型训练。现有的软件维护研究已经研究了不同类型的问题,如性能和安全问题的问题报告需求和解决过程。然而,ML系统有特定的故障类别,报告ML问题需要特定于域的信息。由于ML和传统软件工程系统之间的不同特征,我们不知道报告需求在多大程度上不同,以及这些差异在多大程度上影响问题解决过程。目的:我们的目标是调查ML和非ML问题之间的解决时间分布是否存在差异,以及基于开源应用ML项目中的真实问题报告,某些类别的ML问题是否需要更长的时间来解决。我们进一步研究了ML问题和非ML问题的修复大小。方法:我们从Github提取最近活跃的应用ML项目中的问题报告、拉取请求和代码文件,并使用自动方法过滤ML和非ML问题。我们使用已知的深度学习错误分类来手动标记问题。我们在一个受控样本上测量ML和非ML问题的解决时间和修复大小,并比较每类问题的分布。
2022-09-20 cs.AI cs.SE
The Impact of Feature Selection on Predicting the Number of Bugs
缺陷预测是在软件度量和故障信息上训练机器学习模型以预测软件实体中的缺陷的过程。虽然特征选择是建立鲁棒预测模型的重要步骤,但没有足够的证据表明其对预测软件系统中错误数量的影响。我们研究了基于相关性的特征选择(CFS)过滤器方法和包装器特征选择方法对五种广泛使用的预测模型的影响,并演示了这些模型在有或没有特征选择的情况下如何执行来预测五个不同开源Java软件系统中的错误数量。我们的研究结果表明,包装器优于CFS过滤器;它们将预测精度提高了33%,同时消除了一半以上的特征。我们还观察到,尽管相同的特征选择方法在不同的项目中选择不同的特征子集,但是该子集总是包含源代码和变更度量的混合。
2018-07-12 cs.SE
Bug Severity Prediction in Software Projects Using Supervised Machine Learning Models
Daffodil International University(达福迪尔国际大学)
本研究利用监督机器学习模型,通过Eclipse Bugzilla的历史数据预测缺陷严重性,发现集成树方法和DistilBERT在准确性上表现最佳,线性模型在召回率上更优,为自动化缺陷分拣提供了有效方法。
2026-01-09 cs.LG cs.SE
Enhanced Bug Prediction in JavaScript Programs with Hybrid Call-Graph Based Invocation Metrics
针对 JavaScript 静态分析不精确导致函数级缺陷预测受限的问题,提出融合静态特征与混合调用图 HNII/HNOI 度量的模型,并在 BugsJS 的 ESLint 数据上验证性能提升 2–10%。
2024-05-12 cs.SE
STEAM: Simulating the InTeractive BEhavior of ProgrAMmers for Automatic Bug Fixing
本文提出名为STEAM的分阶段框架,通过模拟多个程序员在缺陷报告、诊断、补丁生成与验证四个阶段的交互协作行为,利用ChatGPT显著提升了大型语言模型的自动缺陷修复能力,达到了最先进的性能水平。
2023-08-28 cs.SE
Using Defect Prediction to Improve the Bug Detection Capability of Search-Based Software Testing
自动测试生成器,如基于搜索的软件测试(SBST)技术,取代了手动编写测试用例的繁琐和昂贵的任务。SBST技术在生成具有高代码覆盖率的测试时是有效的。然而,高代码覆盖率是否足以最大限度地增加发现的bug数量?我们认为,SBST需要集中在有缺陷的领域,而不是在非缺陷的代码领域,以最大限度地发现错误的可能性搜索测试用例。缺陷预测算法提供了有关软件中容易出现错误的区域的有用信息。因此,我们制定了本论文的目标:\textit{Improve the bug detection capability of SBST by incorporating defect prediction information}。为了实现这一目标,我们设计了两个研究目标,即,1)开发一种新的方法(SBST $_{CL}$),该方法基于类有缺陷的可能性将时间预算分配给类,以及2)开发一种新的策略(SBST $_{ML}$)来指导底层搜索算法(即,遗传算法)对一类中的缺陷区域进行优化。通过对Defects4J数据集中434个真实报告的错误进行实证评估,我们证明了我们的新方法SBST $_{CL}$在资源受限的环境中,在时间预算紧张的情况下,比最先进的SBST更有效。
2022-06-14 cs.SE
Towards Automated Performance Bug Identification in Python
内容:软件性能是一个关键的非功能性需求,出现在许多领域,如关键任务应用程序,金融和实时的系统。在这项工作中,我们专注于早期检测的性能错误,我们的软件在研究中是一个实时的系统中使用的广告/营销领域。目标:找到一个简单且易于实现的解决方案,预测性能错误。方法:我们使用四种机器学习方法构建了几个模型,通常用于缺陷预测:C4.5决策树,朴素贝叶斯,贝叶斯网络和逻辑回归。结果如下:我们的实证结果表明,C4.5模型,使用行的代码更改,文件的年龄和大小作为解释变量,可以用来预测性能错误(召回=0.73,准确率=0.85,精度=0.96)。我们表明,减少提交时交付的更改数量,可以降低性能错误注入的机会。结论:我们相信我们的方法可以帮助从业者在开发周期的早期消除性能错误。我们的研究结果也感兴趣的理论家,建立一个功能性错误和(非功能性)性能错误之间的联系,并明确表明,用于预测的功能性错误的属性可以用于预测的性能错误。
2016-07-28 cs.SE
GitBugs: Bug Reports for Duplicate Detection, Retrieval Augmented Generation, Triage, and More
Hewlett Packard Enterprise(惠普企业);Heinz College of Information Systems and Public Policy Carnegie Mellon University(卡内基梅隆大学海因茨信息系统与公共政策学院)
GitBugs包含15万余条bug报告,提供标准化分类字段和预定义训练测试集,支持重复检测、检索增强生成、自动分拣等软件工程研究任务。
2026-04-28 cs.SE
PATCH: Empowering Large Language Model with Programmer-Intent Guidance and Collaborative-Behavior Simulation for Automatic Bug Fixing
针对现有大语言模型(LLMs)自动漏洞修复方法忽视协作性、仅以漏洞代码为输入的局限,提出分阶段框架PATCH,通过补充依赖上下文与意图信息、模拟程序员协作的四阶段任务流程,在BFP基准上性能优于现有LLMs。
2025-02-16 cs.SE
SZZ Unleashed: An Open Implementation of the SZZ Algorithm -- Featuring Example Usage in a Study of Just-in-Time Bug Prediction for the Jenkins Project
许多经验性的软件工程研究依赖于关于错误的详细信息。虽然问题跟踪器通常包含有关错误何时被修复的信息,但有关错误何时被引入系统的详细信息通常不存在。作为一种补救措施,研究人员经常依赖SZZ算法作为一种启发式方法来识别引入错误的软件更改。不幸的是,正如最近的系统性文献综述所报道的那样,很少有研究人员公开他们的SZZ实现。因此,有一种风险,即研究工作被浪费,因为基于SZZ输出的新项目最初需要重新实施该方法。此外,新开发的(封闭源代码)SZZ实现还没有经过适当的测试,因此基于其输出进行研究可能会对有效性造成威胁。我们介绍SZZ Unleashed,一个用于git仓库的SZZ算法的开放实现。本文描述了我们的实现以及Jenkins项目的使用示例,并以即时错误预测的说明性研究作为结论。我们希望继续在GitHub上发展SZZ Unleashed,并热情邀请社区做出贡献。
2019-08-19 cs.SE
BugMentor: Generating Answers to Follow-up Questions from Software Bug Reports using Structured Information Retrieval and Neural Text Generation
本文提出BugMentor,结合结构化信息检索与神经文本生成(如Mistral),从历史相关缺陷报告中提取上下文以自动生成后续问题的答案,在多项指标上显著优于基线,并经开发者研究验证其答案更准确、精确、简洁且有用。
2025-09-12 cs.SE
Automated Bug Report Prioritization in Large Open-Source Projects
Siena College(西内学院)
本文提出一种基于缺陷报告自然语言文本的自动化优先级排序方法,结合TopicMiner-MTM主题建模与BERT分类,在Eclipse Platform的85,156份报告上优于现有方法。
2025-04-22 cs.AI cs.SE
Online Adaptable Bug Localization for Rapidly Evolving Software
错误定位的目的是通过推荐与特定错误报告相关的程序元素来减少调试时间。到目前为止,研究人员主要通过应用不同的信息检索技术来解决这个问题,这些技术利用了给定错误报告和源代码之间的相似性。然而,随着现代软件开发趋向于软件变化和持续交付给用户的速度的增加,不能快速适应最新版本的软件的当前一代的错误定位技术变得不足。在本文中,我们提出了一种技术,在线错误定位,使快速更新的错误定位模型。更具体地说,我们提出了一个流错误本地化技术,基于一个合奏的在线主题模型,这是能够适应具体的(与明确的代码提到)和更抽象的错误报告。通过使用变更集(diffs)作为输入,而不是源代码的快照,模型自然地将缺陷预测和共同变更信息集成到其预测中。初步结果表明,所提出的方法提高了错误定位性能的42个56个评估项目,平均MAP提高了5.9%。
2022-03-07 cs.SE
TFix+: Self-configuring Hybrid Timeout Bug Fixing for Cloud Systems
由于缺乏诊断信息,这些漏洞可能导致严重的可用性和性能问题,通常难以修复。以前的工作提出了修复特定类型的超时相关性能错误的解决方案。在本文中,我们提出了TFix+,一个自配置超时错误修复框架,用于自动纠正两种主要的超时错误(即,误用超时错误和丢失超时错误)。TFix+提供了两种新的混合方案,分别用于修复误用和丢失超时错误。TFix+还提供了基于运行时函数跟踪的预测驱动的超时变量配置。我们已经实现了TFix+的原型,并对16个现实世界中的超时错误进行了实验。我们的实验结果表明,TFix+可以有效地修复测试的16个超时错误中的15个。
2021-10-08 cs.DC cs.PF cs.SE
Predicting the Number of Reported Bugs in a Software Repository
Ryerson University(瑞尔森大学)
错误增长模式预测是一项复杂的、不可减轻的任务,需要引起相当大的关注。预先了解软件系统中发现的错误的可能数量有助于软件开发人员在方便的时候指定足够的资源。开发人员也可以使用这些信息来采取必要的行动,以提高系统的质量,进而提高客户满意度。在这项研究中,我们研究了八种不同的时间序列预测模型,包括长短期记忆神经网络(LSTM),自回归综合移动平均(ARIMA)和随机森林回归。此外,我们将这些预测模型,如软件发布日期的外生变量的影响进行评估。我们根据不同的性能指标分析每个模型的长期预测质量。该评估是在Mozilla上进行的,Mozilla是一个大型开源软件应用程序。该数据集最初从Bugzilla中挖掘,包含2010年1月至2019年12月期间项目的错误数量。我们的数值分析提供了对缺陷库中趋势评估的见解。我们观察到,LSTM在考虑长期预测时是有效的,而由外生变量丰富的随机森林回归器在预测短期错误数量方面表现更好。
2021-04-24 cs.LG cs.SE
Enhancing Bug Report Templates in the TianoCore UEFI Firmware Development Community
University of Colorado Colorado Springs(科罗拉多大学科泉分校);Purdue University(普渡大学)
本研究针对TianoCore核心项目EDK II,通过分析漏洞数据发现关键信息缺失问题,拟在GitHub Issues的漏洞报告模板中新增字段,计划经开发者反馈调整及A/B测试验证,以优化UEFI固件漏洞分类与解决流程。
2026-09-10 cs.SE
BugsRepo: A Comprehensive Curated Dataset of Bug Reports, Comments and Contributors Information from Bugzilla
为解决缺陷报告信息不完整影响软件维护预测系统的问题,本文提出了源自Mozilla项目的综合数据集BugsRepo,包含119,585条缺陷报告元数据、19,351名贡献者信息及10,351条结构化缺陷报告,以支持自动化缺陷分析并提升软件维护效率。
2025-04-26 cs.SE
An Exploratory Study on Just-in-Time Multi-Programming-Language Bug Prediction
本研究针对多编程语言系统缺陷预测缺失的问题,选取指标构建即时多编程语言缺陷预测模型,验证了随机森林的适用性、核心指标的作用及跨项目预测的可行性。
2024-07-15 cs.SE
LLM-Based Detection of Tangled Code Changes for Higher-Quality Method-Level Bug Datasets
本研究利用LLM结合提交信息与代码差异,通过少样本和思维链提示检测方法级纠缠代码变更,F1达0.883,并验证了该方法对提升缺陷数据集质量的贡献。
2025-10-25 cs.SE
SWE-Doctor: Guiding Software Engineering Agents with Runtime Diagnosis from Multi-Faceted Bug Reproduction Tests
提出SWE-Doctor,通过生成多面缺陷复现测试并执行调试,构建运行时诊断记录,结合定位信息指导补丁生成,在SWE-bench Verified和Pro上平均解决率分别达75.7%和59.4%。
2026-07-02 cs.AI cs.SE
Untangling Knots: Leveraging LLM for Error Resolution in Computational Notebooks
JetBrains Research(JetBrains研究院)
本文提出一种基于大语言模型的迭代式智能体方法,用于解决非线性计算笔记本中的错误,并发布了一个含缺陷的计算笔记本数据集以支持相关研究。
2024-03-26 cs.LG cs.SE
How good does a Defect Predictor need to be to guide Search-Based Software Testing?
缺陷预测器、静态缺陷检测器和检查代码的人员可以在通过测试发现程序中有缺陷的部分之前找到它们。诸如基于搜索的软件测试(SBST)技术之类的自动测试生成器可以使用该信息来将它们对测试用例的搜索引导到可能存在错误的代码,从而加速检测现有错误的过程。然而,这些工具或人类给出的预测往往是不精确的,这可能会误导SBST技术,并可能降低其性能。在本文中,我们研究了缺陷预测的不精确性对SBST缺陷检测有效性的影响。我们的研究发现,召回的缺陷预测,即,正确识别错误代码的概率对SBST的错误检测有效性有显著影响,且效应量较大。另一方面,精确度的影响,一个衡量假警报,是没有实际意义的一个非常小的效果大小所示。特别是,SBST技术发现7.5个错误平均减少每5%的召回(420个错误)。在结合缺陷预测和SBST的背景下,我们的建议是在牺牲精度的情况下增加缺陷预测器的召回率,同时保持至少75%的精度。考虑到缺陷预测器的不精确性,特别是低召回值,SBST技术应该被设计为搜索测试用例,这些测试用例也覆盖了程序中预测的非错误部分,同时优先考虑被预测为错误的部分。
2021-10-06 cs.SE
Semantic Drift in Bug Resolution: How Behavioral Signals Propagate from Reports to Tests and Patches
University of Luxembourg(卢森堡大学);Nanjing University of Science and Technology(南京理工大学);Zhejiang University(浙江大学);Bilkent University(比尔肯特大学);Singapore Management University(新加坡管理大学)
研究错误修复中行为信号跨工件传播的量化问题,核心方法是引入Desc2Fix框架,通过结构化行为锚等实现语义对齐,主要贡献是证明行为对齐可测且非相似性可比,能为测试和补丁相关工作提供可重现信号,助力多项错误修复任务。
2026-08-14 cs.SE
HLSDebugger: Identification and Correction of Logic Bugs in HLS Code with LLM Solutions
Hong Kong University of Science and Technology(香港科学与技术大学)
针对HLS代码调试难度大、训练数据稀缺等问题,本研究提出HLSDebugger方案,发布30万条标注数据集,采用单编码器-解码器模型完成多任务调试,性能显著优于先进LLM。
2025-07-29 cs.AI cs.SE
The Repeat Offenders: Characterizing and Predicting Extremely Bug-Prone Source Methods
University of Manitoba(曼尼托巴大学)
本研究探讨了极易出错方法的特征和预测挑战,发现这些方法在项目中占比虽小但引发bug的比例大,提出了针对此类方法的改进预测模型方向。
2026-02-27 cs.SE
Debt-Prone Bugs: Technical Debt in Software Maintenance
修复bug是软件开发和维护的一个重要阶段。在实践中,bug修复的过程可能会与发布时间表相冲突。这种冲突导致了软件质量和发布进度之间的权衡,这被称为技术债务隐喻。在这篇文章中,我们提出了债务倾向的错误的概念,在软件维护中的技术债务模型。我们确定了三种类型的债务倾向的错误,即标签错误,重新打开的错误,和重复的错误。对Mozilla进行了案例研究,以检查软件产品中容易产生债务的错误的影响。我们调查债务倾向的错误和产品质量之间的相关性。对于正在开发的产品,我们基于历史产品构建预测模型来预测修复错误的时间成本。结果表明,识别债务倾向的错误可以帮助监控和提高软件质量。
2017-04-16 cs.SE
Leveraging Structural Properties of Source Code Graphs for Just-In-Time Bug Prediction
University of Saskatchewan(萨斯喀彻温大学)
数据可视化最常见的用途是最大限度地减少正确理解的复杂性。图是理解关系数据最常用的表示之一。它产生了一种简化的数据表示,如果以文本格式保存,则很难理解。在这项研究中,我们提出了一种方法来利用源代码的关系属性的形式的图形,以确定在不同版本的软件演化和维护的软件系统中的即时(JIT)错误预测。提出了一种将提交补丁的源代码转换为等价图表示的方法,并将其命名为源代码图(SCG)。为了理解和比较多个源代码图,我们提取了这些图的几个结构属性,如密度,周期数,节点,边缘等,然后我们利用这些SCG的属性值来可视化和检测错误的软件提交。我们处理超过246K的软件提交从12个主题系统在本次调查中。我们对这12个用C++和Java程序设计语言编写的开源软件项目的调查表明,如果我们将SCG的特征与类似研究中使用的传统特征相结合,我们将获得基于机器学习(ML)的错误提交检测模型的性能提高。使用Wilcoxon符号秩检验,我们还发现在预测有缺陷和无缺陷提交时F1分数的增加具有统计学显著性。由于基于SCG的特征值代表了软件系统中源代码更新或更改的风格或结构属性,因此它表明了仔细维护源代码风格或结构以保持软件系统无错误的重要性。
2022-01-25 cs.LG cs.SE
Predicting Bugs' Components via Mining Bug Reports
复杂软件中的bug报告数量急剧增加。现在bug是手动分类的,bug分类或分配是一项劳动密集型和耗时的任务。在不了解软件结构的情况下,测试人员经常错误地指定新bug的组件。同时,故障诊断人员很难仅通过描述来确定故障的组成部分。我们在Eclipse Bug项目中挖掘出28,829个Bug的组件被错误指定并至少修改过一次。这导致这些错误必须重新分配,并延迟了错误修复的过程。错误指定的bug的平均修复时间比正确指定的bug的平均修复时间长。为了自动解决这个问题,我们使用历史的固定的错误报告作为训练语料库,并建立基于支持向量机和朴素贝叶斯分类器来预测一个新的错误的组件。在Eclipse项目的验证语料上,最佳预测准确率达到81.21%。平均而言,我们的预测模型可以为Triagers和开发人员节省大约54.3天的时间来修复bug。关键词:错误报告;错误分类;文本分类;预测模型
2011-04-14 cs.SE
Imitation Game: Reproducing Deep Learning Bugs Leveraging an Intelligent Agent
Dalhousie University(达尔豪斯大学)
RepGen通过智能代理和生成-验证-改进机制,提高了深度学习bug的重现率和效率。
2026-02-26 cs.AI cs.LG cs.SE
Employing Partial Least Squares Regression with Discriminant Analysis for Bug Prediction
本文首次将化学计量学方法偏最小二乘判别分析(PLS-DA)引入软件维护领域,利用静态源代码度量预测Java程序缺陷,实验表明该方法在无需重采样时性能优于现有技术,且训练更快、完整性指标最优。
2020-11-02 cs.SE stat.AP
AssertFlip: Reproducing Bugs via Inversion of LLM-Generated Passing Tests
University of Waterloo(滑铁卢大学)
AssertFlip通过翻转LLM生成的通过测试来复现错误,有效提升错误复现效率。
2026-01-07 cs.SE
Learning Software Bug Reports: A Systematic Literature Review
University of Electronic Science and Technology of China(电子科技大学);University of Leeds(利兹大学);Loughborough University(洛桑大学);IDEAS Lab, University of Birmingham(伯明翰大学IDEAS实验室);Institute for Clarity in Documentation(文档清晰研究所);Inria Paris-Rocquencourt(巴黎-勒克鲁瓦研究所);Rajiv Gandhi University(拉贾·甘地大学);Tsinghua University(清华大学);Palmer Research Laboratories(帕勒研究实验室)
本文通过系统综述204篇论文,总结了机器学习在软件缺陷报告分析中的常用模型、特征表示、预处理方法、评估任务与指标,并指出统计检验不足及未来研究方向。
2025-07-20 cs.AI cs.SE
kAgent: An execution-guided crash resolution agent for the Linux kernel
Department of Computer Science, Columbia University(哥伦比亚大学计算机科学系);Google Inc.(谷歌公司);Google DeepMind(谷歌DeepMind)
研究针对Linux内核崩溃修复难题,以内核开发者修复方式为灵感构建kAgent及支持工具栈,通过检查日志等步骤修复崩溃,消融特性定量分析,评估显示其能有效修复多种崩溃。
2026-07-07 cs.AI cs.OS cs.SE
Comparative Analysis of Quantum and Classical Support Vector Classifiers for Software Bug Prediction: An Exploratory Study
University of Saskatchewan(萨斯喀彻温大学);University of Prince Edward Island(爱德华王子岛大学)
本研究探讨了量子支持向量分类器(QSVC和PQSVC)在14个开源项目中检测有缺陷软件提交的应用,提出数据集划分、预测聚合和增量测试方法以克服量子特征映射挑战,证明了QML在缺陷预测中的有效性。
2025-01-08 cs.LG cs.SE
Towards Understanding the Challenges of Bug Localization in Deep Learning Systems
本文通过大规模实证研究,利用2,365个深度学习缺陷和2,913个传统软件缺陷,系统分析了现有技术在深度学习系统缺陷定位中表现不佳的原因,揭示了缺陷类型和外在特性对定位效果的影响。
2025-07-22 cs.SE
Outrunning LLM Cutoffs: A Live Kernel Crash Resolution Benchmark for All
Columbia University(哥伦比亚大学);New York University(纽约大学);Google Inc.(谷歌公司);Google DeepMind(谷歌DeepMind)
提出Live-kBench和kEnv框架,用于持续评估LLM代理修复新发现的Linux内核崩溃,实验显示代理在截止日期前修复率高出25%,但仅20%的补丁与开发者修复匹配。
2026-06-18 cs.SE
Broccoli: Bug localization with the help of text search engines
错误定位是错误修复过程中的一项繁琐的活动,在此过程中,软件开发人员试图在错误报告中描述的源代码中定位错误。由于这个过程是耗时的,并需要有关软件项目的额外知识,信息检索技术可以帮助缺陷定位过程。在本文中,我们调查,如果正常的文本搜索引擎可以改善现有的错误定位方法。在一个案例研究中,我们评估我们的搜索引擎的方法花椰菜对7个国家的最先进的错误定位算法在两个数据集的82个开源项目的性能。我们的研究结果表明,包括一个搜索引擎可以提高性能的错误定位,它是一个有用的扩展现有的方法。作为我们分析的一部分,我们还暴露了常用基准测试策略中的一个缺陷,即,考虑单个版本的文件。为了增加可检测文件的数量,我们通过考虑错误报告时软件存储库的状态来缓解此缺陷。我们的研究结果表明,使用单一的释放可能会导致低估的预测性能。
2021-10-10 cs.SE