Static analysis techniques for robotics software verification

We overview the main semantics-based static analysis techniques for software verification: Data-flow analysis, Control-flow Analysis, Model Checking, and Abstract Interpretation. The complexity of control software, lying at the core of robotic systems, and the intensive use of numeric values pose several challenges for the formal verification of either functional or non-functional properties.

[1]  Flemming Nielson,et al.  Static validation of security protocols , 2005, J. Comput. Secur..

[2]  Georg Frey,et al.  Formal verification of PLC programs generated from signal interpreted Petri nets , 2001, 2001 IEEE International Conference on Systems, Man and Cybernetics. e-Systems and e-Man for Cybernetics in Cyberspace (Cat.No.01CH37236).

[3]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[4]  David Grove,et al.  Fast interprocedural class analysis , 1998, POPL '98.

[5]  Alan J. Hu,et al.  Automatic formal verification of DSP software , 2000, DAC.

[6]  Antonia Bertolino,et al.  Automatic Generation of Path Covers Based on the Control Flow Analysis of Computer Programs , 1994, IEEE Trans. Software Eng..

[7]  Patrice Godefroid,et al.  Model checking for programming languages using VeriSoft , 1997, POPL '97.

[8]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[9]  Agostino Cortesi,et al.  Abstract program slicing on dependence condition graphs , 2013, Sci. Comput. Program..

[10]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[11]  Thomas W. Reps,et al.  Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation , 1995, TAPSOFT.

[12]  Matthias Scheutz,et al.  Development environments for autonomous mobile robots: A survey , 2007, Auton. Robots.

[13]  Thomas A. Henzinger,et al.  HYTECH: The Cornell HYbrid TECHnology Tool , 1994, Hybrid Systems.

[14]  Agostino Cortesi,et al.  Widening and narrowing operators for abstract interpretation , 2011, Comput. Lang. Syst. Struct..

[15]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[16]  Agostino Cortesi,et al.  Information flow security in Boundary Ambients , 2008, Inf. Comput..

[17]  Agostino Cortesi,et al.  Abstract interpretation of database query languages , 2012, Comput. Lang. Syst. Struct..

[18]  Bernd J. Krämer,et al.  Automated Verification of Function Block Based Industrial Control Systems , 1999, Electron. Notes Theor. Comput. Sci..

[19]  Andreas Podelski,et al.  Termination proofs for systems code , 2006, PLDI '06.

[20]  Junbeom Yoo,et al.  A Verification Framework for FBD Based Software in Nuclear Power Plants , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[21]  Thomas W. Reps,et al.  Precise interprocedural dataflow analysis via graph reachability , 1995, POPL '95.

[22]  Harry G. Mairson,et al.  Relating complexity and precision in control flow analysis , 2007, ICFP '07.

[23]  Patrick Cousot,et al.  A static analyzer for large safety-critical software , 2003, PLDI.

[24]  Lori A. Clarke,et al.  Flow analysis for verifying properties of concurrent software systems , 2004, TSEM.

[25]  Michael R. M. Jenkin,et al.  Computational principles of mobile robotics , 2000 .

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

[27]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[28]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[29]  Agostino Cortesi,et al.  Abstract Interpretation-Based Verification of Non-functional Requirements , 2005, COORDINATION.

[30]  Christel Baier,et al.  Validation of Stochastic Systems , 2004, Lecture Notes in Computer Science.

[31]  Agostino Cortesi,et al.  Complementation in abstract interpretation , 1997, TOPL.

[32]  Jacopo Mantovani Automatic software verification for robotics , 2008, AI Commun..

[33]  Thomas W. Reps,et al.  Demand interprocedural dataflow analysis , 1995, SIGSOFT FSE.

[34]  Agostino Cortesi,et al.  Semantic Hierarchy Refactoring by Abstract Interpretation , 2006, VMCAI.

[35]  Henning Dierks Comparing model checking and logical reasoning for real-time systems , 2004, Formal Aspects of Computing.

[36]  Olaf Stursberg,et al.  Verification of PLC Programs Given as Sequential Function Charts , 2004, SoftSpez Final Report.