ROZZ: Property-based Fuzzing for Robotic Programs in ROS

IEEE International Conference on Robotics and Automation(2022)

引用 4|浏览14
暂无评分
摘要
ROS is popular in robotic-software development, and thus detecting bugs in ROS programs is important for modern robots. Fuzzing is a promising technique of runtime testing. But existing fuzzing approaches are limited in testing ROS programs, due to neglecting ROS properties, such as multi-dimensional inputs, temporal features of inputs and the distributed node model. In this paper, we develop a new fuzzing framework named ROZZ, to effectively test ROS programs and detect bugs based on ROS properties. ROZZ has three key techniques: (1) a multi-dimensional generation method to generate test cases of ROS programs from multiple dimensions, including user data, configuration parameters and sensor messages; (2) a distributed branch coverage to describe the overall code coverage of multiple ROS nodes in the robot task; (3) a temporal mutation strategy to generate test cases with temporal information. We evaluate ROZZ on 10 common robotic programs in ROS2, and it finds 43 real bugs. 20 of these bugs have been confirmed and fixed by related ROS developers. We compare ROZZ to existing approaches for testing robotic programs, and ROZZ finds more bugs with higher code coverage.
更多
查看译文
关键词
multidimensional generation method,multiple ROS nodes,robot task,ROZZ,10 common robotic programs,ROS2,bugs,related ROS developers,property-based fuzzing,robotic-software development,modern robots,runtime testing,existing fuzzing approaches,testing ROS programs,neglecting ROS properties,multidimensional inputs,fuzzing framework
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要