首页 /研究 /ROZZ: Property-based Fuzzing for Robotic Programs in ROS
OTHER

ROZZ: Property-based Fuzzing for Robotic Programs in ROS

Kai-Tao Xie, Jia-Ju Bai, Yong-Hao Zou, Yu-Ping Wang

发表年份
2022
引用次数
11

摘要

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.

关键词

Fuzz testingComputer scienceRobotCode coverageSoftware bugSoftwareTask (project management)Key (lock)Code (set theory)Property (philosophy)

相关论文

查看 OTHER 分类全部论文