Adapting an AI Planning Heuristic for Directed Model Checking
There is a growing body of work on directed model checking, which improves the falsification of safety properties by providing heuristic functions that can guide the search quickly towards short error paths. Techniques of this kind have also been made very successful in the area of AI Planning. Our main technical contribution is the adaptation of the most successful heuristic function from AI Planning to the model checking context, yielding a new heuristic for directed model checking. The heuristic is based on solving an abstracted problem in every search state. We adapt the abstraction and its solution to networks of communicating automata annotated with (constraints and effects on) integer variables. Since our ultimate goal in this research is to also take into account clock variables, as used in timed automata, our techniques are implemented inside UPPAAL. We run experiments in some toy benchmarks for timed automata, and in two timed automata case studies originating from an industrial project. Compared to both blind search and some previously proposed heuristic functions, we consistently obtain significant, sometimes dramatic, search space reductions, resulting in likewise strong reductions of runtime and memory requirements.
KeywordsModel Check Integer Variable Search State Heuristic Function Greedy Search
Unable to display preview. Download preview PDF.
- 1.Holzmann, G.: The Spin Model Checker - Primer and Reference Manual. Addison-Wesley, Reading (2003)Google Scholar
- 2.Behrmann, G., Bengtsson, J., David, A., Larsen, K.G., Pettersson, P., Yi., W.: UPPAAL implementation secrets. In: Proceedings of the 7th International Symposium on Formal Techniques in Real-Time and Fault Tolerant Systems (2002)Google Scholar
- 4.Edelkamp, S., Lluch-Lafuente, A., Leue, S.: Directed explicit-state model checking in the validation of communication protocols. International Journal on Software Tools for Technology (2004)Google Scholar
- 6.Groce, A., Visser, W.: Model checking Java programs using structural heuristics. In: Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis, pp. 12–21. ACM Press, New York (2002)Google Scholar
- 13.Kupferschmid, S., Hoffmann, J., Dierks, H., Behrmann, G.: Adapting an AI planning heuristic for directed model checking. Technical Report 222, Albert-Ludwigs- Universität Freiburg, Institut für Informatik, Freiburg, Germany (2006), available at, http://www.informatik.uni-freiburg.de/tr/2006/Report222/
- 19.Olderog, E.R., Dierks, H.: Moby/RT: A tool for specification and verification of real-time systems. Journal of Universal Computer Science 9(2), 88–105 (2003)Google Scholar
- 21.Yang, C.H., Dill, D.L.: Validation with guided search of the state space. In: Proceedings of the 35th annual conference on Design automation, pp. 599–604. ACM Press, New York (1998)Google Scholar