Can You Mimic Me? Exploring the Use of Android Record & Replay Tools in Debugging
本文对 Android 记录与重放(R&R)工具在记录和重放非崩溃故障、崩溃 bug 及用户场景中的表现进行了全面实证研究,发现 17% 的场景、38% 的非崩溃 bug 和 44% 的崩溃 bug 无法可靠记录与重放,并指出了未来的改进方向。
2025-04-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
Mining Crash Fix Patterns
在软件开发的生存周期中,开发人员必须修复测试人员或最终用户报告的各种错误。修复bug的效率和有效性对软件的可靠性以及开发团队的生产力有着巨大的影响。软件公司通常在测试和错误修复部门花费大量的资金和人力资源。因此,他们非常希望有一种更好、更可靠的方法来修复bug。为了实现这一目标,有必要深入研究维护良好的、高度流行的软件项目的错误修复特征。在本文中,我们研究了从Eclipse项目中提取的错误修复历史,Eclipse项目是一个维护良好,非常流行的开源项目。在分析了属于三种主要异常类型的36,000多个错误之后,我们能够揭示一些常见的修复类型,这些类型经常用于修复某些类型的程序异常。我们的分析表明,几乎所有属于某个异常的异常都可以通过不到10种修复类型来修复。我们的研究结果表明,软件项目中的大多数错误可以而且应该只通过几个常见的修复模式来修复。
2013-11-11 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
A Study of Using Multimodal LLMs for Non-Crash Functional Bug Detection in Android Apps
针对传统GUI测试难以检测非崩溃功能性(NCF)Bug的问题,本研究实证探索了利用多模态LLM作为测试预言机检测Android应用NCF Bug的有效性,发现其检测率达49%并新发现24个未知Bug,揭示了该方法的潜力与局限。
2024-07-26 cs.SE
Anchor: Locating Android Framework-specific Crashing Faults
Android框架特定的应用程序崩溃很难调试。事实上,Android基于回调的事件驱动机制挑战了为传统Java程序开发的崩溃本地化技术。关键的挑战源于这样一个事实,即错误代码的位置甚至可能没有在堆栈跟踪中列出。例如,我们对来自一个开放基准测试的500个特定于框架的崩溃进行了实证研究,发现37%的崩溃类型与堆栈跟踪之外的错误有关。此外,Android程序是代码和额外代码工件(如Manifest文件)的混合体。任何工件都可能导致应用程序执行失败,这一事实导致需要将本地化目标定位在代码领域之外。在本文中,我们提出了锚,一个两阶段的可疑错误定位建议工具。Anchor专门用于在堆栈跟踪之外查找导致崩溃的错误。Anchor是轻量级的,并且与源代码无关,因为它只需要崩溃消息和apk文件来定位故障。通过交叉验证和野外数据集评估收集的实验结果表明,Anchor在定位Android框架特定的崩溃故障方面是有效的。
2020-08-04 cs.SE
Scalable and Accurate Application-Level Crash-Consistency Testing via Representative Testing
提出代表性测试策略和工具Pathfinder,通过基于更新行为的启发式方法缩减崩溃状态空间,在8个生产就绪系统中发现18个错误,相比现有技术显著提升了可扩展性和覆盖率。
2025-03-03 cs.OS cs.PL cs.SE
LLM-Based Invariant Testing for Software Functional Bugs
Northeastern University(东北大学);University of California, Davis(加州大学戴维斯分校);Southern University of Science and Technology(南方科技大学);The University of Hong Kong(香港大学)
研究针对软件功能缺陷,提出基于大语言模型的LISA不变式测试框架,在API n-gram反馈指导下迭代生成API序列和程序不变式,相比其他方法有更高缺陷检测率和代码覆盖率,能为开发者提供高可信度缺陷候选。
2026-07-22 cs.SE
Fixing 7,400 Bugs for 1$: Cheap Crash-Site Program Repair
本文提出崩溃点修复和模板引导补丁生成方法,实现低成本自动程序修复,结合CodeRover-S将令牌成本降低45.9%,修复率提升至73.5%,并支持本地模型运行。
2025-05-24 cs.CR cs.SE
Agents in the Sandbox: End-to-End Crash Bug Reproduction for Minecraft
Electronics Engineering Department Bilkent University Ankara, Turkey(电子工程系比尔肯特大学安卡拉土耳其);Computer Engineering Department Bilkent University Ankara, Turkey(计算机工程系比尔肯特大学安卡拉土耳其)
本文提出 BugCraft 框架,通过 LLM 和视觉智能体在 Minecraft 中实现端到端崩溃 Bug 自动复现,并构建 BugCraft-Bench 数据集,复现率达 34.9%,超越基线 37%。
2025-10-10 cs.AI cs.SE
Gauntlet: Finding Bugs in Compilers for Programmable Packet Processing
可编程数据包处理设备,如可编程交换机和网络接口卡正在成为主流。这些设备以特定于域的语言(如P4)进行配置,使用编译器将数据包处理程序转换为针对不同目标的指令。随着带有可编程设备的网络的普及,这些编译器的可靠性至关重要。本文考虑在P4-16的上下文中查找用于数据包处理的编译器中的错误的问题。我们引入特定领域的技术,以诱导异常终止的编译器(崩溃错误)和误编译(语义错误)。我们将这些技术应用于(1)开源P4编译器(P4 C)基础设施,它作为不同P4后端的公共基础;(2)P4参考软件交换机的P4后端;以及(3)Barefoot Tofino交换机的P4后端。在3个平台上,经过8个月的bug发现,我们的工具Gauntlet检测到96个新的和不同的bug(62个崩溃和34个语义),我们与各自的编译器开发人员确认了这些bug。54个已经修复(31个崩溃和23个语义);其余的已经分配给开发人员。我们的bug查找工作还导致了6个P4规范的更改。我们在p4gauntlet.github.io上开源了Gauntlet,它现在在P4 C的持续集成管道中运行。
2020-10-25 cs.NI cs.SE
CrashJS: A NodeJS Benchmark for Automated Crash Reproduction
针对 JavaScript 缺乏自动化崩溃复现工具与评测资源的问题,本文提出 CrashJS,提供含 453 个 Node.js 崩溃、覆盖真实与合成测试及多复杂度的基准数据集。
2024-05-09 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
The Impact Of Bug Localization Based on Crash Report Mining: A Developers' Perspective
本文通过18个月、三个团队的实践,评估基于崩溃报告分组的缺陷定位方法,发现开发者选择候选缺陷时考虑多种因素,该方法精确度约80%,并收集了开发者对可疑文件实用性的反馈。
2024-03-16 cs.IR cs.SE
Characterizing and Detecting WebAssembly Runtime Bugs
WebAssembly(缩写为WASM)已经成为一种很有前途的Web语言,也被广泛用于移动应用程序和桌面应用程序等软件应用程序。这些应用程序称为WASM应用程序,通常在WASM运行时中运行。开发人员经常报告WASM运行时中的错误,并导致WASM应用程序崩溃。然而,这些bug还没有得到很好的研究。为了填补知识空白,我们提出了一个系统的研究,以表征和检测WASM运行时的错误。我们首先从GitHub上的数百个相关帖子中收集了311个真实世界的bug。基于收集到的高质量的bug报告,我们提取了WASM运行时的31个bug类别,并总结了它们的常见修复策略。此外,我们开发了一个基于模式的错误检测框架,自动检测WASM运行时中的错误。我们将检测框架应用于五个流行的WASM运行时,并成功发现了53个以前从未报道过的错误,其中14个已被确认,6个已被运行时开发人员修复。
2023-01-28 cs.SE
An Empirical Study of Refactoring Engine Bugs
本文首次系统分析了Eclipse、IntelliJ IDEA和Netbeans三种重构引擎的缺陷,按类型、症状、原因和触发条件归纳出12项发现,并在最新版本中发现130个新缺陷,为缺陷检测与调试提供指导。
2024-09-22 cs.SE
CRANE-LLM: Runtime-Augmented LLMs for Crash Prediction and Diagnosis in ML Notebooks
Linköping University(林雪平大学);University of Murcia(穆尔西亚大学)
CRANE-LLM通过整合运行时信息提升ML笔记本崩溃检测与诊断的准确性与F1分数。
2026-08-25 cs.SE
Finding the Needle in the Crash Stack: Industrial-Scale Crash Root Cause Localization with AutoCrashFL
本文提出 AutoCrashFL,一个仅需崩溃转储和源码仓库的 LLM 智能体,用于工业软件崩溃根因定位,在 SAP HANA 上首位定位率达 30%,优于基线 17%。
2025-10-26 cs.SE
Enhancing Code Review through Fuzzing and Likely Invariants
FuzzSight利用非崩溃模糊输入的可能不变量,突出代码版本间行为差异,以标记回归缺陷和漏洞,在审查中实现高检测率与低误报。
2025-10-17 cs.SE
PanicFI: An Infrastructure for Fixing Panic Bugs in Real-World Rust Programs
针对Rust程序panic缺陷修复难的问题,提出PanicFI基础设施,构建含102个真实缺陷的Panic4R数据集,挖掘Rust特有修复模式,开发首款自动化修复工具PanicKiller,已修复28个开源缺陷,验证了模式有效性。
2024-11-04 cs.SE
Detecting Rendering Bugs in Imperative Data Visualization Libraries via Equivalent Mutations
Hong Kong University of Science and Technology(香港科技大学);Monash University(蒙纳士大学)
研究命令式数据可视化库渲染错误难检测问题,提出 VIZDETOUR 方法,通过将预言机问题转化为等价性检查,利用构建渲染树等方式生成变异序列,经感知哈希比较输出,有效发现多个未知渲染错误。
2026-07-17 cs.SE
ResolverFuzz: Automated Discovery of DNS Resolver Vulnerabilities with Query-Response Fuzzing
针对DNS解析器漏洞检测难的问题,提出聚焦短查询-响应序列、结合PCFG输入生成与字节级变异、用差分测试聚类识别非崩溃漏洞的ResolverFuzz系统,在主流DNS软件中发现23个漏洞,19个已确认修复,15个获CVE编号。
2023-10-04 cs.CR cs.NI cs.SE
Finding Cross-rule Optimization Bugs in Datalog Engines
本文提出增量规则求值方法 IRE 及工具 Deopt,通过对比优化前后 Datalog 程序结果来检测跨规则优化缺陷,在四个成熟引擎中发现 30 个缺陷,并显著提升有效测试用例生成效率。
2024-02-20 cs.SE
Detecting Optimization Bugs in Database Engines via Non-Optimizing Reference Engine Construction
数据库管理系统(DBMS)被广泛使用。为了有效地访问数据,他们应用了复杂的优化。不正确的优化可能会导致逻辑错误,从而导致查询计算出不正确的结果集。我们提出了非优化引用引擎构造(NoREC),一种全自动的方法来检测DBMS中的优化错误。从概念上讲,这种方法旨在通过优化和非优化版本的DBMS来评估查询,然后检测它们返回的结果集中的差异,这将表明DBMS中存在错误。获得DBMS的非优化版本是具有挑战性的,因为DBMS通常对优化提供有限的控制。我们的核心见解是,一个给定的,潜在的随机生成的优化查询可以重写为一个DBMS不能优化。评估该未优化的查询有效地对应于执行原始查询的非优化引用引擎。我们在四个广泛使用的DBMS上进行了广泛的测试活动,即PostgreSQL,MariaDB,SQLite和CockroachDB。我们在这些系统的最新版本中发现了159个以前未知的错误,其中141个已经被开发人员修复。其中,51个是优化错误,其余的是错误和崩溃错误。我们的研究结果表明,NoREC是有效的,通用的,需要很少的实施工作,这使得该技术在实践中广泛适用。
2020-07-16 cs.DB cs.SE
GraphFuzz: Automated Testing of Graph Algorithm Implementations with Differential Fuzzing and Lightweight Feedback
针对图算法测试输入空间大、代码覆盖引导模糊测试效率低的问题,提出首个面向图算法的反馈引导模糊测试框架GraphFuzz,通过算法特定轻量反馈提升语料多样性,支持黑/灰盒测试,结合差分测试发现12个未知漏洞。
2025-02-21 cs.SE
RotDroid: Cross-Orientation State Equivalence Testing for Detecting GUI Rotation Bugs in Android Apps
Beihang University(北京航空航天大学)
RotDroid是一款检测Android应用GUI旋转漏洞的测试框架,通过生成SPS、构建RotBench数据集及开发RotVL模型,在相同预算下比现有技术检测到更多旋转故障,还发现94个未知漏洞且47个被确认修复。
2026-08-27 cs.AI cs.SE
DESIL: Detecting Silent Bugs in MLIR Compiler Infrastructure
本文提出 DESIL,一种针对 MLIR 编译器基础设施的静默 Bug 检测方法,通过定义 UB 消除规则生成无 UB 程序、设计 lowering 路径优化策略并结合差分测试,成功检测出 23 个静默 Bug 和 19 个崩溃 Bug。
2025-04-02 cs.SE
Silent Bugs in Deep Learning Frameworks: An Empirical Study of Keras and TensorFlow
Polytechnique Montreal(蒙特利尔理工学院)
本研究首次实证调查Keras与TensorFlow中的静默缺陷,通过分析1168个问题识别出77个可复现缺陷,分类并评估其影响,提出防护指南。
2023-09-01 cs.LG cs.SE
Automatically Detecting Numerical Instability in Machine Learning Applications via Soft Assertions
本文提出软断言方法,通过自动训练的ML模型编码数值不稳定条件,引导输入变异以触发错误,在GRIST和真实应用中有效检测数值错误。
2025-04-23 cs.SE
Practical Non-Intrusive GUI Exploration Testing with Visual-based Robotic Arms
Nanjing University(南京大学);ETH Zurich(苏黎世联邦理工学院)
针对现有侵入式GUI测试框架适配性差、操作不灵活、检测缺陷类型单一的问题,提出基于4-DOF视觉机械臂的RoboTest框架,可自适应多尺寸屏幕、灵活模拟操作、检测兼容性缺陷,在20款移动应用及嵌入式系统案例中验证了有效性与高效性。
2023-12-17 cs.RO cs.SE
Fuzzm: Finding Memory Bugs through Binary-Only Instrumentation and Fuzzing of WebAssembly
WebAssembly二进制文件通常是从内存不安全的语言(如C和C++)编译的。由于WebAssembly的线性内存和缺少保护功能,例如,堆栈金丝雀,源代码级内存漏洞可在编译的WebAssembly二进制文件中利用,有时甚至比本机代码更容易。本文解决了通过WebAssembly的第一个仅二进制模糊器检测此类漏洞的问题。我们的方法,称为Fuzzm,结合金丝雀仪器检测堆栈和堆上的溢出和下溢,一个有效的覆盖仪器,一个WebAssembly VM,和流行的AFL模糊的输入生成算法。除了作为模糊的预言机,我们的金丝雀还作为一个独立的二进制硬化技术,以防止在生产中利用脆弱的二进制文件。我们用28个真实的WebAssembly二进制文件来评估Fuzzm,其中一些是从源代码编译的,另一些是在没有源代码的情况下发现的。模糊器探索数千条执行路径,触发数十次崩溃,每秒执行数百次程序执行。当用于二进制加固时,该方法可以防止以前发布的针对易受攻击的WebAssembly二进制文件的漏洞,同时降低运行时开销。
2021-10-28 cs.CR cs.SE
Does Programming Language Matter? An Empirical Study of Fuzzing Bug Detection
Nara Institute of Science and Technology(奈良先端科学技术大学院大学);The University of Osaka(大阪大学);Nara Women’s University(奈良女子大学)
本研究通过大规模跨语言分析,揭示了编程语言对模糊测试漏洞检测效率和特性的影响,为语言感知的模糊测试策略提供依据。
2026-02-05 cs.SE
QuSema: Detecting Silent Bugs in Quantum Libraries via Quantum-knowledge-enhanced Agents
Nanyang Technological University(南洋理工大学);Hong Kong University of Science and Technology(香港科技大学);Zhejiang University of Technology(浙江工业大学)
QuSema是一个利用量子语义和文档作为预言机的自主测试智能体,通过智能体循环检测量子库中的静默缺陷,在基准上优于现有工具并发现多个新缺陷。
2026-10-08 cs.AI cs.SE quant-ph
UBfuzz: Finding Bugs in Sanitizer Implementations
本文提出测试框架 UBfuzz,通过生成含未定义行为的程序并利用 crash-site mapping 测试预言机进行差分测试,在 GCC 和 LLVM sanitizers 中发现 31 个 bug,揭示了 sanitizer 的假阴性问题。
2024-01-09 cs.CR cs.PL cs.SE
SoK: From Finding to Deployment: Systematizing the OS Kernel Bug Lifecycle
University of Illinois Chicago(伊利诺伊大学芝加哥分校);Indiana University Bloomington(印第安纳大学布鲁明顿分校)
本SoK系统化Linux内核缺陷从发现到部署的生命周期,划分五个阶段,通过测量syzbot修复缺陷揭示崩溃到补丁差距的结构性原因,指出修复技术应把复现器等产物视为输出而非前提。
2026-09-22 cs.CR cs.OS cs.SE
LSPFuzz: Hunting Bugs in Language Servers
The Hong Kong University of Science and Technology(香港科技大学);University of Auckland(奥克兰大学);McGill University(麦吉尔大学);Southern University of Science and Technology(南方科技大学)
LSPFuzz通过系统性测试方法发现LSP服务器中的漏洞,提升代码智能工具的可靠性。
2025-10-02 cs.CR cs.SE
A Set-Theoretic Approach to Detecting Logic Bugs in DBMS Inner Join Optimizations
East China Normal University(华东师范大学);Digital Technologies, Ant Group(蚂蚁集团数字技术);Tsinghua University(清华大学)
提出基于集合论的蜕变测试方法,通过交集运算和三种语义保持变换规则生成等价查询,比较结果发现DBMS优化器逻辑错误,在主流系统中发现29个新问题。
2026-06-26 cs.DB cs.SE
QEMI: A Quantum Software Stacks Testing Framework via Equivalence Modulo Inputs
Kyushu University(九州大学);Zhejiang University(浙江大学)
QEMI通过输入等价性技术,提出了一种用于量子软件堆栈的测试方法,能够检测潜在的错误并扩展测试技术。
2026-02-10 cs.SE
FeatureFuzz: Treating Bug-prone Features as Core Primitives for Compiler Fuzzing
State Key Laboratory of Novel Software Technology, Nanjing University(南京大学软件新技术国家重点实验室);Institute of Dataspace, Hefei Comprehensive National Science Center(合肥综合性国家科学中心数据空间研究所);Honor Device Co., Ltd(荣耀终端有限公司)
FeatureFuzz通过语义逻辑重组发现编译器缺陷,有效提升模糊测试的多样性与发现能力。
2026-10-19 cs.SE
Debugging Memory Issues In Embedded Linux: A Case Study
检测表示检测程序中意外可观察行为的根本原因的过程,例如程序崩溃、产生意外输出值或断言违规。排除程序错误是一项困难的任务,并且在软件开发生存周期中经常花费大量的时间。在嵌入式软件的背景下,bug的概率相当高。由于嵌入式软件要求低代码大小和更少的资源消耗,因此通常在开发期间消除大量的健全性检查。这导致在运行时间在生产代码中发现错误的可能性很高。在本文中,我们提出了一种方法来调试BusyBox,Linux在嵌入式系统中的事实标准的错误。我们的方法工作在Valgrind,一个流行的内存错误检测器和Daikon,一个不变的分析。我们在BusyBox中实验了两个已发表的错误,并在本文中报告了我们的发现。
2012-08-02 cs.SE
DebugHarness: Emulating Human Dynamic Debugging for Autonomous Program Repair
State Key Laboratory for Novel Software Technology, Nanjing University(南京大学新型软件技术国家重点实验室)
DebugHarness通过模拟人类动态调试过程,利用LLM实现复杂漏洞的自动修复,其动态调试方法在SEC-bench数据集上实现了90%的修复率,比现有方法提升30%以上。
2026-04-04 cs.SE
CodeMechanic: Bug-Property-Guided Program Mitigation
EPFL(洛桑联邦理工学院);Meta;Google(谷歌)
本文提出CodeMechanic系统,通过重构内存安全属性、插入故障停止保护等方法,在101个ARVO漏洞上生成更多合理且语义等价的补丁,同时降低token使用量。
2026-08-25 cs.CR cs.SE
Rely-guarantee Reasoning about Concurrent Memory Management: Correctness, Safety and Security
本文首次对 Zephyr RTOS 并发内存管理进行形式化规范与机械化证明,扩展 PiCore 框架以验证完整性,并在功能验证中发现 C 实现中的三个缺陷。
2023-09-17 cs.SE
Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation
The University of Melbourne(墨尔本大学)
提出FLAMES,一种语义引导补丁生成的大语言模型程序修复技术,通过贪婪解码和最佳优先搜索降低内存消耗83%,并在Defects4J上多修复10个错误。
2025-10-17 cs.AI cs.SE
ChatDBG: Augmenting Debugging with Large Language Models
University of Massachusetts Amherst(马萨诸塞大学阿默斯特分校);Amazon Web Services(亚马逊网络服务);Williams College(威廉姆斯学院)
ChatDBG是一个集成大型语言模型的AI调试助手,通过与调试器协作对话,实现根因分析、错误解释和自动修复,显著提升调试效率,单次查询修复率达67%。
2025-06-19 cs.AI cs.LG cs.PL