Publication Type

Journal Article

Version

acceptedVersion

Publication Date

3-2023

Abstract

Autonomous vehicle (AV) systems must be comprehensively tested and evaluated before they can be deployed. High-fidelity simulators such as CARLA or LGSVL allow this to be done safely in very realistic and highly customizable environments. Existing testing approaches, however, fail to test simulated AVs systematically, as they focus on specific scenarios and oracles (e.g., lane following scenario with the "no collision" requirement) and lack any coverage criteria measures. In this paper, we propose AVUnit, a framework for systematically testing AV systems against customizable correctness specifications. Designed modularly to support different simulators, AVUnit consists of two new languages for specifying dynamic properties of scenes (e.g. changing pedestrian behaviour after waypoints) and fine-grained assertions about the AV's journey. AVUnit further supports multiple fuzzing algorithms that automatically search for test cases that violate these assertions, using robustness and coverage measures as fitness metrics. We evaluated the implementation of AVUnit for the LGSVL+Apollo simulation environment, finding 19 kinds of issues in Apollo, which indicate that the open-source Apollo does not perform well in complex intersections and lane changing related scenarios.

Keywords

Autonomous Driving System, Testing, Specification Languages, Fuzzing, Coverage Criteria

Discipline

Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

IEEE Transactions on Software Engineering

First Page

1

Last Page

20

ISSN

0098-5589

Identifier

10.1109/TSE.2023.3254142

Publisher

Institute of Electrical and Electronics Engineers

Additional URL

https://doi.org/10.1109/TSE.2023.3254142

Share

COinS