Testing Graph Searching Based Path Planning Algorithms by Metamorphic Testing

Path planning algorithms play critical roles in the systems of robots and unmanned aerial vehicles (UAVs). However, it is always difficult to verify the correctness of the implementations for such algorithms because the "planning oracles", the expected planning results, are usually hard to be obtained for complicate planning tasks. To improve software reliability, in this paper, we present a testing technique for verifying the implementations of graph searching based path planning algorithms deployed on robots and UAVs. Our approach is based on the technique of Metamorphic Testing, which has been shown considerable effectiveness in alleviating the absence of Oracle problems. According to the characteristics of graph searching based path planning problem, we present a framework to systematically design metamorphic relations. Based on the framework, six categories of metamorphic relations are proposed. We conduct the empirical analysis on 21 implements of three different path planning algorithms applied in a released business software project. The experimental results show that our approach can effectively detect dormant faults.

[1]  Magnus Egerstedt,et al.  Multi-UAV Convoy Protection: An Optimal Approach to Path Planning and Coordination , 2010, IEEE Transactions on Robotics.

[2]  Yang Liu,et al.  Survey on computational-intelligence-based UAV path planning , 2018, Knowl. Based Syst..

[3]  Tom Schouwenaars,et al.  Safe Trajectory Planning of Autonomous Vehicles , 2006 .

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

[5]  David Furcy,et al.  Lifelong Planning A , 2004, Artif. Intell..

[6]  Kai-Yuan Cai,et al.  Adaptive path planning for unmanned aerial vehicles based on bi-level programming and variable planning time interval , 2013 .

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

[8]  Yang Liu,et al.  The more obstacle information sharing, the more effective real-time path planning? , 2016, Knowl. Based Syst..

[9]  Baowen Xu,et al.  Testing and validating machine learning classifiers by metamorphic testing , 2011, J. Syst. Softw..

[10]  Emilio Frazzoli,et al.  Sampling-based algorithms for optimal motion planning , 2011, Int. J. Robotics Res..

[11]  Huai Liu,et al.  Metamorphic Testing , 2018, ACM Comput. Surv..

[12]  Nancy G. Leveson,et al.  An experimental evaluation of the assumption of independence in multiversion programming , 1986, IEEE Transactions on Software Engineering.

[13]  Tsong Yueh Chen,et al.  Proportional sampling strategy: a compendium and some insights , 2001, J. Syst. Softw..

[14]  Nils J. Nilsson,et al.  A Formal Basis for the Heuristic Determination of Minimum Cost Paths , 1968, IEEE Trans. Syst. Sci. Cybern..

[15]  Alban Grastien,et al.  Online Graph Pruning for Pathfinding On Grid Maps , 2011, AAAI.

[16]  Adam Niewola,et al.  L* Algorithm—A Linear Computational Complexity Graph Searching Algorithm for Path Planning , 2018, J. Intell. Robotic Syst..

[17]  R. John Hansman,et al.  SAFETY CONSIDERATIONS FOR OPERATION OF UNMANNED AERIAL VEHICLES IN THE NATIONAL AIRSPACE SYSTEM , 2006 .

[18]  Narendra Ahuja,et al.  Gross motion planning—a survey , 1992, CSUR.

[19]  Elaine J. Weyuker,et al.  Pseudo-oracles for non-testable programs , 1981, ACM '81.

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

[21]  Wei Liu,et al.  Bi-level programming based real-time path planning for unmanned aerial vehicles , 2013, Knowl. Based Syst..

[22]  Kishor S. Trivedi,et al.  Studying Aging-Related Bug Prediction Using Cross-Project Models , 2019, IEEE Transactions on Reliability.

[23]  John Canny,et al.  The complexity of robot motion planning , 1988 .

[24]  Tsong Yueh Chen,et al.  Metamorphic Testing: A New Approach for Generating Next Test Cases , 2020, ArXiv.

[25]  Danna Zhou,et al.  d. , 1934, Microbial pathogenesis.

[26]  Zheng Zheng,et al.  Evolution analysis of a UAV real-time operating system from a network perspective , 2019 .

[27]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.