Automated Testing of RIOT modules using SymEx-VP
Sören Tempel is a Ph.D. student in the Group of Computer Architecture at the University of Bremen. His research focuses on the on the verification of embedded systems using symbolic execution and virtual prototypes.
This talk presents SymEx-VP, a simulation-based concolic testing framework for RISC-V embedded software. SymEx-VP combines concolic testing (an automated input generation technique) with the SystemC hardware modelling language to comprehensively test embedded software which interacts heavily with hardware peripherals. SymEx-VP provides an executable model of the SiFive HiFive1 RISC-V platform and is able to execute all code targeting this platform.
Since RIOT supports the SiFive HiFive1, we have used SymEx-VP to test various RIOT modules. As part of these tests, we have uncovered several previously unknown bugs in RIOT (many of which constitute memory safety violations). We will discuss our automated testing approach and present bugs we have found by employing it for testing RIOT modules.