Automated SC-MCC test case generation using coverage-guided fuzzing

DOI: https://doi.org/10.1007/s11219-024-09667-3
2024-05-15
Software Quality Journal
Abstract:One of the main objectives of testing is to achieve adequate code coverage. Modern code coverage standards suggest MC/DC (Modified Condition/Decision Coverage) instead of MCC (Multiple Condition Coverage) due to its ability to generate a feasible number of test cases. In contrast to the MC/DC, which only takes independent pairs into consideration, the MCC often considers each and every test case. In our work, we suggest SC-MCC, i.e., MCC with Short-Circuit. The key aspect of this paper is to demonstrate the effectiveness of SC-MCC-based test cases compared to MC/DC using Coverage-Guided Fuzzing (CGF) technique. In this work, we have considered American Fuzzy Lop (AFL) tool to generate both the SC-MCC and MC/DC test cases for 54 RERS benchmark programs. As part of this paper, we propose unique goal constraint generation and fuzz-instrumentation techniques that help in mitigating the masking problem of AFL. Subsequently, we performed mutation testing by employing the GCOV tool and computed the mutation score in order to evaluate the quality of the generated test cases. Finally, based on our observations, SC-MCC has performed better for over 85% of the programs taken into consideration.
computer science, software engineering
What problem does this paper attempt to address?