Efficient Fuzz Testing for Apache Spark Using Framework Abstraction
新兴的数据密集型应用程序越来越依赖于数据密集型可扩展计算(DISC)系统,如Apache Spark,以处理大数据。尽管它们很受欢迎,但DISC应用程序很难测试。近年来,模糊测试取得了显著的成功;然而,将这种传统模糊测试直接应用于大数据分析并非易事,因为:(1)DISC系统的长延迟禁止了模糊测试的适用性,以及(2)常规分支覆盖不太可能从DISC框架实现中识别应用逻辑。我们设计了一种新的模糊测试工具BigFuzz,它可以自动为Apache Spark程序的输入生成具体的数据。我们的方法的关键本质是,我们抽象的可执行规范的DISC框架的可执行的行为,我们设计的模式感知突变的基础上,在DISC应用程序中常见的错误类型。我们的实验表明,与随机模糊相比,BigFuzz能够将模糊时间加快1477倍,将应用程序代码覆盖率提高271%,并在检测应用程序错误方面实现157%的提高。BigFuzz的演示视频可在https://www.youtube.com/watch?上获得v=YvYQISILQHs&feature= youtu.be.
2021-03-08 cs.SE
A Feature-Oriented Corpus for Understanding, Evaluating and Improving Fuzz Testing
Fuzzing是一种很有前途的安全漏洞检测技术。新开发的模糊器通常根据在易受攻击的程序/二进制文件上发现的错误数量进行评估。然而,现有的语料库通常不捕捉的功能,防止模糊发现错误,导致模糊的利弊评价的结论。一个典型的例子是,Driller比AFL检测到更多的错误,但它的评估无法确定Driller的进步是否源于concolic执行,因为,例如,它在解决数据集的魔法值方面的能力尚不清楚。在本文中,我们提出了解决上述问题的基础上产生语料库的搜索阻碍功能。作为概念验证,我们设计了FEData,这是一个原型语料库,目前专注于四个搜索阻碍功能,以生成用于模糊测试的易受攻击程序。与现有的只能回答“如何”的语料库不同,FEData还可以通过暴露(或理解)模糊器中已识别弱点的原因来进一步回答“为什么”。“为什么”信息是改进模糊器的关键。
2019-05-04 cs.SE
BASFuzz: Towards Robustness Evaluation of LLM-based NLP Software via Automated Fuzz Testing
BASFuzz提出一种面向基于LLM的NLP软件的自动化模糊测试方法,通过文本一致性引导变异、Beam-Annealing Search算法及信息熵自适应策略,在六个数据集上实现90.335%测试有效性并显著降低时间开销。
2025-09-22 cs.SE
The Relevance of Classic Fuzz Testing: Have We Solved This One?
模糊测试已经走过了它的30周年,面对模糊测试技术和工具令人难以置信的进步,问题出现了,如果经典的,基本的模糊技术仍然是有用的和适用的?在这个传统中,我们更新了基本的模糊工具和测试脚本,并将它们应用于Linux,FreeBSD和MacOS上的大量Unix实用程序。和以前一样,我们的失败标准是程序是否崩溃或挂起。我们发现Linux上的74个实用程序中有9个崩溃或挂起,FreeBSD上的78个实用程序中有15个,MacOS上的76个实用程序中有12个。三个平台上共有24个不同的公用事业失败。我们注意到,这些失败率比我们在1995年、2000年和2006年对命令行实用程序可靠性的研究要高一些。在基本的模糊传统中,我们调试每个失败的实用程序,并对失败的原因进行分类。经典的失败类别,如指针和数组错误以及不检查返回码,仍然广泛存在于当前的结果中。此外,我们发现出现了几种新的故障类别。我们提出了这些失败的例子来说明允许它们发生的编程实践。顺便说一下,我们测试了现代程序设计语言(Rust)中有限的实用程序,发现它们的可靠性并不比标准的好。
2021-01-04 cs.SE
ct-fuzz: Fuzzing for Timing Leaks
基于测试的方法,如模糊能够分析复杂的软件,这是不服从传统的形式化方法,如验证,模型检验,抽象解释。尽管在许多流行的软件项目中暴露了无数的安全漏洞,但基于测试的方法的应用主要针对检查传统的安全属性,如内存安全。虽然这类属性无疑很重要,但它并不能精确地表征其他重要的安全方面,如信息泄漏,例如,通过侧通道。在这项工作中,我们扩展了基于测试的软件分析方法的两个安全属性,这使得复杂的软件中的信息泄漏的精确发现。特别是,我们提出了ct-fuzzz工具,它使覆盖率指导灰盒模糊检测两个安全属性违规的能力。我们的方法是能够暴露违反任何两个安全属性表示为两个程序的痕迹之间的平等。从经验上讲,我们证明了ct-fuzz迅速揭示流行的加密实现中的时间泄漏。
2019-04-15 cs.SE
Improve Model Testing by Integrating Bounded Model Checking and Coverage Guided Fuzzing
由Simulink或Ptolemy建立的控制逻辑模型在工业现场得到了广泛的应用。保证控制逻辑模型的安全性和可靠性是一个迫切需要解决的问题。测试用例生成技术被广泛应用于保证软件的安全性和可靠性。最先进的模型测试工具采用模型检验技术或基于搜索的方法来生成测试用例。传统的基于Simulink仿真的搜索技术存在速度慢、开销大等问题。传统的模型检验技术如符号执行在处理非线性元素和复杂循环时性能有限。最近,覆盖率引导模糊技术被认为是有效的测试用例生成,由于其高效率和令人印象深刻的效果,在复杂的分支循环。在本文中,我们应用模糊方法来改善模型测试,并证明了有效性。模糊化方法旨在通过变异有价值的种子来覆盖更多的程序分支。受此启发,我们提出了一种新的集成技术SPsCGF,它利用有界模型检验的符号执行,产生测试用例作为初始种子,然后进行模糊的基础上,这些有价值的种子。以这种方式,我们的工作结合了模型检验方法和模糊技术的优点,在一个新的方式。由于控制逻辑模型总是接收信号输入,因此我们专门为信号设计了新型变异算子,以改进模型测试中现有的模糊方法。在由工业案例组成的评估基准上,SPsCGF可以实现8%到38%的模型覆盖率和3倍到10倍的时间效率。
2022-11-09 cs.SE
Large Language Models for Fuzz Testing in Microservices: A Systematic Literature Review
University of Helsinki(赫尔辛基大学);Free University of Bozen-Bolzano(博尔扎诺自由大学)
本文通过系统文献综述分析20项研究,发现LLM主要用作微服务黑盒模糊测试的语义输入生成器,可提升输入有效性与测试效果,但存在评估异质性等挑战,为相关设计部署提供支撑。
2026-09-07 cs.SE
DLFuzz: Differential Fuzzing Testing of Deep Learning Systems
深度学习(DL)系统越来越多地应用于安全关键领域,如自动驾驶汽车。保证DL系统的可靠性和鲁棒性具有重要意义。现有的神经元测试方法往往无法包含测试数据集中的稀有输入,并且神经元覆盖率较低。在本文中,我们提出了DLFuzz,第一个差分模糊测试框架,以指导DL系统暴露不正确的行为。DLFuzz不断对输入进行细微的变异,以最大化神经元覆盖率以及原始输入和变异输入之间的预测差异,而无需手动标记工作或交叉引用具有相同功能的其他DL系统的预言机。我们提出了两个著名的数据集的实证评估,以证明其效率。与最先进的深度学习白盒测试框架DeepXplore相比,DLFuzz不需要额外的努力来寻找类似的功能性深度学习系统进行交叉引用检查,但可以生成多338.59%的对抗性输入,同时具有89.82%的小扰动,平均获得高2.86%的神经元覆盖率,节省20.11%的时间消耗。
2018-08-28 cs.SE
Human in the Loop for Fuzz Testing: Literature Review and the Road Ahead
Singapore Management University(新加坡管理大学);Nanyang Technological University(南洋理工大学);Tianjin University(天津大学)
本文综述了人机协同模糊测试的研究现状,提出未来研究方向,强调可视化技术、实时干预和人机协作的重要性,旨在提升模糊测试效率。
2026-03-12 cs.HC cs.SE
Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
深度学习(DL)技术在许多具有挑战性的任务中被证明是有效的,并在实践中被广泛采用。然而,以前的工作表明,DL库,构建和执行DL模型的基础,包含错误,并可能导致严重的后果。不幸的是,现有的测试方法仍然不能全面地测试DL库。它们利用现有的训练模型,只在模型推理阶段检测错误。在这项工作中,我们提出松饼来解决这些问题。为此,Muffin应用了一种专门设计的模型模糊方法,该方法允许它生成不同的DL模型来探索目标库,而不是仅依赖于现有的训练模型。Muffin通过定制一组度量标准来测量不同DL库之间的不一致性,从而在模型训练阶段实现了差异测试。通过这种方式,Muffin可以最好地运用库代码来检测更多的bug。为了评估Muffin的有效性,我们对三个广泛使用的DL库进行了实验。结果表明,Muffin可以在流行的DL库的最新版本中检测到39个新错误,包括Tensorflow,CNTK和Theano。
2022-05-09 cs.SE
VLM-Fuzz: Vision Language Model Assisted Recursive Depth-first Search Exploration for Effective UI Testing of Android Apps
针对Android应用UI测试中代码覆盖率低的问题,提出VLM-Fuzz方法,结合视觉语言模型辅助启发式DFS算法,提升了代码覆盖率并检测出24个应用中的208个崩溃。
2025-04-16 cs.SE
Testing SSD Firmware with State Data-Aware Fuzzing: Accelerating Coverage in Nondeterministic I/O Environments
针对SSD固件在非确定性I/O环境下传统测试覆盖率提升缓慢的问题,提出状态数据感知模糊测试方法,利用内部状态引导输入生成,实验证明在保持相同覆盖率和缺陷检测能力的同时可减少约67%的命令开销。
2025-05-05 cs.SE
FuzzSplore: Visualizing Feedback-Driven Fuzzing Techniques
模糊测试技术是当前针对安全问题的软件测试的发展趋势。它们的巨大有效性吸引了研究人员和黑客的注意,并使他们参与开发许多新技术来改进模糊测试。这些技术的评价和交叉比较几乎是一个开放的问题。在本文中,我们提出了一个人驱动的方法来解决这个问题的基础上信息可视化。我们在AFL++模糊框架FuzzSplore上开发了一个原型,分析师可以使用它来获得有关应用于特定目标的不同模糊配置的有用见解,以便在模糊活动期间选择或调整最佳技术。
2021-02-06 cs.CR cs.SE
CoCoFuzzing: Testing Neural Code Models with Coverage-Guided Fuzzing
基于深度学习的代码处理模型在预测方法名称、总结程序和注释生成等任务上表现出了良好的性能。然而,尽管取得了巨大的进步,但深度学习模型往往容易受到对抗攻击,这可能会导致这些模型对意外输入的错误分类,从而严重威胁到这些模型的鲁棒性和可推广性。为了解决上述问题,已经提出了许多深度学习测试方法,然而,这些方法主要集中在测试图像、音频和文本分析等领域中的深度学习应用,由于程序的独特性质,其不能直接应用于神经模型以用于代码。在本文中,我们提出了一个基于覆盖率的模糊框架CoCoFuzzing,用于测试基于深度学习的代码处理模型。特别是,我们首先提出了十个变异算子自动生成有效的和语义保持源代码的例子作为测试,然后我们提出了一个基于神经元覆盖的方法来指导测试的生成。我们研究了CoCoFuzzing在三种最先进的神经代码模型上的性能,即,NeuralCodeSum、CODE2SEQ和CODE2VEC。我们的实验结果表明,CoCoFuzzing可以生成有效的和语义保留的源代码的例子,用于测试这些模型的鲁棒性和泛化能力,并提高神经元的覆盖率。此外,这些测试可用于通过对抗性再训练来提高目标神经代码模型的性能。
2021-06-17 cs.SE
QuanFuzz: Fuzz Testing of Quantum Program
目前,量子程序得到了广泛的应用和迅速的发展.然而,缺乏测试方法限制了它们的质量。与传统程序不同的输入格式和运算符使得这个问题很难解决。在本文中,我们提出了QuanFuzz,一个基于搜索的测试输入生成器的量子程序。我们定义了量子敏感信息来评估量子程序的测试输入,并使用矩阵生成器来生成具有更高覆盖率的测试用例。首先,我们从量子源代码中提取量子敏感信息--对这些量子寄存器的测量操作以及与这些测量结果相关联的敏感分支。然后,我们使用敏感信息引导的算法变异的初始输入矩阵,并选择那些提高量子寄存器的值的概率权重的矩阵来触发敏感分支。该进程一直迭代,直到敏感分支被触发。我们在基准测试上测试了QuanFuzz,与传统的测试输入生成相比,覆盖率提高了20% - 60%。
2018-10-16 cs.SE
Free Lunch for Testing: Fuzzing Deep-Learning Libraries from Open Source
深度学习(DL)系统可以让我们的生活变得更加轻松,因此越来越受到学术界和工业界的关注。同时,DL系统中的错误可能是灾难性的,甚至可能在安全关键应用中威胁到人类生命。迄今为止,大量的研究工作一直致力于测试DL模型。然而,有趣的是,测试底层DL库的工作仍然有限,这些库是构建、优化和运行DL模型的基础。一个潜在的原因是,底层DL库的测试生成可能相当具有挑战性,因为它们的公共API主要在Python中公开,由于动态类型,甚至很难自动确定API输入参数类型。在本文中,我们提出了FreeFuzz,第一种通过从开源中挖掘来模糊DL库的方法。更具体地说,FreeFuzz从三个不同的来源获得代码/模型:1)来自库文档的代码片段,2)库开发人员测试,以及3)野生的DL模型。然后,FreeFuzz自动运行所有收集的代码/模型,并使用插装来跟踪每个覆盖的API的动态信息,包括调用期间每个参数的类型和值,以及输入/输出张量的形状。最后,FreeFuzz将利用跟踪的动态信息对每个覆盖的API执行模糊测试。在PyTorch和TensorFlow这两个最流行的DL库上对FreeFuzz进行的广泛研究表明,FreeFuzz能够自动跟踪模糊1158个流行API的有效动态信息,比最先进的LEMON多9倍,开销比LEMON低3.5倍。到目前为止,FreeFuzz已经检测到PyTorch和TensorFlow的49个bug…
2022-02-25 cs.SE
Testing Deep Learning Library APIs via Cross-Framework Differential Fuzzing
The University of Queensland(昆士兰大学)
本文提出跨框架差分模糊测试方法Xamt,用于测试7个深度学习库的API,构建676个经验证的API组,识别出72个差异案例,其中25份已被开发者确认并修复。
2026-10-30 cs.SE
LLMs are All You Need? Improving Fuzz Testing for MOJO with Large Language Models
School of Electrical and Computer Engineering, University of Sydney(悉尼大学电气与计算机工程学院)
针对新兴语言MOJO缺乏测试框架和语料库导致LLM幻觉降低模糊测试效果的问题,提出首个基于LLM的自适应模糊测试框架MOJOFuzzer,通过多阶段过滤和运行时反馈迭代变异,显著提升了测试有效性及覆盖率,并发现13个未知错误。
2025-10-11 cs.AI cs.SE
Large Language Models are Edge-Case Fuzzers: Testing Deep Learning Libraries via FuzzGPT
本文提出 FuzzGPT 技术,通过微调和上下文学习引导大型语言模型合成异常程序以进行模糊测试,在 PyTorch 和 TensorFlow 上检测出 76 个漏洞,大幅超越 TitanFuzz。
2023-04-04 cs.SE
Reinforcement learning guided fuzz testing for a browser's HTML rendering engine
University of Glasgow(格拉斯哥大学)
本文首次将训练好的测试用例生成深度学习模型与双重深度Q网络(DDQN)相结合,基于代码覆盖率信号引导测试用例创建,使Firefox HTML渲染引擎的代码覆盖率较基线语法模糊测试器提升了多达18.5%。
2023-07-27 cs.AI cs.SE
Enhancing Fuzz Testing Efficiency through Automated Fuzz Target Generation
Faculty of Information Technology, Ton Duc Thang University(信息科技学院,通德盛大学)
本文提出通过静态分析库源代码自动提升模糊测试效率,重点在于自动化生成模糊目标并优化执行分析过程。
2026-01-17 cs.CR cs.SE
Program State Abstraction for Feedback-Driven Fuzz Testing using Likely Invariants
近年来,模糊测试在发现软件缺陷方面取得了巨大的成功,但仍存在一些问题。覆盖引导的模糊器遭受覆盖程序点并不能确保触发故障的事实。理论上应该处理这个问题的其他更敏感的技术,如内存值的覆盖,容易导致路径爆炸。在这篇论文中,我们提出了一个新的反馈驱动的模糊测试,结合了代码覆盖率与数据的“形状”。我们学习每个基本块的可能不变量,以便将块中使用的变量所描述的空间划分为区域。我们的目标是在反馈中区分一个块何时被执行,其值落在空间的不同区域。这更好地近似程序状态覆盖率,并在某些目标上,提高了模糊器查找故障的能力。我们使用LLVM和AFL++开发了一个名为InvsCov的原型。
2020-12-21 cs.CR cs.SE
Context-Aware Fuzzing for Robustness Enhancement of Deep Learning Models
针对深度学习模型鲁棒性增强,提出基于上下文置信度指标的模糊测试技术Clover,通过考虑周围样本和种子间差异生成对抗样本,以提升测试-重训练流水线的有效性。
2024-07-17 cs.SE
Fuzz Smarter, Not Harder: Towards Greener Fuzzing with GreenAFL
针对传统模糊测试能耗高、碳足迹大的问题,提出能源感知框架GreenAFL,通过功耗感知的语料库最小化与能源引导变异启发式,在保持覆盖率的同时降低能耗,实现更绿色的模糊测试。
2025-10-29 cs.SE
FMViz: Visualizing Tests Generated by AFL at the Byte-level
软件模糊测试是一种强有力的测试技术,已经成为工业界自动化软件测试和软件漏洞检测的事实上的方法。模糊的随机性使得监控和理解模糊器的行为变得困难。在本文中,我们报告了模糊突变可视化工具(FMViz)的开发,该工具专注于可视化模糊器中的字节级突变。特别是,FMViz扩展了美国模糊Lop(AFL),以可视化生成的测试输入,并突出显示连续生成的种子之间的变化,作为一个模糊活动的进展。我们的工具的首要目标是帮助开发人员和学生更好地理解AFL模糊器的内部工作原理。在本文中,我们提出了FMViz的体系结构,讨论了它的一个示例案例研究,并概述了未来的工作。FMViz是开源的,可在https://github.com/AftabHussain/afl-test-viz上公开获取。
2021-12-25 cs.SE
Adaptive Grey-Box Fuzz-Testing with Thompson Sampling
Bloomberg(彭博)
模糊测试或“模糊”是指广泛部署的一类技术,用于通过生成一组输入来测试程序,以明确地找到错误和识别安全缺陷。灰盒模糊是最流行的模糊检测策略,它结合了轻量级程序插装和数据驱动过程来生成新的程序输入。在这项工作中,我们提出了一个机器学习的方法,建立在AFL,卓越的灰箱模糊,通过自适应学习概率分布在其变异算子的程序特定的基础上。这些操作员,这是随机选择均匀的AFL和突变模糊一般,决定如何产生新的输入,模糊的功效的核心部分。我们的主要贡献是两方面的:首先,我们表明,从训练计划中估计的突变算子的采样分布可以显着提高AFL的性能。其次,我们介绍了一个汤普森采样,基于带宽的优化方法,微调的mutator分布自适应,在模糊的过程中,一个单独的程序。一组跨复杂程序的实验表明,调整突变运算符分布生成的输入集产生显着更高的代码覆盖率,并发现更多的崩溃更快,更可靠的AFL的基线版本以及其他基于AFL的学习方法。
2018-08-24 cs.AI cs.SE
Targeted Testing of Compiler Optimizations via Grammar-Level Composition Styles
University of California, Los Angeles (UCLA)(加州大学洛杉矶分校);The University of Sydney(悉尼大学);Tulane University(杜兰大学);University of Szeged(塞格德大学)
本文提出TargetFuzz,通过语法层面的组合风格进行定向模糊测试,提升编译器优化的测试覆盖率和触发效率。
2025-12-04 cs.SE
CC-Fuzz: Genetic algorithm-based fuzzing for stress testing congestion control algorithms
拥塞控制的研究在过去几年中经历了一个显着的增长的兴趣,许多专用的算法被设计与特定应用程序的需要铭记。这些算法在被部署到互联网上之前经历了有限的测试,在互联网上它们与其他拥塞控制算法交互,并在各种网络条件下运行。由于算法不足或实现错误,这通常会导致无法预见的性能问题,并且由于数据包跟踪不可用,这些问题通常难以识别。在本文中,我们提出了CC-Fuzz,一个自动化的拥塞控制测试框架,使用遗传搜索算法,以压力测试拥塞控制算法生成对抗性的网络痕迹和流量模式。使用这种方法的初步结果是有希望的- CC-Fuzz自动发现BBR中的一个错误,导致它永久停止,并且能够自动发现众所周知的低速率TCP攻击等。
2022-07-15 cs.NE cs.NI cs.SE
Fuzzy Inference System for Test Case Prioritization in Software Testing
School of Information Technology and Engineering(信息技术与工程学院);Kazakh-British Technical University(哈萨克斯坦-英国技术大学);Faculty of Information Technology(信息技术学院)
本文提出一种基于模糊逻辑的测试用例优先级排序(TCP)自动化方法,利用失败率、执行时间等模糊变量及前提测试用例等参数建立特征与优先级的联系,实验证明其能有效排序并降低测试资源消耗。
2024-04-25 cs.AI cs.SE
Evaluating the Effectiveness of Coverage-Guided Fuzzing for Testing Deep Learning Library APIs
本文提出FlashFuzz,利用LLM自动合成API级测试驱动程序,将覆盖率引导模糊测试有效应用于PyTorch和TensorFlow,显著提升覆盖率、有效率和生成速度,并发现42个未知缺陷。
2025-09-18 cs.SE
MASFuzzer: Fuzz Driver Generation and Adaptive Scheduling via Multidimensional API Sequences
Beihang University(北京航空航天大学);Jinan University(暨南大学)
MASFuzzer通过多维API序列生成和自适应调度策略提升软件库测试效率,实现更高的代码覆盖率和漏洞发现能力。
2026-04-20 cs.SE
GraphFuzz: Automated Testing of Graph Algorithm Implementations with Differential Fuzzing and Lightweight Feedback
针对图算法测试输入空间大、代码覆盖引导模糊测试效率低的问题,提出首个面向图算法的反馈引导模糊测试框架GraphFuzz,通过算法特定轻量反馈提升语料多样性,支持黑/灰盒测试,结合差分测试发现12个未知漏洞。
2025-02-21 cs.SE
Data-driven Test Generation for Fuzzing AI Compiler
School of Computer Software, Tianjin University(天津大学计算机学院)
本文提出了一种数据驱动的模糊测试生成框架,用于提高AI编译器的测试覆盖率和有效性,检测了266个之前未知的错误。
2026-01-24 cs.SE
Towards Reliable LLM-Driven Fuzz Testing: Vision and Road Ahead
Institute of Information Engineering, CAS(中国科学院信息工程研究所);School of Cyber Security, University of Chinese Academy of Sciences(中国科学院大学网络空间安全学院);University of Sydney(悉尼大学);Singapore Management University(新加坡管理大学)
本文探讨了LLM驱动模糊测试(LLM4Fuzz)面临的可靠性瓶颈,提出了未来研究方向,旨在通过解决驱动程序有效率和种子质量问题,推动其成为现代软件测试的基础组件。
2025-03-02 cs.AI cs.SE
EVMFuzz: Differential Fuzz Testing of Ethereum Virtual Machine
以太坊虚拟机(EVM)是智能合约的运行环境,其漏洞可能会导致以太坊生态的严重问题。随着许多智能合约验证技术的开发,EVM的安全问题还没有得到很好的研究。在本文中,我们提出EVMFuzz,旨在检测EVMs与差分模糊测试的漏洞。EVMFuzz的核心思想是不断为不同的EVM的执行生成种子合约,从而尽可能多地发现执行结果之间的不一致,最终通过输出交叉引用发现漏洞。首先,我们提出了内部不一致性指标的评估指标,如执行的操作码序列和使用的气体。然后,我们通过一组预定义的变异器构建种子合同,并采用动态优先级调度算法来指导种子合同的选择和最大化的不一致性。最后,我们利用不同的EVM作为交叉引用的预言机,以避免手动检查执行输出。为了进行评估,我们对36,295个真实世界的智能合约进行了大规模突变,并生成了253,153个智能合约。其中,66.2%表现出差异性,包括1,596个变体合约触发了EVM之间的不一致输出。在人工分析的基础上,我们在四个广泛使用的EVM中发现了5个以前未知的安全漏洞,并且所有这些漏洞都已被纳入通用漏洞和暴露(CVE)数据库。
2019-04-08 cs.SE
FuSeBMC v4: Improving code coverage with smart seeds via BMC, fuzzing and static analysis
本研究提出测试生成工具FuSeBMC v4,通过注入目标标签引导BMC与进化模糊测试引擎生成智能种子,结合Tracer子系统协调引擎运行,提升C程序代码覆盖率,在Test-Comp 2022竞赛中多类别超越现有先进工具并获三个奖项。
2024-04-18 cs.SE
FairFuzz: Targeting Rare Branches to Rapidly Increase Greybox Fuzz Testing Coverage
近年来,模糊测试已被证明是在实践中发现正确性错误和安全漏洞的最有效的技术之一。一个特殊的模糊测试工具,美国模糊Lop或AFL,已成为流行的感谢其易于使用和错误发现的权力。然而,AFL在其实现的程序覆盖深度方面仍然有限,特别是因为它没有考虑程序输入的哪些部分不应该被突变以保持深度程序覆盖。我们提出了一种方法,FairFuzz,这有助于减轻这种限制,在两个关键步骤。首先,FairFuzz会自动优先考虑执行测试程序中罕见部分的输入。其次,它自动调整输入的变异,使变异的输入更有可能执行程序中这些相同的稀有部分。我们对现实世界的程序进行评估,对最先进的版本的AFL,彻底重复实验,以获得良好的可变性措施。我们发现,在某些基准FairFuzz显示显着的覆盖率增加后,24小时相比,最先进的版本的AFL,而在其他方面,它实现了高节目覆盖率在一个显着更快的速度。
2017-09-20 cs.CR cs.SE
Recurrent Neural Networks for Fuzz Testing Web Browsers
University of Glasgow(格拉斯哥大学)
基于生成的模糊测试是一种软件测试方法,能够发现软件中不同类型的错误和漏洞。然而,它是已知的是非常耗时的设计和微调经典的模糊,以实现可接受的覆盖范围,即使是小规模的软件系统。为了解决这个问题,我们研究了一种基于机器学习的模糊测试方法,在该方法中,我们概述了一系列基于循环神经网络(RNN)的测试用例生成器,并训练那些现成的数据集上的测试用例生成器,其中最少的人为微调。与以前的工作相比,所提出的生成器不依赖于启发式采样策略,而是从预测分布中进行有原则的采样。我们提供了一个详细的分析,以证明在一个具有挑战性的Web浏览器测试场景的特点和有效性的建议发电机。实验结果表明,基于RNN的生成器能够提供更好的覆盖率比基于变异的方法,并能够发现路径没有发现一个经典的模糊。我们的研究结果补充了其他领域的研究结果,表明基于RNN的模糊生成是一种可行的途径,可以在使用合适的模型选择/分析程序的条件下提高软件质量。
2018-12-12 cs.CR cs.LG cs.SE
Industry Practice of Coverage-Guided Enterprise-Level DBMS Fuzzing
作为数据持久化和分析的基础设施,数据库管理系统(DBMS)是现代企业软件的基石。为了提高它们的正确性,业界几十年来一直在应用黑盒模糊技术。最近,研究界取得了令人印象深刻的模糊增益使用覆盖指导。然而,由于企业级数据库管理系统的复杂性和分布式性,这些研究很少应用于行业。在本文中,我们将覆盖率引导的模糊应用于华为和Bloomberg LP的企业级DBMS。在我们测试GaussDB和Comdb2的实践中,我们发现所有三个测试阶段都存在重大挑战。挑战是收集精确的覆盖率,优化模糊性能,并分析根本原因。在寻找一个通用的方法来克服这些挑战,我们提出Ratel,覆盖率为导向的模糊企业级DBMS。通过面向行业的设计,Ratel提高了反馈精度,增强了输入生成的鲁棒性,并对错误的根本原因进行了在线调查。因此,Ratel在覆盖率和错误方面优于其他模糊器。与工业黑盒模糊器SQLsmith和SQLANCER以及覆盖率引导的学术模糊器Squirrel相比,Ratel覆盖的基本块分别比GaussDB,PostgreSQL和Comdb2中其他三个模糊器的最佳结果多38.38%,106.14%,583.05%。更重要的是,Ratel在GaussDB、Comdb2和PostgreSQL中发现了32个、42个和5个未知错误。
2021-03-01 cs.SE
Socialz: Multi-Feature Social Fuzz Testing
本文提出 Socialz 社交模糊测试方法,通过刻画真实用户、进化计算多样化多特征交互并采集性能数据,帮助外部开发者测试社交网络,发现 GitLab CE 限制及大量错误。
2024-07-04 cs.NE cs.SE
FuzzAug: Data Augmentation by Coverage-guided Fuzzing for Neural Test Generation
University of California, Davis(加州大学戴维斯分校)
本文提出了一种名为FuzzAug的新型数据增强技术,通过引入模糊测试的覆盖引导输入和有效测试语义,将训练数据集规模扩大一倍,从而显著提升了大型语言模型在神经测试生成任务中的性能。
2025-06-26 cs.AI cs.SE
Stateful Embedded Fuzzing with Peripheral-Accurate SystemC Virtual Prototypes
RWTH Aachen University(亚琛工业大学)
本文提出一种结合AFL++与状态化SystemC-TLM虚拟原型的框架,通过将模糊测试输入直接注入外围模型,实现嵌入式软件的真实模糊测试,提升预硅测试效果。
2026-04-20 cs.SE
Evaluating Fuzz Testing for Reinforcement Learning Agents
College of Intelligence and Computing, Tianjin University(天津大学智能与计算学部)
研究针对强化学习智能体模糊测试评估差异问题,通过在三种环境下统一配置对五种方法及随机测试进行基准测试,从多角度评估,揭示不同方法特点,表明模糊测试能提升智能体鲁棒性等,还给出可操作指导。
2026-07-28 cs.LG cs.SE
Interleaved Learning and Exploration: A Self-Adaptive Fuzz Testing Framework for MLIR
提出FLEX自适应模糊测试框架,利用神经网络生成、扰动采样和反馈增强循环,在MLIR上发现80个新缺陷,覆盖率提升42%。
2025-10-09 cs.SE
CKGFuzzer: LLM-Based Fuzz Driver Generation Enhanced By Code Knowledge Graph
本文提出CKGFuzzer,一种基于代码知识图谱和LLM智能体的自动化模糊测试方法,通过在模糊测试循环中自动生成并优化测试驱动与输入种子,相比现有技术代码覆盖率平均提升8.73%,并成功检测出11个真实漏洞。
2024-12-20 cs.CR cs.SE
DyMA-Fuzz: Dynamic Direct Memory Access Abstraction for Re-hosted Monolithic Firmware Fuzzing
Adelaide University(阿德莱德大学);CSIRO Data61(澳大利亚联邦科学与工业研究组织数据六一分部)
DyMA-Fuzz通过动态直接内存访问抽象,提升重新托管环境中固件模糊测试的效率和覆盖率。
2026-02-09 cs.CR cs.SE
Automated Conformance Testing for JavaScript Engines via Deep Compiler Fuzzing
JavaScript(JS)是一种流行的、与平台无关的程序设计语言。为了确保JS程序在不同平台上的互操作性,JS引擎的实现应该符合ECMAScript标准。然而,这样做是具有挑战性的,因为API行为有许多微妙的定义,并且定义不断发展。我们提出了COMFORT,一个新的编译器模糊框架,用于检测JS引擎的错误和行为偏离ECMAScript标准。COMFORT利用基于深度学习的语言模型的最新进展,自动生成JS测试代码。与以前的模糊器不同,COMFORT利用结构良好的ECMAScript规范自动生成测试数据以及测试程序,以暴露开发人员或手动编写的测试用例可能忽略的错误。然后,COMFORT在生成的测试用例上应用差异测试方法,以暴露标准一致性错误。我们将COMFORT应用于十个主流JS引擎。在200小时的自动化并发测试运行中,我们发现了所有测试过的JS引擎中的错误。我们已经确定了158个独特的JS引擎错误,其中129个已经得到验证,115个已经被开发人员修复。此外,21个Comfort生成的测试用例已添加到Test262,官方ECMAScript一致性测试套件。
2021-04-15 cs.PL cs.SE
Kaizen: Metamorphic Fuzzing and Differential Testing for LLM-Translated HPC Applications
Oregon State University(俄勒冈州立大学);Oak Ridge National Laboratory(橡树岭国家实验室)
研究大语言模型驱动的高性能计算应用代码翻译的正确性评估,提出用变质模糊测试和差分测试框架Kaizen,经源码变异、语法输入模糊等生成等价程序,暴露语义差异,评估揭示了编译成功与正确性的关系。
2026-07-07 cs.PL cs.SE
SimADFuzz: Simulation-Feedback Fuzz Testing for Autonomous Driving Systems
Nanjing University of Aeronautics and Astronautics(南京航空航天大学);Birkbeck, University of London(伦敦大学伯克贝克学院)
针对自动驾驶系统仿真测试中现有模糊测试忽略时空动态及仿真反馈的问题,提出SimADFuzz框架,利用违规预测模型优化场景选择并采用距离引导变异策略,有效生成揭示系统违规的高质量场景,比现有方法多发现32个违规。
2024-12-18 cs.RO cs.SE
InsightQL: Advancing Human-Assisted Fuzzing with a Unified Code Database and Parameterized Query Interface
针对模糊测试易因阻塞点陷入覆盖率瓶颈、人工分析成本高的问题,提出带统一数据库和参数化查询界面的人类辅助框架InsightQL,在FuzzBench基准测试中显著提升代码覆盖率。
2025-10-06 cs.SE
AutoSafeCoder: A Multi-Agent Framework for Securing LLM Code Generation through Static Analysis and Fuzz Testing
University of Texas at San Antonio(德克萨斯大学圣安东尼奥分校);University of Amsterdam(阿姆斯特丹大学);Florida International University(佛罗里达国际大学)
AutoSafeCoder提出多智能体框架,通过编码、静态分析和模糊测试智能体协作,在代码生成中迭代集成动态与静态测试,使漏洞减少13%且不影响功能。
2024-11-05 cs.AI cs.SE
Fuzzing the brain: Automated stress testing for the safety of ML-driven neurostimulation
Department of Computer Science, University of California, Santa Barbara, CA, USA(计算机科学系,加州大学圣巴巴拉分校)
本文提出了一种基于模糊测试的自动化方法,用于检测和表征ML驱动神经刺激系统中的不安全刺激模式,以提升神经接口的安全性。
2025-12-05 cs.AI cs.SE
CovRL: Fuzzing JavaScript Engines with Coverage-Guided Reinforcement Learning for LLM-based Mutation
Yonsei University(延世大学);Suresofttech Inc.(Suresofttech公司)
本文提出CovRL技术,通过TF-IDF构建加权覆盖率图并结合强化学习将覆盖率反馈直接集成到LLM变异器中,显著提升了JavaScript引擎模糊测试的代码覆盖率与漏洞发现能力。
2024-02-19 cs.CL cs.CR cs.LG
Execution Divergence Graphs:Effective Discovery of Control-Flows from Execution Traces as Fuzzing Feedback
CISPA Helmholtz Center for Information Security(CISPA 赫尔姆霍兹信息安全中心)
探讨利用运行时执行构建的类控制流图结构反馈来指导模糊测试器的方法,先介绍简单差异检测法,后提出基于执行差异图的改进方法,实现并证明其优于基线盲目模糊测试器。
2026-07-07 cs.CR cs.SE