Fuzzing for CPS Mutation Testing
Jaekwon Lee, Enrico Vigan\`o, Oscar Cornejo, Fabrizio Pastore, Lionel, Briand

TL;DR
This paper introduces a fuzz testing approach for mutation testing in safety-critical CPS software, demonstrating it kills more mutants than symbolic execution, especially when symbolic methods are infeasible.
Contribution
It presents the first empirical comparison of fuzz testing and symbolic execution for mutation testing in CPS, showing fuzz testing's effectiveness and guiding future tool development.
Findings
Fuzz testing kills up to 47% more mutants than symbolic execution.
Fuzz testing is especially beneficial when symbolic execution cannot be applied.
The approach improves mutation testing effectiveness for satellite system software.
Abstract
Mutation testing can help reduce the risks of releasing faulty software. For such reason, it is a desired practice for the development of embedded software running in safety-critical cyber-physical systems (CPS). Unfortunately, state-of-the-art test data generation techniques for mutation testing of C and C++ software, two typical languages for CPS software, rely on symbolic execution, whose limitations often prevent its application (e.g., it cannot test black-box components). We propose a mutation testing approach that leverages fuzz testing, which has proved effective with C and C++ software. Fuzz testing automatically generates diverse test inputs that exercise program branches in a varied number of ways and, therefore, exercise statements in different program states, thus maximizing the likelihood of killing mutants, our objective. We performed an empirical assessment of our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Radiation Effects in Electronics · Software Reliability and Analysis Research
