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.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
所所应助嘟嘟采纳,获得10
刚刚
2秒前
HMZ完成签到,获得积分10
2秒前
研友_LkYKJZ完成签到,获得积分10
2秒前
田様应助Khr1stINK采纳,获得10
2秒前
2秒前
风趣夜云完成签到,获得积分10
3秒前
3秒前
真实的一鸣完成签到,获得积分10
3秒前
调研昵称发布了新的文献求助50
4秒前
5秒前
yKkkkkk发布了新的文献求助10
5秒前
怎么可能会凉完成签到 ,获得积分10
6秒前
8秒前
8秒前
大大完成签到,获得积分10
9秒前
9秒前
9秒前
Xiaoxiao应助greenPASS666采纳,获得10
9秒前
现代的秋白完成签到,获得积分10
9秒前
从容的盼晴完成签到,获得积分10
9秒前
scvrl完成签到,获得积分10
10秒前
10秒前
楼寒天发布了新的文献求助10
10秒前
请叫我风吹麦浪应助C2采纳,获得10
12秒前
xlj发布了新的文献求助10
12秒前
12秒前
迷路白桃完成签到,获得积分10
13秒前
kento发布了新的文献求助30
13秒前
眯眯眼的衬衫应助yKkkkkk采纳,获得10
13秒前
小豆包科研冲刺者完成签到,获得积分10
13秒前
黄饱饱完成签到,获得积分10
14秒前
14秒前
传奇3应助CO2采纳,获得10
15秒前
16秒前
称心乐枫完成签到,获得积分10
17秒前
17秒前
22发布了新的文献求助10
17秒前
berry发布了新的文献求助10
17秒前
kingmin应助毛慢慢采纳,获得10
18秒前
高分求助中
Continuum Thermodynamics and Material Modelling 3000
Production Logging: Theoretical and Interpretive Elements 2700
Social media impact on athlete mental health: #RealityCheck 1020
Ensartinib (Ensacove) for Non-Small Cell Lung Cancer 1000
Unseen Mendieta: The Unpublished Works of Ana Mendieta 1000
Bacterial collagenases and their clinical applications 800
El viaje de una vida: Memorias de María Lecea 800
热门求助领域 (近24小时)
化学 材料科学 生物 医学 工程类 有机化学 生物化学 物理 纳米技术 计算机科学 内科学 化学工程 复合材料 基因 遗传学 物理化学 催化作用 量子力学 光电子学 冶金
热门帖子
关注 科研通微信公众号,转发送积分 3527961
求助须知:如何正确求助?哪些是违规求助? 3108159
关于积分的说明 9287825
捐赠科研通 2805882
什么是DOI,文献DOI怎么找? 1540070
邀请新用户注册赠送积分活动 716926
科研通“疑难数据库(出版商)”最低求助积分说明 709808