Robustness is a key concern for Rust library development because Rust promises no risks of undefined behaviors if developers use safe APIs only. Fuzzing is a practical approach for examining the robustness of programs. However, existing fuzzing tools are not directly applicable to library APIs due to the absence of fuzz targets. It mainly relies on human efforts to design fuzz targets case by case which is labor-intensive. To address this problem, this paper proposes a novel automated fuzz target generation approach for fuzzing Rust libraries via API dependency graph traversal. We identify several essential requirements for library fuzzing, including validity and effectiveness of fuzz targets, high API coverage, and efficiency. To meet these requirements, we first employ breadth-first search with pruning to find API sequences under a length threshold, then we backward search longer sequences for uncovered APIs, and finally we optimize the sequence set as a set covering problem. We implement our fuzz target generator and conduct fuzzing experiments with AFL++ on several real-world popular Rust projects. Our tool finally generates 7 to 118 fuzz targets for each library with API coverage up to 0.92. We exercise each target with a threshold of 24 hours and find 30 previously-unknown bugs from seven libraries.
Wed 17 NovDisplayed time zone: Hobart change
21:00 - 22:00 | Fuzzing and SmellsResearch Papers at Koala Chair(s): Xiaoyuan Xie School of Computer Science, Wuhan University, China | ||
21:00 20mTalk | InstruGuard: Find and Fix Instrumentation Errors for Coverage-based Greybox Fuzzing Research Papers Yuwei Liu Institute of Software, Chinese Academy of Sciences, Yanhao Wang QiAnXin Technology Research Institute, Purui Su Institute of Software/CAS China, Yuanping Yu Institute of Software, Chinese Academy of Sciences, Xiangkun Jia Institute of Software Chinese Academy of Sciences | ||
21:20 20mTalk | RULF: Rust Library Fuzzing via API Dependency Graph Traversal Research Papers Pre-print | ||
21:40 20mTalk | PyNose: A Test Smell Detector For Python Research Papers Tongjie Wang University of California, Irvine, Yaroslav Golubev JetBrains Research, Oleg Smirnov JetBrains Research, Saint Petersburg State University, Jiawei Li University of California, Irvine, Timofey Bryksin JetBrains Research; HSE University, Iftekhar Ahmed University of California, Irvine Pre-print |