ISSTA 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Fri 20 Sep 2024 10:50 - 11:10 at EI 7 - Fuzzing 2 Chair(s): Marcel Böhme

Rust has been extensively used in software development in the past decades due to its memory safety mechanisms and gradually matured ecosystems. Enhancing the quality of Rust libraries is critical to Rust ecosystems as the libraries are often the core component of software systems. Nevertheless, we observe that existing approaches fall short in testing Rust API interactions - they either lack a Rust ownership-compliant API testing method, fail to handle the large search space of function dependencies, or are limited by pre-selected codebases, resulting in inefficiencies in finding errors.

To address these issues, we propose a fuzzing technique, namely FRIES, that efficiently synthesizes and tests complex API interactions to identify defects in Rust libraries, and therefore promises to significantly improve the quality of Rust libraries. Behind our approach, a key technique is to traverse a weighted API dependency graph, which encodes not only syntactic dependency between functions but also the common usage patterns mined from the Rust ecosystem that reflect the programmer’s thinking. Combined with our efficient generation algorithm, such a graph structure significantly reduces the search space and lets us focus on finding hidden bugs in common application scenarios. Meanwhile, an ownership assurance algorithm is specially designed to ensure the validity of the generated Rust programs, notably improving the success rate of compiling fuzz targets. Experimental results demonstrate that this technique can indeed generate high-quality fuzz targets with minimal computational resources, while more efficiently discovering errors that have a greater impact on actual development, thereby mitigating the impact on the robustness of programs in the Rust ecosystem. So far, FRIES has identified 130 bugs, including 84 previously unknown bugs, in 20 well-known latest versions of Rust

libraries, of which 54 have been confirmed.

Fri 20 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 11:50
Fuzzing 2Technical Papers at EI 7
Chair(s): Marcel Böhme MPI-SP, Bochum
10:30
20m
Talk
Prospector: Boosting Directed Greybox Fuzzing for Large-Scale Target Sets with Iterative Prioritization
Technical Papers
Zhijie Zhang Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Liwei Chen Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Haolai Wei Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Gang Shi Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Dan Meng Institute of Information Engineering at Chinese Academy of Sciences; University of Chinese Academy of Sciences
DOI
10:50
20m
Talk
FRIES: Fuzzing Rust Library Interactions via Efficient Ecosystem-Guided Target Generation
Technical Papers
Xizhe Yin Nanjing University, Yang Feng Nanjing University, Qingkai Shi Nanjing University, Zixi Liu Nanjing University, Hongwang Liu Nanjing University, Baowen Xu Nanjing University
DOI
11:10
20m
Talk
DDGF: Dynamic Directed Greybox Fuzzing with Path Profiling
Technical Papers
Haoran Fang Shanghai Jiao Tong University, Kaikai Zhang Shanghai Jiao Tong University, Donghui Yu Shanghai Jiao Tong University, Yuanyuan Zhang Shanghai Jiao Tong University
DOI Pre-print
11:30
20m
Talk
Logos: Log Guided Fuzzing for Protocol Implementations
Technical Papers
Feifan Wu Tsinghua University, Zhengxiong Luo National University of Singapore, Yanyang Zhao Tsinghua University, Qingpeng Du Beijing University of Posts and Telecommunications, Junze Yu Tsinghua University, Ruikang Peng Central South University, Heyuan Shi Central South University, Yu Jiang Tsinghua University
DOI

Information for Participants
Fri 20 Sep 2024 10:30 - 11:50 at EI 7 - Fuzzing 2 Chair(s): Marcel Böhme
Info for room EI 7:

Map: https://tuw-maps.tuwien.ac.at/?q=CDEG13

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/15417