Path Transitions Tell More: Optimizing Fuzzing Schedules via Runtime Program States
Thu 12 May 2022 22:25 - 22:30 at ICSE room 4-even hours - Software Testing 10 Chair(s): Xiao Qu
Coverage-guided Greybox Fuzzing (CGF) is one of the most successful and widely-used techniques for bug hunting. Two major approaches are adopted to optimize CFG: (i) to reduce search space of inputs by inferring relationships between input bytes and path constraints; (ii) to formulate fuzzing processes (e.g., path transitions) and build up probability distributions to optimize power schedules, i.e., the number of inputs generated per seed. However, the former is subjective to the inference results which may include extra bytes for a path constraint, thereby limiting the efficiency of path constraints resolution, code coverage discovery, and bugs exposure; the latter formalization, concentrating on power schedules for seeds alone, is inattentive to the schedule for bytes in a seed.
In this paper, we propose a lightweight fuzzing framework, Truzz, to optimize existing CGFs. To address two aforementioned challenges, Truzz identifies the bytes related to the validation checks (i.e., the checks guarding error-handling code), and protects those bytes from being frequently mutated, making most generated inputs examine the functionalities of programs, in lieu of being rejected by validation checks. The byte-wise relationship determination mitigates the problem of loading extra bytes when fuzzers infer the byte-constraint relation. Furthermore, the proposed path transition within Truzz can efficiently prioritize the seed as the new path, harvesting many new edges, likely belongs to a code region with many undiscovered code lines. To evaluate our approach, we implemented 4 state-of-the-art fuzzers, AFL, AFLFast, NEUZZ, and Greyone, in Truzz. The experimental results show that Truzz can generate up to 33% more inputs flowing into functional code, in addition to roughly 83% more edge coverage identified than the vanilla fuzzers. Finally, our approach exposes 9 bugs in 8 target programs, and three of the bugs have not been identified by the vanilla fuzzers.
Tue 10 MayDisplayed time zone: Eastern Time (US & Canada) change
Thu 12 MayDisplayed time zone: Eastern Time (US & Canada) change
22:00 - 23:00 | Software Testing 10Technical Track / SEIP - Software Engineering in Practice at ICSE room 4-even hours Chair(s): Xiao Qu ABB Corporate Research | ||
22:00 5mTalk | Automated Visual Testing for Mobile Apps in an Industrial Setting SEIP - Software Engineering in Practice Dezhi Ran Peking University, Zongyang Li Peking University, Chenxu Liu Peking University, Wenyu Wang University of Illinois Urbana-Champaign, Weizhi Meng Alibaba Group, Xionglin Wu Alibaba Group, Hui Jin Alibaba Group, Jing Cui Alibaba Group, Xing Tang Alibaba Group, Tao Xie Peking University DOI Pre-print | ||
22:05 5mTalk | Use of Test Doubles in Android Testing: An In-Depth Investigation Technical Track Mattia Fazzini University of Minnesota, Chase Choi University of Minnesota, Juan Manuel Copia IMDEA Software Institute, Gabriel Lee University of Minnesota, Yoshiki Kakehi Georgia Institute of Technology, Alessandra Gorla IMDEA Software Institute, Alessandro Orso Georgia Tech Pre-print Media Attached | ||
22:10 5mTalk | Inference and Test Generation Using Program Invariants in Chemical Reaction Networks Technical Track Michael C. Gerten Iowa State University, Alexis L. Marsh Iowa State University, James I. Lathrop Iowa State University, Myra Cohen Iowa State University, Andrew S. Miner Iowa State University, Titus H. Klinge Drake University DOI Pre-print Media Attached | ||
22:15 5mTalk | Controlled Concurrency Testing via Periodical Scheduling Technical Track Cheng Wen Xidian University, Mengda He SCEDT, Teesside University, Bohao Wu CSSE, Shenzhen University, Zhiwu Xu Shenzhen University, Shengchao Qin Huawei Hong Kong Research Centre, China DOI Pre-print Media Attached | ||
22:20 5mTalk | SymTuner: Maximizing the Power of Symbolic Execution by Adaptively Tuning External ParametersDistinguished Paper Award Technical Track Sooyoung Cha Sungkyunkwan University, Myungho Lee Korea University, Seokhyun Lee Korea University, South Korea, Hakjoo Oh Korea University Pre-print Media Attached | ||
22:25 5mTalk | Path Transitions Tell More: Optimizing Fuzzing Schedules via Runtime Program States Technical Track Kunpeng Zhang Tsinghua Shenzhen International Graduate School, Tsinghua University, Xi Xiao Tsinghua Shenzhen International Graduate School, Tsinghua University, Xiaogang Zhu Swinburne University of Technology, Ruoxi Sun The University of Adelaide, Minhui (Jason) Xue University of Adelaide, Sheng Wen Swinburne University of Technology DOI Pre-print Media Attached |