Sanitizing and Fuzzing Tutorials

At the ROS Industrial Conference there was an interesting presentation and demonstration by Adam Alami and Zhoulai Fu. They mentioned sanitizing and fuzzing (fuzz testing) as additional techniques to improve code quality. However, on the ROS Software Quality Hub there is no information on these topics yet. Are you aware of existing tutorials on these topics? If not, what are good references / starting points to start using these techniques in ROS?

There is also https://github.com/ros-testing/hypothesis-ros

1 Like

In case you want to fuzz Python (CPython) on the source code level there are some references in the python-afl project repo.

1 Like

There are some project forks with potentially additional functionality. However in case someone wants to add further data generation functionality please take a look at Generic mapping of rospy message classes to hypothesis-ros strategies and consider the approach discussed instead of adding explicit data generators (what’s done in the project forks).

I was hired by ITU for a 2 month project to test ROS with the sanitizers.
I wrote together a small report about our experiences and findings:

This was a temporary project that ended now, but I’m still happy to answer any questions.

2 Likes