Advances in Fuzzing and Testing for Embedded Systems and Software

The field of fuzzing and testing for embedded systems and software is rapidly evolving, with a focus on improving the effectiveness and efficiency of testing methodologies. Researchers are exploring new approaches to address the challenges of testing complex systems, including the development of novel fuzzing frameworks, testing paradigms, and debugging techniques. A key trend is the integration of fuzzing with other testing techniques, such as emulation and symbolic execution, to enhance code coverage and vulnerability detection. Additionally, there is a growing interest in applying machine learning and artificial intelligence to improve the accuracy and speed of testing. Noteworthy papers in this area include: Leveraging SystemC-TLM-based Virtual Prototypes for Embedded Software Fuzzing, which presents a framework for integrating fuzzers with SystemC-based simulators. WFC/WFD: Web Fuzzing Commons, Dataset and Guidelines to Support Experimentation in REST API Fuzzing, which introduces a set of open-source libraries and a dataset to facilitate fair comparisons among fuzzers. Curiosity-Driven Testing for Sequential Decision-Making Process, which proposes a novel curiosity-driven black-box fuzz testing approach for sequential decision-making processes. Reactive Bottom-Up Testing, which introduces a new paradigm for testing that combines function-level testing with program context validation. FuzzRDUCC: Fuzzing with Reconstructed Def-Use Chain Coverage, which employs symbolic execution to reconstruct definition-use chains and enhance fuzzing effectiveness. FuzzBox: Blending Fuzzing into Emulation for Binary-Only Embedded Targets, which integrates emulation with fuzzing to address the challenges of testing industrial systems. MIO: Multiverse Debugging in the Face of Input/Output, which presents a novel approach to multiverse debugging that accommodates input/output operations.

Sources

Leveraging SystemC-TLM-based Virtual Prototypes for Embedded Software Fuzzing

WFC/WFD: Web Fuzzing Commons, Dataset and Guidelines to Support Experimentation in REST API Fuzzing

Curiosity-Driven Testing for Sequential Decision-Making Process

Reactive Bottom-Up Testing

FuzzRDUCC: Fuzzing with Reconstructed Def-Use Chain Coverage

FuzzBox: Blending Fuzzing into Emulation for Binary-Only Embedded Targets

MIO: Multiverse Debugging in the Face of Input/Output -- Extended Version with Additional Appendices

Built with on top of