Metamorphic Fuzz Testing of Autonomous Vehicles

Driving simulation is the primary approach for testing the software components of autonomous vehicles. This paper presents an automated testing method, termed metamorphic fuzz testing (MFT), in the context of simulation testing of autonomous driving. MFT differs from existing fuzzing techniques in the following two stages: First, it can generate "unrealistic" scenarios where scenes of the virtual world are refreshed frequently (so obstacles can suddenly appear / disappear)---this is to test the self-driving vehicle's robustness in the face of unexpected situations. In the second stage, MFT uses metamorphic relations as a filtering or debugging tool to distinguish between genuine failures and false alarms yielded in the first stage. We conduct empirical studies using the real-life Baidu Apollo self-driving system, recording a genuine failure rate of 3.7%. We have reported some of the detected failures to the Apollo team and received their confirmation. Our testing method is platform-independent and, therefore, can be applied to other autonomous driving systems and advanced driver-assistance systems (ADAS).

[1]  Aman Sinha,et al.  Efficient Black-box Assessment of Autonomous Vehicle Safety , 2019, ArXiv.

[2]  Jeffrey M. Voas,et al.  Metamorphic Testing for Cybersecurity , 2016, Computer.

[3]  Liqun Sun,et al.  Metamorphic testing of driverless cars , 2019, Commun. ACM.

[4]  Barton P. Miller,et al.  An empirical study of the reliability of UNIX utilities , 1990, Commun. ACM.

[5]  Hong Zhu,et al.  JFuzz: A Tool for Automated Java Unit Testing Based on Data Mutation and Metamorphic Testing Methods , 2015, 2015 Second International Conference on Trustworthy Systems and Their Applications.

[6]  Hong Zhu,et al.  Generating Structurally Complex Test Cases By Data Mutation: A Case Study Of Testing An Automated Modelling Tool , 2009, Comput. J..

[7]  Saurabh Bagchi,et al.  Smoothing the path to computing , 2019, Commun. ACM.

[8]  Tsong Yueh Chen,et al.  Automated functional testing of web search engines in the absence of an oracle , 2007 .

[9]  Alastair F. Donaldson,et al.  Metamorphic Testing for (Graphics) Compilers , 2016, 2016 IEEE/ACM 1st International Workshop on Metamorphic Testing (MET).

[10]  Tsong Yueh Chen,et al.  Automated functional testing of online search services , 2012, Softw. Test. Verification Reliab..

[11]  Jared D. DeMott,et al.  Fuzzing for Software Security Testing and Quality Assurance , 2008 .

[12]  Apostol Vassilev,et al.  Avoiding Cyberspace Catastrophes through Smarter Testing , 2014, Computer.

[13]  Tsong Yueh Chen,et al.  Fault-based testing without the need of oracles , 2003, Inf. Softw. Technol..

[14]  Alastair F. Donaldson,et al.  Automated testing of graphics shader compilers , 2017, Proc. ACM Program. Lang..

[15]  Suman Jana,et al.  DeepTest: Automated Testing of Deep-Neural-Network-Driven Autonomous Cars , 2017, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[16]  Mark Harman,et al.  The Oracle Problem in Software Testing: A Survey , 2015, IEEE Transactions on Software Engineering.