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
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
离心力完成签到,获得积分10
1秒前
可爱的函函应助难过大白采纳,获得10
1秒前
Liang发布了新的文献求助10
2秒前
打打应助不喜采纳,获得10
4秒前
量子星尘发布了新的文献求助10
4秒前
传统的小海豚完成签到,获得积分10
5秒前
9秒前
11秒前
xxfyaojiayou发布了新的文献求助10
12秒前
12秒前
天天快乐应助小于爱科研采纳,获得10
13秒前
阿诺完成签到,获得积分10
14秒前
小霖完成签到,获得积分10
14秒前
jialin发布了新的文献求助10
16秒前
深情未来完成签到,获得积分10
17秒前
量子星尘发布了新的文献求助10
17秒前
18秒前
zzz完成签到,获得积分10
18秒前
19秒前
zyj完成签到,获得积分10
19秒前
酷波er应助xxfyaojiayou采纳,获得10
19秒前
木槐草完成签到 ,获得积分10
20秒前
21秒前
23秒前
tt完成签到 ,获得积分10
23秒前
Tacamily发布了新的文献求助10
24秒前
24秒前
sinian发布了新的文献求助10
25秒前
帅气善斓发布了新的文献求助10
25秒前
泯然完成签到,获得积分10
25秒前
Davy_Y完成签到,获得积分20
27秒前
28秒前
贺临发布了新的文献求助10
29秒前
30秒前
31秒前
31秒前
35秒前
36秒前
慢慢完成签到,获得积分10
36秒前
37秒前
高分求助中
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
Encyclopedia of Quaternary Science Reference Third edition 6000
Encyclopedia of Forensic and Legal Medicine Third Edition 5000
Introduction to strong mixing conditions volume 1-3 5000
Aerospace Engineering Education During the First Century of Flight 3000
Electron Energy Loss Spectroscopy 1500
sQUIZ your knowledge: Multiple progressive erythematous plaques and nodules in an elderly man 1000
热门求助领域 (近24小时)
化学 材料科学 生物 医学 工程类 计算机科学 有机化学 物理 生物化学 纳米技术 复合材料 内科学 化学工程 人工智能 催化作用 遗传学 数学 基因 量子力学 物理化学
热门帖子
关注 科研通微信公众号,转发送积分 5793382
求助须知:如何正确求助?哪些是违规求助? 5748366
关于积分的说明 15485460
捐赠科研通 4920284
什么是DOI,文献DOI怎么找? 2648817
邀请新用户注册赠送积分活动 1596177
关于科研通互助平台的介绍 1550776