Exploring and categorizing error spacing using BMC and SMT

We describe an abstract methodology for exploring and categorizing the space of error traces for a system using a procedure based on Satisfiability Modulo Theories and Bounded Model Checking. A key component required by the technique is a way to generalize an error trace into a category of error traces. We describe tools and techniques to support a human expert in this generalization task. Finally, we report on a case study in which the methodology is applied to a simple version of the Traffic Air and Collision Avoidance System.

[1]  Edmund M. Clarke,et al.  Formal Verification of Curved Flight Collision Avoidance Maneuvers: A Case Study , 2009, FM.

[2]  Toby Walsh,et al.  Handbook of Satisfiability: Volume 185 Frontiers in Artificial Intelligence and Applications , 2009 .

[3]  Nancy A. Lynch,et al.  On the formal verification of the TCAS conflict resolution algorithms , 1997, Proceedings of the 36th IEEE Conference on Decision and Control.

[4]  J. Lygeros,et al.  High-level modeling and analysis of the traffic alert and collision avoidance system (TCAS) , 2000, Proceedings of the IEEE.

[5]  Cdsar,et al.  Aircraft Trajectory Modeling and Alerting Algorithm Verification , .

[6]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[7]  Victor Carreño,et al.  Aircraft Trajectory Modeling and Altering Algorithm Verification , 2000, TPHOLs.

[8]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[9]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[10]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[11]  Victor Carreño,et al.  Formal verification of conflict detection algorithms , 2001, International Journal on Software Tools for Technology Transfer.

[12]  Sriram Sankaranarayanan,et al.  Integrating ICP and LRA solvers for deciding nonlinear real arithmetic problems , 2010, Formal Methods in Computer Aided Design.

[13]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[14]  Victor Carreño,et al.  Formal Verification of Conflict Detection Algorithms , 2001, CHARME.

[15]  Roberto Bruttomesso,et al.  The OpenSMT Solver , 2010, TACAS.

[16]  James K. Kuchar,et al.  The Traffic Alert and Collision Avoidance System , 2007 .

[17]  Albert Oliveras,et al.  SMT Techniques for Fast Predicate Abstraction , 2006, CAV.

[18]  Marco Bozzano,et al.  Verifying Industrial Hybrid Systems with MathSAT , 2005, BMC@CAV.

[19]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

[20]  Theo Tryfonas,et al.  Frontiers in Artificial Intelligence and Applications , 2009 .

[21]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[22]  Nikolaj Bjørner,et al.  Bugs, Moles and Skeletons: Symbolic Reasoning for Software Development , 2010, IJCAR.