NumFuzz: A Floating-Point Format Aware Fuzzer for Numerical Programs
It is difficult to write a numerical program that does not incur floating-point exceptions in practice. To detect floating-point exceptions, most existing methods use static analysis, which may induce false alarms (due to over-approximation), or suffer from scalability issues (since solving floating-point constraints is expensive). Fuzzing is a widely used technique to finding bugs, but existing fuzzing techniques have not yet considered the specific format of floating-point and are lack of guidance for detecting floating-point exceptions.
In this paper, we propose a floating-point format aware coverage-based grey-box fuzzing to detect floating-point exceptions for numerical programs. More specifically, we propose a novel mutation strategy for floating-point format aiming at producing valid floating-point test inputs. Moreover, we present a new guidance aiming to search for test inputs that are closer to exposing exceptions. We implement our approach as a tool, named NumFuzz, based on AFL. We have conducted experiments to evaluate NumFuzz on GNU Scientific Library (GSL) and Sun’s C math library respectively. The preliminary experimental results suggest that our approach has promising ability in detecting floating-point exceptions and achieving high floating-point branch coverage in real-world numerical programs.
Fri 9 DecDisplayed time zone: Osaka, Sapporo, Tokyo change
09:20 - 10:30 | TestingERA - Early Research Achievements / SEIP - Software Engineering in Practice / Technical Track at Room3 Chair(s): Jihyun Lee Jeonbuk National University | ||
09:20 15mPaper | On the Usefulness of Crossover in Search-Based Test Case Generation: An Industrial Report SEIP - Software Engineering in Practice Changze Huang Ant Group, Hailian Zhou Ant Group, Hongbing Zhao Ant Group, Wenting Cai Ant Group, Zhi Quan (George) Zhou University of Wollongong, Australia, Mingyue Jiang Zhejiang Sci-Tech University | ||
09:35 15mPaper | eBAT: An Efficient Automated Web Application Testing Approach Based on Tester’s Behavior ERA - Early Research Achievements Fuad Mridha University of Dhaka, Kazi Sakib Institute of Information Technology, University of Dhaka | ||
09:50 20mPaper | NumFuzz: A Floating-Point Format Aware Fuzzer for Numerical Programs Technical Track Chenghu Ma National University of Defense Technology, Liqian Chen National University of Defense Technology, China, Xin Yi National University of Defense Technology, Guangsheng Fan National University of Defense Technology, Ji Wang College of Computer, National University of Defense Technology | ||
10:10 20mPaper | Detecting High Floating-Point Errors via Ranking Analysis Technical Track Zheng Wang National University of Defense Technology, Xin Yi National University of Defense Technology, Hengbiao Yu National University of Defense Technology, Banghu Yin National University of Defense Technology |