Large Language Models Are Zero-Shot Fuzzers: Fuzzing Deep-Learning Libraries via Large Language Models

计算机科学 模糊测试 程序设计语言 Python(编程语言) 人工智能 语法 语义学(计算机科学) 编码(集合论) 自然语言处理 软件 集合(抽象数据类型)
作者
Yinlin Deng,Chunqiu Steven Xia,Haoran Peng,Chenyuan Yang,Lingming Zhang
标识
DOI:10.1145/3597926.3598067
摘要

Deep Learning (DL) systems have received exponential growth in popularity and have become ubiquitous in our everyday life. Such systems are built on top of popular DL libraries, e.g., TensorFlow and PyTorch which provide APIs as building blocks for DL systems. Detecting bugs in these DL libraries is critical for almost all downstream DL systems in ensuring effectiveness/safety for end users. Meanwhile, traditional fuzzing techniques can be hardly effective for such a challenging domain since the input DL programs need to satisfy both the input language (e.g., Python) syntax/semantics and the DL API input/shape constraints for tensor computations. To address these limitations, we propose TitanFuzz – the first approach to directly leveraging Large Language Models (LLMs) to generate input programs for fuzzing DL libraries. LLMs are titanic models trained on billions of code snippets and can autoregressively generate human-like code snippets. Our key insight is that modern LLMs can also include numerous code snippets invoking DL library APIs in their training corpora, and thus can implicitly learn both language syntax/semantics and intricate DL API constraints for valid DL program generation. More specifically, we use both generative and infilling LLMs (e.g., Codex/InCoder) to generate and mutate valid/diverse input DL programs for fuzzing. Our experimental results demonstrate that TitanFuzz can achieve 30.38%/50.84% higher code coverage than state-of-the-art fuzzers on TensorFlow/PyTorch. Furthermore, TitanFuzz is able to detect 65 bugs, with 44 already confirmed as previously unknown bugs. This paper demonstrates that modern titanic LLMs can be leveraged to directly perform both generation-based and mutation-based fuzzing studied for decades, while being fully automated, generalizable, and applicable to domains challenging for traditional approaches (such as DL systems). We hope TitanFuzz can stimulate more work in this promising direction of LLMs for fuzzing.

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
panyuru发布了新的文献求助10
2秒前
2秒前
77发布了新的文献求助10
3秒前
5秒前
科研鼠完成签到 ,获得积分10
6秒前
mortal发布了新的文献求助10
7秒前
mengnan发布了新的文献求助10
7秒前
大模型应助瓜瓜采纳,获得10
8秒前
doo完成签到,获得积分10
8秒前
万能图书馆应助崔广超采纳,获得10
8秒前
kiki134发布了新的文献求助10
10秒前
niceday123发布了新的文献求助10
10秒前
天天快乐应助nnn采纳,获得10
12秒前
多情鑫鹏发布了新的文献求助10
13秒前
14秒前
14秒前
大嘴巴子发布了新的文献求助10
14秒前
RJ应助呼啦啦啦采纳,获得10
17秒前
温wenwen发布了新的文献求助10
17秒前
17秒前
微笑访枫应助Yolo采纳,获得10
18秒前
18秒前
18秒前
19秒前
呆萌雪晴完成签到,获得积分10
19秒前
风趣的胜发布了新的文献求助10
20秒前
慕容飞凤发布了新的文献求助10
21秒前
cx发布了新的文献求助10
21秒前
apoxteo发布了新的文献求助10
21秒前
瘦瘦白薇完成签到,获得积分10
22秒前
22秒前
科目三应助杳杳采纳,获得10
22秒前
22秒前
YHQZ发布了新的文献求助10
23秒前
luckyhan发布了新的文献求助10
24秒前
瓜瓜发布了新的文献求助10
24秒前
avoidant发布了新的文献求助10
25秒前
今后应助niceday123采纳,获得10
26秒前
华仔应助吾日三省吾身采纳,获得10
26秒前
27秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
Modern Epidemiology, Fourth Edition 5000
Digital Twins of Advanced Materials Processing 2000
Weaponeering, Fourth Edition – Two Volume SET 2000
Polymorphism and polytypism in crystals 1000
Signals, Systems, and Signal Processing 610
Discrete-Time Signals and Systems 610
热门求助领域 (近24小时)
化学 材料科学 医学 生物 工程类 纳米技术 有机化学 物理 生物化学 化学工程 计算机科学 复合材料 内科学 催化作用 光电子学 物理化学 电极 冶金 遗传学 细胞生物学
热门帖子
关注 科研通微信公众号,转发送积分 6025170
求助须知:如何正确求助?哪些是违规求助? 7660392
关于积分的说明 16178481
捐赠科研通 5173325
什么是DOI,文献DOI怎么找? 2768143
邀请新用户注册赠送积分活动 1751567
关于科研通互助平台的介绍 1637648