Title :
Verification and testing of mobile robot navigation algorithms: A case study in SPARK
Author :
Trojanek, Piotr ; Eder, Kerstin
Author_Institution :
Dept. of Comput. Sci., Univ. of Bristol, Bristol, UK
Abstract :
Navigation algorithms are fundamental for mobile robots. While the correctness of the algorithms is important, it is equally important that they do not fail because of bugs in their implementation. Yet, even widely-used robot navigation code lacks proofs of correctness or credible coverage reports from testing. Robot software developers usually point towards the cost of manual verification or lack of automated tools that would handle their code. We demonstrate that the choice of programming language is essential both for finding bugs in the code and for proving their absence. Our re-implementation of three robot navigation algorithms in SPARK revealed bugs that for years have not been detected in their original code in C/C++. For one of the implementations we demonstrate that it is free from run-time errors. Our code and results are available online to encourage uptake by the robot software developers community.
Keywords :
C++ language; control engineering computing; formal verification; mobile robots; path planning; program debugging; C-C++ language; SPARK algorithm; bugs detection; coverage reports; mobile robot navigation algorithms; programming language; robot navigation code; Arrays; Libraries; Navigation; Robots; Software; Software algorithms; Sparks;
Conference_Titel :
Intelligent Robots and Systems (IROS 2014), 2014 IEEE/RSJ International Conference on
Conference_Location :
Chicago, IL
DOI :
10.1109/IROS.2014.6942753