FuzzerAid: Grouping Fuzzed Crashes Based On Fault Signatures

09/02/2022
by   Ashwin Kallingal Joshy, et al.
0

Fuzzing has been an important approach for finding bugs and vulnerabilities in programs. Many fuzzers deployed in industry run daily and can generate an overwhelming number of crashes. Diagnosing such crashes can be very challenging and time-consuming. Existing fuzzers typically employ heuristics such as code coverage or call stack hashes to weed out duplicate reporting of bugs. While these heuristics are cheap, they are often imprecise and end up still reporting many "unique" crashes corresponding to the same bug. In this paper, we present FuzzerAid that uses fault signatures to group crashes reported by the fuzzers. Fault signature is a small executable program and consists of a selection of necessary statements from the original program that can reproduce a bug. In our approach, we first generate a fault signature using a given crash. We then execute the fault signature with other crash inducing inputs. If the failure is reproduced, we classify the crashes into the group labeled with the fault signature; if not, we generate a new fault signature. After all the crash inducing inputs are classified, we further merge the fault signatures of the same root cause into a group. We implemented our approach in a tool called FuzzerAid and evaluated it on 3020 crashes generated from 15 real-world bugs and 4 large open source projects. Our evaluation shows that we are able to correctly group 99.1 outperforming the state-of-the-art fuzzers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/20/2023

Reproducing Failures in Fault Signatures

Software often fails in the field, however reproducing and debugging fie...
research
04/20/2023

Finding Bug-Inducing Program Environments

Some bugs cannot be exposed by program inputs, but only by certain progr...
research
09/21/2021

A Variability Fault Localization Approach for Software Product Lines

Software fault localization is one of the most expensive, tedious, and t...
research
09/23/2022

Large Language Models are Few-shot Testers: Exploring LLM-based General Bug Reproduction

Many automated test generation techniques have been developed to aid dev...
research
06/19/2021

Test case prioritization using test case diversification and fault-proneness estimations

Context: Regression testing activities greatly reduce the risk of faulty...
research
07/05/2023

Fuzzing with Quantitative and Adaptive Hot-Bytes Identification

Fuzzing has emerged as a powerful technique for finding security bugs in...
research
07/09/2022

At the Intersection of Deep Learning and Conceptual Art: The End of Signature

MIT wanted to commission a large scale artwork that would serve to 'illu...

Please sign up or login with your details

Forgot password? Click here to reset