What Happens When We Fuzz? Investigating OSS-Fuzz Bug History

05/19/2023
by   Brandon Keller, et al.
0

BACKGROUND: Software engineers must be vigilant in preventing and correcting vulnerabilities and other critical bugs. In servicing this need, numerous tools and techniques have been developed to assist developers. Fuzzers, by autonomously generating inputs to test programs, promise to save time by detecting memory corruption, input handling, exception cases, and other issues. AIMS: The goal of this work is to empower developers to prioritize their quality assurance by analyzing the history of bugs generated by OSS-Fuzz. Specifically, we examined what has happened when a project adopts fuzzing as a quality assurance practice by measuring bug lifespans, learning opportunities, and bug types. METHOD: We analyzed 44,102 reported issues made public by OSS-Fuzz prior to March 12, 2022. We traced the Git commit ranges reported by repeated fuzz testing to the source code repositories to identify how long fuzzing bugs remained in the system, who fixes these bugs, and what types of problems fuzzers historically have found. We identified the bug-contributing commits to estimate when the bug containing code was introduced, and measure the timeline from introduction to detection to fix. RESULTS: We found that bugs detected in OSS-Fuzz have a median lifespan of 324 days, but that bugs, once detected, only remain unaddressed for a median of 2 days. Further, we found that of the 8,099 issues for which a source committing author can be identified, less than half (45.9 fixed by the same author that introduced the bug. CONCLUSIONS: The results show that fuzzing can be used to makes a positive impact on a project that takes advantage in terms of their ability to address bugs in a time frame conducive to fixing mistakes prior to a product release.

READ FULL TEXT
research
03/22/2021

Mea culpa: How developers fix their own simple bugs differently from other developers

In this work, we study how the authorship of code affects bug-fixing com...
research
03/17/2021

On the Rise and Fall of Simple Stupid Bugs: a Life-Cycle Analysis of SStuBs

Bug detection and prevention is one of the most important goals of softw...
research
03/06/2021

We'll Fix It in Post: What Do Bug Fixes in Video Game Update Notes Tell Us?

Bugs that persist into releases of video games can have negative impacts...
research
12/15/2020

A Quantitative Study of Security Bug Fixes of GitHub Repositories

Software is prone to bugs and failures. Security bugs are those that exp...
research
04/24/2021

Predicting the Number of Reported Bugs in a Software Repository

The bug growth pattern prediction is a complicated, unrelieved task, whi...
research
09/03/2019

A Bug or a Suggestion? An Automatic Way to Label Issues

More and more users and developers are using Issue Tracking Systems (ITS...
research
11/03/2022

Analyzing Performance Issues of Virtual Reality Applications

Extended Reality (XR) includes Virtual Reality (VR), Augmented Reality (...

Please sign up or login with your details

Forgot password? Click here to reset