论文阅读笔记——Large Language Models Are Zero-Shot Fuzzers - 详解

news/2025/10/5 21:13:56/文章来源:https://www.cnblogs.com/yxysuanfa/p/19127054

TitanFuzz 论文
深度学习库首个直接利用大语言模型(LLM)生成测试程序来模糊测试DL库的办法。就是(TensorFlow 和 Pytorch)中的 bug 对下游任务体系是重要的,保障安全性和有效性。在深度学习(DL)库的模糊测试领域,直接生成满足输入语言(例如 Python )语法/语义和张量计算的DL API 输入/形状约束的深度学习程序具有挑战性。此外,深度学习 API 可能包含复杂的输入条件约束,难以在没有人工干预的情况下生成符合条件的输入用例。TitanFuzz

API 级模糊测试:仅针对孤立 API 进行测试,无法暴露由 API 调用链引发的缺陷;模糊级模糊测试:缺乏多样化 API 序列,如 Muffin 需要手动注释考虑的深度学习 API 的输入/输出限制,并运用额外的 reshaping 操作保证奏效连接,以及无法生成任意代码。
在这里插入图片描述

  1. log 函数应该为负数产生 NaN,CPU 调用 matrix_exp 时应该包含 NaN 值,但 GPU 调用时不输出任何 NaN 值。
  2. Bug:在 CPU 上计算时分正负号,导致分别出现正无穷和负无穷。正常:在 GPU 上计算时不分正负号,1/0 为正无穷。
传统LLM-based
基于规则/随机变异基于分布概率生成规则->统计建模
结构化输入基于语义理解语法->语义
人工设计策略Prompt
显式定义张量/类型约束隐式学习 API 约束标注->推理
单 API任意组合代码覆盖率

LLM 为差分测试提供语义合理、适配不同后端的测试输入。
在这里插入图片描述

  1. 提供 step-by-step 的 prompt engineering,调用 codex 生成直接借用目标 API 的代码片段。
  2. 使用进化模糊算法,生成新的代码。
  3. 差分测试,在不同后端上执行,识别潜在错误。
    在这里插入图片描述
    Prompt 中具备了目标库和目标 API 定义(爬虫从官方文档爬取)并设计了分布指令,按照 Task 的顺序执行。原始种子程序从 Codex 中采样得到。
    在这里插入图片描述

依据 Codex 生成初始种子,用 InCoder 去预测 mask 的代码片段以保持语义的连贯性,其中代码片段通过 Multi-Armed Bandit(MAB) 算法动态学习操作符优先级策略,并用< s p a n > <span><span>覆盖,采样策略选择了 Top-N;
算子:

  • 参数(augment):选择目标 API 中的参数 Mask,可以是已写的,也许可是未写的;
  • 前缀(prefix):在目标 API 调用前插入代码段,并 Mask 掉一部分前缀;
  • 后缀(suffix):在目标 API 调用后插入代码段,并 Mask 掉一部分后缀;
  • 方法(method):Mask API 调用,使用新的 API;

MAB:
f ( x ; α , β ) = Γ ( α + β ) Γ ( α ) Γ ( β ) x α − 1 ( 1 − x ) β − 1 f(x;\alpha,\beta)=\frac{\Gamma(\alpha+\beta)}{\Gamma(\alpha)\Gamma(\beta)}x^{\alpha-1}(1-x)^{\beta-1}f(x;α,β)=Γ(α)Γ(β)Γ(α+β)xα1(1x)β1

  • 初始化每个变异操作符 ? 的成功次数 ?.S 和失败次数 ?.F 为1,即每个操作 ? 的先验分布被假设为 Beta(1, 1),即均匀分布。
  • 在观察到 ?.S-1 次成功和 ?.F-1 次失败后,更新操作 ? 的后验分布为 Beta(?.S, ?.F)。
  • 为了选择一个操作(arm),从每个操作的后验分布中抽取一个样本 ??,然后选择具有最大样本值的操作(表示它具有最高的成功率概率)。
  • 通过在使用 LLMs 生成代码后,根据生成的代码的执行状态,更新所选择的变异操作的后验分布。与随机选择变异操作相比,此种技巧能够帮助识别有助于生成更有效和独特代码片段的变异处理。
  • 需要注意的是,最佳的变异操作可能因不同的目标API而异,因此为每个针对一个API的演化模糊测试的端到端运行开始一个单独的MAB游戏,并重新初始化操作符的先验分布。

Fitness Score:F i t n e s s F u n c t i o n ( C ) = D + U − R FitnessFunction(C)=D+U-RFitnessFunction(C)=D+UR

  • 数据流图深度 (D):衡量代码片段中素材依赖关系的复杂性。
  • 唯一API调用数量 (U):鼓励使用更多不同的库API。
  • 重复API调用惩罚 ®:减少重复API调用的影响,提高模糊测试的效率。

Differential Testing:

  • Wrong Computation:在 CPU 和 GPU 上执行相同代码,记录所有中间变量,为了区分真正的错误和非关键差异,TitanFuzz 使用容差阈值来检查值是否显著不同。计算值的差异可能表明库 API 的不同后端实现或不同 API 之间的交互存在潜在的语义错误。
  • 否有段错误、终止、INTERNAL_ASSERT_FAILED 等异常发生。就是Crash:在程序执行过程中,监控

实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
经过广泛的评估,TitanFuzz在两个流行的深度学习库(PyTorch和TensorFlow)上表现出了显著的改进,包括:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:低秩矩阵、奇异值矩阵和正交矩阵

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

