An Empirical Study on Leveraging Images in Automated Bug Report Reproduction
该实证研究聚焦被忽视的缺陷报告图像,分析其特征、模式、功能作用及对现有复现工具的影响,明确六种图像功能的独特价值,为自动化缺陷复现工具优化提供新方向。
2025-02-20 cs.SE
Bridging Bug Localization and Issue Fixing: A Hierarchical Localization Framework Leveraging Large Language Models
该研究提出由三个定制大模型驱动的分层缺陷定位框架BugCerberus,在SWE-bench-lite基准上定位性能超越现有最优水平,还能显著提升问题修复方法的修复率。
2025-02-21 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
READU: Inconsistency-Driven Just-in-Time Detection and Repair of README Bugs
CISPA Helmholtz Center for Information Security(CISPA 赫尔姆霍兹信息安全中心);University of Stuttgart(斯图加特大学)
研究针对仓库级文档 README 错误,提出不一致驱动技术 READU,通过高召回率提交过滤器、并行一致性检查器等方法,能即时检测并修复错误,在六个流行仓库的提交测试中表现良好,检测到多个真阳性并成功修复部分错误。
2026-07-20 cs.SE
Leveraging Static Analysis for Bug Repair
本文结合 sequence-to-sequence 模型与静态分析工具 Infer,在 IR 与源代码空间协同修复资源泄漏缺陷,并通过解码策略与结果过滤实现约 97% 精确率和 66% 召回率。
2023-04-21 cs.SE
Improved Bug Localization with AI Agents Leveraging Hypothesis and Dynamic Cognition
Dalhousie University(达尔豪西大学)
本文提出CogniGent技术,利用AI代理进行因果推理和动态认知调试,提升bug定位的准确性和效率。
2026-02-13 cs.AI cs.IR cs.LG
Improving Compiler Bug Isolation by Leveraging Large Language Models
针对编译器缺陷隔离难题,提出AutoCBI方法,利用大语言模型总结文件功能并重排可疑文件,在GCC和LLVM上显著优于现有方法。
2025-06-21 cs.SE
CUPID: Leveraging ChatGPT for More Accurate Duplicate Bug Report Detection
针对小规模缺陷库中现有方法性能不佳的问题,提出CUPID方法,结合传统REP与ChatGPT,在三个数据集上实现最先进的重复缺陷报告检测性能,Recall Rate@10提升5%-8%。
2024-07-16 cs.SE
PROMFUZZ: Leveraging LLM-Driven and Bug-Oriented Composite Analysis for Detecting Functional Bugs in Smart Contracts
本文提出 PROMFUZZ,通过 LLM 双智能体分析、双阶段不变量生成与面向缺陷的模糊测试检测智能合约功能缺陷,显著提升召回率和 F1,并发现 30 个零日缺陷。
2025-09-28 cs.CR cs.SE
ApacheJIT: A Large Dataset for Just-In-Time Defect Prediction
University of Waterloo(滑铁卢大学)
在本文中,我们介绍了ApacheJIT,一个用于即时缺陷预测的大型数据集。ApacheJIT由流行的Apache项目中的干净的和引起bug的软件更改组成。ApacheJIT总共有106,674次提交(28,239次bug诱导提交和78,435次干净提交)。拥有大量的提交使ApacheJIT成为机器学习模型的合适数据集,特别是需要大型训练集的深度学习模型,以有效地将历史数据中存在的模式推广到未来数据。
2022-04-30 cs.AI cs.LG cs.PL
An Exploratory Study on Just-in-Time Multi-Programming-Language Bug Prediction
本研究针对多编程语言系统缺陷预测缺失的问题,选取指标构建即时多编程语言缺陷预测模型,验证了随机森林的适用性、核心指标的作用及跨项目预测的可行性。
2024-07-15 cs.SE
Deep Learning-based Bug Triage System
OLAS Team INRIA/University of Bologna(INRIA/博洛尼亚大学 OLAS 团队)
本文提出基于RoBERTa-base的自动化缺陷分诊系统,利用深度上下文表示分类缺陷报告,五轮训练内达到0.90准确率,展现高效性能。
2026-09-11 cs.SE
Towards Effective Bug Triage with Towards Effective Bug Triage with Software Data Reduction Techniques
软件公司花费超过45%的成本来处理软件错误。修复bug的一个不可避免的步骤是bug分类,其目的是正确地将开发人员分配给新的bug。为了减少手工工作的时间成本,文本分类技术被应用于进行自动错误分类。在本文中,我们解决的问题,数据减少错误分类,即,如何减少bug数据的规模,提高bug数据的质量。我们结合实例选择和特征选择,同时减少数据规模上的错误维和词维。为了确定应用实例选择和特征选择的顺序,我们从历史错误数据集中提取属性,并为新的错误数据集建立预测模型。我们实证研究的性能数据减少共60万错误报告的两个大型开源项目,即Eclipse和Mozilla。实验结果表明,本文提出的数据约简方法可以有效地减少数据规模,提高错误分类的准确性。我们的工作提供了一种方法,利用数据处理技术,以形成减少和高质量的错误数据在软件开发和维护。
2017-04-16 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
Large Language Models Based JSON Parser Fuzzing for Bug Discovery and Behavioral Analysis
本研究提出利用大语言模型生成测试用例与变异体,对开源JSON解析器开展模糊测试,以发现潜在漏洞并识别、化解不同解析器间的行为差异,提升JSON解析器的可靠性。
2024-10-30 cs.SE
Developer Prioritization in Bug Repositories
开发人员在开发过程中构建所有软件构件。现有的工作已经研究了软件仓库中的社会行为。在最重要的软件存储库之一缺陷存储库中,开发人员创建并更新缺陷报告以支持支持软件开发和维护。然而,以前的工作没有考虑开发人员在错误存储库中的优先级。在本文中,我们解决的问题,开发人员的优先级,其目的是排名的开发人员的贡献。我们主要探索两个方面,即在错误存储库中对开发人员的优先级进行建模,并使用我们的模型辅助预测任务。首先,我们模拟如何分配的优先级的开发人员的基础上的社会网络技术。研究了三个问题,包括开发人员在产品中的排名,随着时间的推移的演变,和嘈杂的评论的容忍度。其次,我们考虑利用开发人员优先级来改进bug存储库中的三个预测任务,即,错误分类、严重性识别和重新打开的错误预测。我们实证研究我们的模型和它的应用程序在Eclipse和Mozilla的错误库的性能。结果表明,开发人员优先级可以提供开发人员优先级的知识,以帮助软件任务,特别是错误分类的任务。
2017-04-16 cs.SE
From Bugs to Benefits: Improving User Stories by Leveraging Crowd Knowledge with CrUISE-AC
针对需求不完整导致软件缺陷的问题,提出完全自动化方法 CrUISE-AC,利用 NLP 和 LLM 集成挖掘问题跟踪器信息,为敏捷用户故事生成额外验收标准,专家评估显示 80-82% 的生成标准能补充相关需求。
2025-05-02 cs.SE
Fuzzing BusyBox: Leveraging LLM and Crash Reuse for Embedded Bug Unearthing
针对嵌入式设备中广泛使用的BusyBox的漏洞问题,提出利用LLM生成目标特定初始种子增强模糊测试、复用相似目标崩溃数据的两种技术,无需传统模糊测试即可在最新BusyBox中发现崩溃,提升嵌入式漏洞检测效率。
2024-03-06 cs.CR cs.SE
Leveraging Large Language Models for Enhancing the Understandability of Generated Unit Tests
Delft University of Technology(代尔夫特理工大学)
本文提出 UTGen,结合基于搜索的软件测试和大语言模型,通过情境化测试数据、改进标识符命名和添加注释来提升自动生成单元测试的可理解性。实验表明,使用 UTGen 测试用例的参与者修复 bug 数量增加 33%,耗时减少 20%。
2024-08-21 cs.AI cs.SE
Fast Changeset-based Bug Localization with BERT
将软件错误自动定位到导致它们的变更集有可能提高软件开发人员的效率并对软件质量产生积极影响。为了促进这种自动化,bug报告必须与源代码更改有效地匹配,即使在用于描述bug的自然语言和开发人员使用的标识符命名实践之间存在显著的词汇差距。为了弥合这一差距,我们需要的技术,能够捕捉到软件工程特定的和项目特定的语义,以检测两种类型的文档之间的相关性,超出了精确的术语匹配。流行的基于transformer的深度学习架构,如BERT,擅长利用上下文信息,因此似乎是该任务的合适候选者。然而,BERT类模型在计算上是昂贵的,这使得它们不能用于响应时间很重要的环境中。在本文中,我们描述了如何使BERT足够快,适用于基于变更集的错误定位。我们还探讨了为此目的使用BERT的几个设计决策,包括如何最好地编码变更集,以及如何将错误报告与单个变更匹配以提高准确性。我们将模型的准确性和性能与非上下文基线(即,向量空间模型)和以前在软件工程中使用的基于BERT的体系结构。我们的评估结果表明,使用建议的BERT模型相比,基线的优势,特别是对于错误报告,缺乏任何提示相关的代码元素。
2022-04-11 cs.SE
When Deep Learning Meets Information Retrieval-based Bug Localization: A Survey
本文综述了61篇利用深度学习的基于信息检索的缺陷定位(IRBL)研究,总结了工作流各阶段的最佳实践,指出DL有效解决了词汇鸿沟和冷启动等问题,并展望了多语言、细粒度及大语言模型应用等未来方向。
2025-04-30 cs.SE
Understanding and Finding JIT Compiler Performance Bugs
The University of Texas at Austin(德克萨斯大学奥斯汀分校)
本文提出了一种轻量级技术,用于自动检测JIT编译器性能错误,并通过Jittery工具发现了12个新错误。
2026-03-06 cs.SE
Utilizing Source Code Syntax Patterns to Detect Bug Inducing Commits using Machine Learning Models
本研究提出从源代码语法模式中提取特征来检测引入缺陷的提交,实验表明该方法在多种机器学习模型上提升了缺陷检测性能,并提供了更好的可解释性。
2022-12-07 cs.SE
Identifying Root Cause of bugs by Capturing Changed Code Lines with Relational Graph Neural Networks
针对缺陷预测中变更代码行缺乏有效图信息整合与语义关系的问题,提出基于关系图卷积网络的RC-Detection方法,通过捕获变更代码行语义关系识别Bug根本原因,在多项指标上显著优于现有方法。
2025-05-02 cs.SE
Continuously Learning Bug Locations
本文提出利用持续学习技术应对概念漂移,在非静态设置下进行缺陷定位,实验表明其性能显著优于深度学习方法,且计算成本更低。
2024-12-15 cs.SE
Progressive Code Integration for Abstractive Bug Report Summarization
Islamic University of Technology(伊斯兰技术大学)
本文提出渐进式代码集成框架,通过整合长代码片段和文本内容,提升基于LLM的bug报告摘要效果,优于现有方法。
2025-11-29 cs.AI cs.CL cs.SE
IBIR: Bug Report driven Fault Injection
软件工程和软件测试的许多研究依赖于基于故障注入的实验研究。然而,故障注入并不经常与模拟真实世界的软件故障相关,因为它“盲目地”注入大量的故障。它仍然确实具有挑战性,注入少数但现实的故障,目标是一个特定的功能,在一个程序。在这项工作中,我们引入IBIR,故障注入工具,通过探索与用户报告的故障相关的变化模式来解决这一挑战。为了注入真实的错误,我们通过重定向错误报告驱动的自动程序修复系统来创建突变体,即,反转其代码转换模板。IBIR在实践中更有吸引力,因为它既不需要深入了解代码也不需要深入了解测试,而只需要了解程序的相关错误报告。因此,我们的方法将故障注入的重点放在功能的缺陷报告。我们通过考虑Defects4J数据集来评估IBIR。实验结果表明,我们的方法优于传统的突变测试进行的故障注入与原始错误的语义相似性,当应用在系统或类级别的粒度,并提供更好的,统计上显着的,测试有效性(故障检测)的估计。此外,当注入100个错误时,IBIR在36%的情况下注入与真实错误耦合的错误,而突变测试中的突变注入不到1%。总的来说,IBIR的目标是真正的功能,并注入现实和多样化的故障。
2020-12-11 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
LDMDroid: Leveraging LLMs for Detecting Data Manipulation Errors in Android Apps
Xiamen University(厦门大学)
本文提出利用LLM开发LDMDroid框架,通过状态感知过程生成UI事件序列以提高数据操纵功能触发成功率,并利用视觉特征识别数据状态变化,有效检测数据操纵错误。
2026-05-09 cs.SE
Automatic Generation of Test Cases based on Bug Reports: a Feasibility Study with Large Language Models
本研究针对现有自动测试生成方法的局限性,探索利用大语言模型以缺陷报告为输入生成复杂场景测试用例的可行性,实验验证了其效果及在故障定位、补丁验证等任务中的实用价值。
2023-10-10 cs.SE
Beep: Fine-grained Fix Localization by Learning to Predict Buggy Code Elements
软件故障定位是指查找代码元素的活动(例如,与软件故障有关的问题。然而,最先进的故障定位技术会产生粗粒度的结果,这可能会阻止手动调试或误导自动修复工具。在这项工作中,我们特别关注代码元素的细粒度标识(即,tokens),我们称之为修复本地化(fix localization)。本文介绍了一种神经网络架构(命名为Beep),它建立在AST路径上,可以预测错误代码元素以及必须应用于修复程序的更改操作。利用CoCoNut数据集中的大量错误和补丁数据,我们训练了一个模型,该模型(1)有效地定位了错误标记,平均第一秩显著高于基于统计的基线和基于机器学习的基线,和(2)有效地预测修复操作员(具有相关联的有缺陷的代码元素),其中Recall@1= 30-45%并且平均第一等级=7-12(由CoCoNut、ManySStuBs 4J和Defects 4J数据集评估)。为了展示细粒度修复本地化如何帮助程序修复,我们将其应用于两个修复管道,其中我们使用代码完成引擎来预测正确的令牌或一组搜索引擎来搜索合适的供体代码。用于程序修复的精确修复定位的关键优势在于其减少了补丁过拟合的机会,补丁过拟合是生成和验证自动程序修复中的挑战:两个修复管道都实现了100%的正确率,即,发现所有生成的补丁都是正确的。此外,准确的修复定位有助于提高程序修复的效率。
2021-11-15 cs.SE
LLM-Based Agents for Identifying Bug-Introducing Commits
MPI-SP(马克斯·普朗克软件系统研究所);CISPA(赛帕信息安全卓越中心)
本文探讨了基于LLM的代理如何通过搜索候选提交提升识别引入缺陷提交的性能,提出了一种简单的代理工作流程,并揭示了代理在搜索中的有效性及对缺陷检测的潜在影响。
2026-09-24 cs.SE
Just-in-Time Catching Test Generation at Meta
Meta Platforms(Meta平台)
元宇宙设计即时捕捉测试生成技术,通过代码变更感知方法提高测试效率,减少假阳性,防止严重故障进入生产。
2026-01-30 cs.AI cs.SE
AgenticSZZ: Temporal Knowledge Graph-Guided Agentic Bug-Inducing Commit Identification
Queen’s University(女王大学)
本文提出AgenticSZZ,利用时间知识图谱改进Bug引发提交识别,通过构建包含时间与结构关系的知识图谱,并结合LLM代理进行图搜索,提升识别精度与效果。
2026-05-07 cs.SE
GraphFuzz: Automated Testing of Graph Algorithm Implementations with Differential Fuzzing and Lightweight Feedback
针对图算法测试输入空间大、代码覆盖引导模糊测试效率低的问题,提出首个面向图算法的反馈引导模糊测试框架GraphFuzz,通过算法特定轻量反馈提升语料多样性,支持黑/灰盒测试,结合差分测试发现12个未知漏洞。
2025-02-21 cs.SE
Confident Learning-based Network for Detecting Bug-Inducing Commits on SZZ with Noisy Labels
Dalian Maritime University(大连海事大学);Liaoning Normal University(辽宁师范大学)
提出BIC-Hunter模型,通过数据去噪组件和语义关系捕获组件,解决SZZ方法中噪声标签和语义连接不足的问题,在三个开源数据集上Recall@1、Recall@2、Recall@3分别提升6.16%、7.13%、5.53%,MFR指标提升8.43%至32.82%。
2026-10-30 cs.SE
RePaCA: Leveraging Reasoning Large Language Models for Static Automated Patch Correctness Assessment
Universidad de Alcalá(阿尔卡拉大学)
RePaCA是利用推理型大语言模型的静态APCA技术,经强化学习微调后在Defects4J测试集上达83.1%准确率,泛化能力优于现有方法,可准确识别过拟合补丁并提升可解释性。
2026-08-03 cs.AI cs.SE
TestExplora: Benchmarking LLMs for Proactive Bug Discovery via Repository-Level Test Generation
Microsoft(微软公司);School of ECE, Peking University(北京大学电子工程学院);Tsinghua University(清华大学);Chinese Academy of Sciences(中国科学院)
TestExplora通过仓库级测试生成评估LLMs在主动bug发现中的能力,揭示了当前模型在复杂交互和代理探索方面的不足。
2026-02-22 cs.CL 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
Refactoring $\neq$ Bug-Inducing: Improving Defect Prediction with Code Change Tactics Analysis
该研究提出 CAT 分析识别代码重构及其传播,修正 JIT-Defects4J 标注并增强六种 JIT-DP 基线,证明忽视重构会显著损害预测性能。
2025-07-25 cs.SE
From Code Generation to Software Testing: AI Copilot with Context-Based RAG
Nanyang Technological University(南洋理工大学);City University of Hong Kong(香港城市大学)
本文将缺陷检测与低缺陷编码统一为有限资源下的减错问题,提出基于上下文 RAG 的自动化测试系统 Copilot for Testing,使缺陷检测与代码库更新同步,并在准确率、覆盖率和用户接受率上取得显著提升。
2025-04-05 cs.AI cs.PL cs.SE
IRJIT: A Simple, Online, Information Retrieval Approach for Just-In-Time Software Defect Prediction
本文提出 IRJIT,利用源代码信息检索和历史提交相似性实现在线、可解释的 JIT-SDP,在 10 个开源数据集上性能可比且速度最高提升 112 倍。
2024-06-12 cs.SE
CircInspect: Integrating Visual Circuit Analysis, Abstraction, and Real-Time Development in Quantum Debugging
本文提出 CircInspect,一款面向 Python 与 PennyLane 量子程序的交互式调试工具,通过断点、实时开发、线路可视化和信息抽象帮助开发者理解并排查量子软件。
2025-09-04 cs.SE
Enhancing IR-based Fault Localization using Large Language Models
针对现有IRFL技术在错误报告分析和查询构建中存在信息丢失的问题,本文提出利用GPT-4等大语言模型对错误报告分类并应用定制查询策略(LLmiRQ),引入对话式查询重构(LLmiRQ+)和学习排序模型,显著提升故障定位性能。
2024-12-04 cs.SE
Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair
Nanjing University of Science and Technology(南京理工大学);State Key Lab. for Novel Software Technology, Nanjing University(南京大学新型软件技术国家重点实验室);School of Computer Science, Wuhan University(武汉大学计算机学院)
提出DEVLoRe框架,融合issue、堆栈跟踪和调试信息等多种软件制品,完成缺陷方法/行定位并生成可通过测试的补丁,在Defects4J v2.0和SWE-bench Lite上优于现有APR方法。
2025-09-29 cs.AI cs.SE
VisualRepair: Dynamic Tool Calling and Region Focusing for Visual Software Issue Repair
The Chinese University of Hong Kong(香港中文大学);Harbin Institute of Technology(哈尔滨工业大学);Singapore Management University(新加坡管理大学)
针对现代软件视觉信息利用难题,提出VisualRepair框架,通过图像类型感知工具调用和动态测试时区域聚焦两模块,在SWE-bench基准测试中性能超现有方法,有效提升自动视觉软件问题修复能力。
2026-07-16 cs.SE
Mining Action Rules for Defect Reduction Planning
Polytechnique Montréal(蒙特利尔理工学院)
本文提出CounterACT,一种无需黑盒模型的反事实行动规则挖掘方法,用于生成缺陷减少计划,在9个软件项目上相比现有方法实现了更高的重叠分数和更好的精确率-召回率权衡,并探索了利用LLM生成可操作的代码编辑。
2024-05-22 cs.LG cs.SE
Leveraging Print Debugging to Improve Code Generation in Large Language Models
Zhejiang University(浙江大学);ByteDance(字节跳动)
针对LLMs处理复杂编程问题性能欠佳的问题,提出基于“打印调试”的上下文学习方法,指导模型插入打印语句并分析日志修复漏洞,在Leetcode问题上效果优于橡皮鸭调试法。
2024-01-10 cs.CL cs.SE
Deep Just-In-Time Inconsistency Detection Between Comments and Source Code
The University of Texas at Austin(德克萨斯大学奥斯汀分校)
自然语言注释传达源代码的关键方面,例如实现、用法以及前置和后置条件。当相应的代码被修改时,如果没有相应地更新注释,就会导致不一致,这会导致混乱和软件错误。在本文中,我们的目标是检测注释是否由于相应代码体的更改而变得不一致,以便及时捕获潜在的不一致,即,在它们被提交到代码库之前。为了实现这一目标,我们开发了一种深度学习方法,可以学习将注释与代码更改相关联。通过对跨越各种评论类型的评论/代码对的大型语料库进行评估,我们表明我们的模型明显优于多个基线。对于外部评估,我们展示了我们的方法的有用性,通过将其与评论更新模型相结合,构建一个更全面的自动评论维护系统,该系统可以根据代码更改检测和解决不一致的评论。
2020-12-26 cs.AI cs.CL cs.LG
Leveraging Models to Reduce Test Cases in Software Repositories
给定一个失败的测试用例,测试用例缩减产生一个更小的测试用例,重现失败。由于使用较小的测试用例进行重复试验和错误,此过程可能非常耗时。目前的技术通过只探索语法上有效的候选项来加速约简,但是它们仍然在语义上无效的候选项上花费大量的精力。在本文中,我们提出了一个模型引导的方法来加快测试用例的减少。该方法训练一个由句法测试用例属性驱动的语义属性模型。通过使用这个模型,我们可以跳过测试,即使是语法上有效的测试用例候选者也不太可能成功。我们评估了这个模型指导下的减少一套14个大型模糊生成的C测试案例,从两个著名的C编译器,GCC和Clang的错误存储库。我们的研究结果表明,平均精度为77%,我们可以减少14%至61%的删除试验的数量。我们观察到与最先进的技术相比,复位时间几何平均提高了30%,同时保持了相似的复位能力。
2021-03-22 cs.SE
Initial and Eventual Software Quality Relating to Continuous Integration in GitHub
对新功能和错误修复的持续需求迫使软件项目缩短周期并更快地交付更新,同时保持软件质量。廉价的虚拟化云计算的可用性通过支持按需持续集成(CI)帮助缩短了时间表。像GitHub这样的平台支持云中的CI。在使用CI的项目中,用户提交拉取请求会触发CI步骤。除了加速构建和测试之外,这还意外地创建了大量构建和测试成功和失败的档案。CI是一个相对较新的现象,这些档案允许对CI进行详细的研究。暴露出多少问题?它们发生在哪里?哪些因素会影响CI失败?CI确定的“初始质量”是否能预测代码中以后会出现多少bug(“最终质量”)?在本文中,我们对这些记录进行了大规模的精细分辨率研究,以更好地了解CI过程,CI失败的性质和预测因素,以及CI失败与代码最终质量的关系。我们发现:a)CI失败似乎集中在几个文件中,就像正常的bug一样; b)CI失败与最终失败的相关性不是很高; c)在pull请求中使用CI并不一定意味着该请求中的代码质量良好。
2016-06-02 cs.SE
What's Wrong with Your Code Generated by Large Language Models? An Extensive Study
Fudan University(复旦大学);Peking University(北京大学);University of North Carolina at Chapel Hill(北卡罗来纳大学教堂山分校);Shanghai Qiji Zhifeng Co., Ltd.(上海启智风科技有限公司);Huazhong University of Science and Technology(华中科技大学)
本研究广泛评估了多个LLM在代码生成基准上的表现,发现其面对复杂问题生成代码成功率低且代码更短更复杂,并提出了错误分类法和无需训练的自我批评迭代方法以提升代码质量。
2025-10-17 cs.CL cs.SE
Evaluating LLM-Based Regression Test Generation
MPI-SP(Max Planck Institute for Software Process Engineering);University of California at Los Angeles(加州大学洛杉矶分校);University of Padua(帕多瓦大学)
研究利用大语言模型为特定程序即时生成回归测试,将其作为机器翻译任务,通过对多个项目测试,反馈导向的零样本原型Cleverest表现良好,还探讨了提交消息对其效果的影响。
2026-07-07 cs.AI cs.SE
An AST-based Code Change Representation and its Performance in Just-in-time Vulnerability Prediction
软件漏洞的存在是软件开发中日益严重的问题。在大多数情况下,当易受攻击的片段被添加到代码库时,期望尽可能早地检测到易受攻击性,优选地以及时的方式。业界很难解决这个问题,因为人工检查成本高昂,而且传统的方法(如基于规则的漏洞检测)不够强大,无法跟上新漏洞出现的步伐。积极研究的机器学习领域可以帮助在这种情况下,模型可以被训练来检测脆弱的模式。然而,机器学习模型只有在数据被适当地表示时才能很好地工作。在我们的工作中,我们提出了一种新的方式来表示源代码中的变化(即代码提交),代码更改树,一种形式,旨在只保留Java源代码的两个抽象语法树之间的差异。我们比较了它在预测代码更改是否会针对多种表示类型引入漏洞方面的有效性,并通过许多机器学习模型作为基线对其进行了评估。评估是在一个新的数据集上完成的,我们使用2阶段数据集生成器方法将其作为我们贡献的一部分。根据我们的评估,我们得出结论,使用代码更改树是一个有效的和有效的选择,以表示源代码的变化,因为它提高了性能。
2023-03-29 cs.SE