Testing a non-deterministic robot in simulation - How many repeated runs ?

Testing autonomous robots requires test campaigns in the field that could be expensive, risky for the system and its environment, or even impossible to set up. To cope with these limits, an expanding approach is to perform tests in virtual environments using simulators. Due to the non-determinism of the robot control and simulation execution, a test might fail or pass with exactly the same inputs (same world and mission). An important question is thus: how many runs are required to activate a fault? We particularly focus in this paper on the efficiency of repeated runs and world diversity in the context of functional testing. We address this research question with an industrial case study - an agricultural weeding robot developed by Naïo Technologies. We conclude that, in this case study, test input diversity is more efficient than repeated runs in order to activate faults. More importantly, we propose an experimental approach to assess the impact of the non-determinism, which may be reused in other case studies.

[1]  Jérémie Guiochet,et al.  Can Robot Navigation Bugs Be Found in Simulation? An Exploratory Study , 2017, 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS).

[2]  Albert Benveniste,et al.  programmi language and its , 2001 .

[3]  Malik Ghallab,et al.  Deliberation for autonomous robots: A survey , 2017, Artif. Intell..

[4]  Michael Luck,et al.  Evolutionary testing of autonomous software agents , 2009, Autonomous Agents and Multi-Agent Systems.

[5]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[6]  Christoph Schulze,et al.  Metamorphic Model-Based Testing of Autonomous Systems , 2017, 2017 IEEE/ACM 2nd International Workshop on Metamorphic Testing (MET).

[7]  Ève Coste-Manière,et al.  The ORCCAD Architecture , 1998, Int. J. Robotics Res..

[8]  Éric Rutten,et al.  Specifying and Verifying Active Vision-Based Robotic Systems with the SIGNAL Environment , 1998, Int. J. Robotics Res..

[9]  Hélène Waeselynck,et al.  The virtual lands of Oz: testing an agribot in simulation , 2020, Empirical Software Engineering.

[10]  Simon Lacroix,et al.  Repeatable Decentralized Simulations for Cyber-Physical Systems , 2019, 2019 IEEE 19th International Conference on Software Quality, Reliability and Security (QRS).

[11]  Lionel C. Briand,et al.  Testing advanced driver assistance systems using multi-objective search and neural networks , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[12]  Franz Wotawa,et al.  Ontology-based test generation for automated and autonomous driving functions , 2020, Inf. Softw. Technol..

[13]  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).

[14]  Gilberto Echeverria,et al.  Modular open robots simulation engine: MORSE , 2011, 2011 IEEE International Conference on Robotics and Automation.

[15]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[16]  Morgan Quigley,et al.  ROS: an open-source Robot Operating System , 2009, ICRA 2009.

[17]  Andrew Howard,et al.  Design and use paradigms for Gazebo, an open-source multi-robot simulator , 2004, 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE Cat. No.04CH37566).

[18]  Julian Togelius,et al.  Search-Based Procedural Content Generation: A Taxonomy and Survey , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[19]  Anneliese Amschler Andrews,et al.  World model for testing Urban Search and Rescue (USAR) robots using Petri Nets , 2016, 2016 4th International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[20]  Jérémie Guiochet,et al.  Virtual Worlds for Testing Robot Navigation: A Study on the Difficulty Level , 2016, 2016 12th European Dependable Computing Conference (EDCC).