POLIR-Society-Philosophy- Hegels 形而上学System Philosophy Dialectics 系统化哲学辩证法: 自由意志+封闭的绝对精神

POLIR-Society-Philosophy- Hegels 形而上学System Philosophy & Dialectics Hegel的 "系统化哲学&辩证法": 自由意志+封闭的绝对精神

wordpress插件 标签页青岛济南网站建设优化

其实学过java的人基本都知道&#xff0c;工厂模式&#xff0c;我们是基本每天都在用&#xff0c;只不过工厂模式也分为几种情况&#xff1a;简单工厂&#xff0c;抽象工厂和智能工厂。 简单工厂其实&#xff0c;大家时时刻刻都在用&#xff0c;个人理解&#xff0c;当我们在一个…

开平网站制作北京工商注册流程

目录 一.getchar 函数简介 1.getchar 原理2.getchar 函数声明3.getchar 使用场景 二.getchar 函数使用三.getchar 函数妙用四.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 一.getchar函数简介 1.getchar 原理 getchar 函数用于获取用户输入&a…

做网站北京公众号服务平台入口

浙江省高校计算机等级考试二级(高级办公)Word操作提示说明&#xff1a;经过多位教师的反复验证&#xff0c;以下操作步骤能做出与效果图一样的文档。具体操作步骤如下&#xff1a;1(1)~(2)操作&#xff1a;选择“格式”→“样式和格式”命令(或在格式工具栏上单击“格式窗格”按…

C#面向对象实践方案--贪吃蛇

C#面向对象实践方案--贪吃蛇2025-10-05 20:59 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important;…

家具网站开发项目计划书巫山做网站哪家强

1.打开以下页面&#xff1a; http://api.fanyi.baidu.com/api/trans/product/index 2. 在网页找到“立即使用”并点击&#xff0c;之后&#xff0c;如果要求你登录百度&#xff0c;那就用你已有的百度账号登录&#xff0c;如果没有百度账号&#xff0c;请先申请一个百度账号&am…

解决VLC 无法解码格式“h264” (H264 - MPEG-4 AVC (part 10))

解决VLC 无法解码格式“h264” (H264 - MPEG-4 AVC (part 10))sudo pacman -S vlc-plugins-all

网站建设怎么收费手机网站表单验证

回到目录 数据分页是这个经常说的东西&#xff0c;无论在WEBForm还是WinForm中它都会被单独拿出来&#xff0c;或者是公用组件&#xff0c;或者是公用类库&#xff0c;反正对于数据分页这个东西&#xff0c;总是我们关注的一个话题&#xff0c;但事实上&#xff0c;数据分页归…

那个网站做图片好看中文域名 网站

矢量平移和测地线1、矢量的平移 我们在三维欧氏空间中(即在流形上讨论问题)时说过&#xff0c;矢量的加法应满足平行四边形法则。但是在矢量求和时&#xff0c;我们要先把两个矢量的端点平移到同一个位置。这是因为流形上两个不同的点有两个矢量空间&#xff0c;而矢量的加法只…

现在网站建设用dw哪个版本好如何打开图片工具wordpress

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

CF2115 总结

CF2115 总结 感受 做过前两道 ,但是第一道一直卡,想不出怎么维护最小次数使一个数变为 \(gcd\),过了半小时,开始看 \(B\) ,直接会了。看 \(C\) 在想最优策略,被值全部相同但刷出了普通攻击的情况卡了,连 dp 都没…

luogu P8816 [CSP-J 2022] 上升点列 题解

luogu P8816 [CSP-J 2022] 上升点列 题解 tip:如果没有看过题,建议先点击标题中的链接看一眼题 题意简述 题目大意相信大家都能看懂(摸鱼),看懂了直接跳到思路部分即可。 如果你没有看懂题意,有下面两个题意选择…

CF558C Amr and Chemistry BFS解

发现没人写 BFS,于是写了。 题意 给你 \(n\) 个正整数,可以将任意一个数字 \(x\) 变换为 \(2x\) 或 \(\lfloor \frac{x}{2}\rfloor\),一次变换记为一次操作,现要求进行若干次操作使得所有 \(n\) 个数字相等,输出最…

刚做优化的网站什么能更新太原网站搜索优化

AI学习指南机器学习篇-线性回归在python中的实现sklearn 在机器学习领域中&#xff0c;线性回归是最为基础和常见的模型之一。它被广泛应用于预测和建模等领域&#xff0c;是我们学习机器学习的不二选择。 本篇博客将详细介绍如何使用Python中的sklearn库来实现一元和多元线性…

集成测试 maestro-我的第一个flow以及第一次云端测试 - 详解

集成测试 maestro-我的第一个flow以及第一次云端测试 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

深入解析:1、Pytorch介绍与安装

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Atbash密码和摩斯密码

一、 Atbash密码 Atbash Cipher是一种简单的替换密码,与凯撒相类似,区别在于Atbash密码使用的一般是前后字母互换。例如:ABCDEFGHIJKLMNOPQRSTUVWXYZ ZYXWVUTSRQPONMLKJIHGFEDCBA 同样的可以利用ASCII表转回进行解密…

Redis 中如何保证缓存与数据库的内容一致性?

Redis 中如何保证缓存与数据库的内容一致性?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &qu…

平顶山市哪里有做网站的个人团购网站 转入备案

I2C总线和通信协议详解 (超详细配42张高清图万字长文) I2C&#xff08;Inter-Integrated Circuit&#xff09;通信总线&#xff0c;作为嵌入式系统设计中的一个关键组成部分&#xff0c;其灵活性和高效率使其在高级应用中备受青睐。本文旨在提供关于I2C通信总线的深度解析&…