Automata Learning Through Counterexample-Guided Abstraction Refinement

F. Aarts, F. Heidarian, H. Kuppens, P. Olsen, and F.W. Vaandrager. Automata Learning Through Counterexample-Guided Abstraction Refinement. In D. Giannakopoulou and D. Mery, editors. Proceedings 18th International Symposium on Formal Methods (FM 2012), Paris, France, August 27-31, 2012. LNCS 7436, pp. 10-27, Springer-Verlag, 2012.

Abstract

Abstraction is the key when learning behavioral models of realistic systems. Hence, in most practical applications where automata learning is used to construct models of software components, researchers manually define abstractions which, depending on the history, map a large set of concrete events to a small set of abstract events that can be handled by automata learning tools. In this article, we show how such abstractions can be constructed fully automatically for a restricted class of extended finite state machines in which one can test for equality of data parameters, but no operations on data are allowed. Our approach uses counterexample-guided abstraction refinement: whenever the current abstraction is too coarse and induces nondeterministic behavior, the abstraction is refined automatically. Using Tomte, a prototype tool implementing our algorithm, we have succeeded to learn - fully automatically - models of several realistic software components, including the biometric passport and the SIP protocol.

Conference version: pdf
Report version: pdf
Tool: Tomte