Actively Learning to Verify Safety for FIFO Automata
We apply machine learning techniques to verify safety properties of finite state machines which communicate over unbounded FIFO channels. Instead of attempting to iteratively compute the reachable states, we use Angluin’s L* algorithm to learn these states symbolically as a regular language. The learnt set of reachable states is then used either to prove that the system is safe, or to produce a valid execution of the system that leads to an unsafe state (i.e. to produce a counterexample). Specifically, we assume that we are given a model of the system and we provide a novel procedure which answers both membership and equivalence queries for a representation of the reachable states. We define a new encoding scheme for representing reachable states and their witness execution; this enables the learning algorithm to analyze a larger class of FIFO systems automatically than a naive encoding would allow. We show the upper bounds on the running time and space for our method. We have implemented our approach in Java, and we demonstrate its application to a few case studies.
Unable to display preview. Download preview PDF.
- 4.Boigelot, B.: Symbolic Methods for Exploring Infinite State Spaces. PhD thesis, Collection des Publications de la Faculté des Sciences Appliquées de l’Université de Liége (1999)Google Scholar
- 8.Habermehl, P., Vojnar, T.: Regular model checking using inference of regular languages. In: Proc. of Infinity 2004, London, UK (2004) (to appear)Google Scholar
- 9.LEVER. Learning to verify tool (2004), http://osl.cs.uiuc.edu/~vardhan/lever.html
- 10.Nilsson, M. (2004), http://www.regularmodelchecking.com
- 12.Touili, T.: Regular model checking using widening techniques. ENTCS, vol. 50. Elsevier, Amsterdam (2001)Google Scholar
- 13.Vardhan, A., Sen, K., Viswanathan, M., Agha, G.: Actively learning to verify safety for FIFO automata, full version (2004), http://osl.cs.uiuc.edu/docs/lever-active/activeFifo.pdf