Toward Using Fuzzers and Lightweight Specifications to Reveal Semantic Bugs

By: Amirfarhad Nilizadeh, Gary T. Leavens, David R. Cok

Abstract

Although fuzzers have been successful in revealing semantic bugs that lead to crashes, they do not reveal semantic bugs that do not lead to crashes. Furthermore, the inputs that lead to crashes may be invalid and invalid inputs do not reveal semantic bugs at all since they are outside the program’s intended input domain. On the other hand, runtime assertion checking (RAC) may be used for revealing semantic bugs, although it needs input test data that can trigger these bugs. In this idea paper, we propose the idea of combining different kinds of fuzzing tools and RAC in a complementary manner to leverage their benefits and overcome these problems, along with a preliminary study. That is, a fuzzing tool will generate an input test and a RAC tool will make sure that the generated inputs are valid and check the results for semantic bugs.

Keywords

Software Testing, Fuzzing, Runtime Assertion Checking, Lightweight Specifications

Cite as:

Amirfarhad Nilizadeh, Gary T. Leavens, David R. Cok, “Toward Using Fuzzers and Lightweight Specifications to Reveal Semantic Bugs”, Journal of Object Technology, Volume 23, no. 2 (March 2024), pp. 2:1-13, doi:10.5381/jot.2024.23.2.a3.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact