Relaxation Refinement: A New Method to Generate Heuristic Functions

In artificial intelligence, a relaxation of a problem is an overapproximation whose solution in every state of an explicit search provides a heuristic solution distance estimate. The heuristic guides the exploration, potentially shortening the search by exponentially many search states. The big question is how a good relaxation for the problem at hand should be derived. In model checking, overapproximations are called abstractions , and abstraction refinement is a powerful method developed to derive approximations that are sufficiently precise for verifying the system at hand. In our work, we bring these two paradigms together. We pioneer the application of (predicate) abstraction refinement for the generation of heuristic functions that are intelligently adapted to the problem at hand. We investigate how an abstraction refinement process for generating heuristic functions should differ from the process used in the verification context. We do so in the context of DMC of timed automata. We obtain a variety of interesting insights about this approach.

[1]  Stefan Edelkamp,et al.  Model Checking and Artificial Intelligence, 4th Workshop, MoChArt IV, Riva del Garda, Italy, August 29, 2006, Revised Selected and Invited Papers , 2007, MoChArt.

[2]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[3]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[4]  Joseph Sifakis,et al.  Tools and Applications II: The IF Toolset , 2004 .

[5]  S. Kupferschmid,et al.  Adapting an AI Planning Heuristic for Directed Model Checking , 2006, SPIN.

[6]  Natarajan Shankar,et al.  ICS: Integrated Canonizer and Solver , 2001, CAV.

[7]  S. Anderson,et al.  Secure Synthesis of Code: A Process Improvement Experiment , 1999, World Congress on Formal Methods.

[8]  Andreas Podelski,et al.  ACSAR: Software Model Checking with Transfinite Refinement , 2007, SPIN.

[9]  Bernd Finkbeiner,et al.  Uppaal/DMC- Abstraction-Based Heuristics for Directed Model Checking , 2007, TACAS.

[10]  Wolfgang Reisig,et al.  Lectures on Concurrency and Petri Nets , 2003, Lecture Notes in Computer Science.

[11]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[12]  Andreas Podelski,et al.  Boolean and Cartesian Abstraction for Model Checking C Programs , 2001, TACAS.

[13]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[14]  Andreas Podelski,et al.  ARMC: The Logical Choice for Software Model Checking with Abstraction Refinement , 2007, PADL.

[15]  Wang Yi,et al.  Timed Automata: Semantics, Algorithms and Tools , 2003, Lectures on Concurrency and Petri Nets.

[16]  Larry S. Davis,et al.  Pattern Databases , 1979, Data Base Design Techniques II.

[17]  Andreas Podelski,et al.  Using Predicate Abstraction to Generate Heuristic Functions in UPPAAL , 2007, MoChArt.

[18]  Bernd Finkbeiner,et al.  Directed model checking with distance-preserving abstractions , 2006, International Journal on Software Tools for Technology Transfer.

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

[20]  Stefan Edelkamp,et al.  Abstraction in directed model checking , 2004 .

[21]  Jörg Hoffmann,et al.  A New Method to Index and Query Sets , 1999, IJCAI.

[22]  Ernst-Rüdiger Olderog,et al.  The UniForM Workbench, a Universal Development Environment for Formal Methods , 1999, World Congress on Formal Methods.

[23]  Albert Nymeyer,et al.  Guided Invariant Model Checking Based on Abstraction and Symbolic Pattern Databases , 2004, TACAS.

[24]  Stefan Edelkamp,et al.  Directed explicit-state model checking in the validation of communication protocols , 2004, International Journal on Software Tools for Technology Transfer.

[25]  Richard E. Korf,et al.  Finding Optimal Solutions to Rubik's Cube Using Pattern Databases , 1997, AAAI/IAAI.

[26]  Andreas Podelski,et al.  Relative Completeness of Abstraction Refinement for Software Model Checking , 2002, TACAS.

[27]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[28]  Edmund M. Clarke SAT-Based Counterexample Guided Abstraction Refinement , 2002, SPIN.

[29]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[30]  Albert Nymeyer,et al.  Abstraction-Based Model Checking Using Heuristical Refinement , 2004, ATVA.