Learning Register Automata with Fresh Value Generation

We present a new algorithm for active learning of register automata. Our algorithm uses counterexample-guided abstraction refinement to automatically construct a component which maps in a history dependent manner the large set of actions of an implementation into a small set of actions that can be handled by a Mealy machine learner. The class of register automata that is handled by our algorithm extends previous definitions since it allows for the generation of fresh output values. This feature is crucial in many real-world systems e.g. servers that generate identifiers, passwords or sequence numbers. We have implemented our new algorithm in a tool called Tomte.

[1]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[2]  Tiziana Margaria,et al.  Next Generation LearnLib , 2011, TACAS.

[3]  Dawn Xiaodong Song,et al.  Inference and analysis of formal models of botnet command and control protocols , 2010, CCS '10.

[4]  Walter Daelemans Colin de la Higuera: Grammatical inference: learning automata and grammars , 2011, Machine Translation.

[5]  Ramon Janssen,et al.  Learning Fragments of the TCP Network Protocol , 2014, FMICS.

[6]  Inferring SSH state machines using protocol state fuzzing , 2016 .

[7]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[8]  Jan Tretmans,et al.  Approximate Active Learning of Nondeterministic Input Output Transition Systems , 2015, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[9]  A. Nerode,et al.  Linear automaton transformations , 1958 .

[10]  Joeri de Ruiter,et al.  Automated Reverse Engineering using Lego® , 2014, WOOT.

[11]  W. Marsden I and J , 2012 .

[12]  Stephan Merz,et al.  Model Checking , 2000 .

[13]  Bengt Jonsson,et al.  Inferring Semantic Interfaces of Data Structures , 2012, ISoLA.

[14]  Benedikt Bollig,et al.  libalf: The Automata Learning Framework , 2010, CAV.

[15]  Bengt Jonsson,et al.  A succinct canonical register automaton model , 2015, J. Log. Algebraic Methods Program..

[16]  Tiziana Margaria,et al.  LearnLib: a framework for extrapolating behavioral models , 2009, International Journal on Software Tools for Technology Transfer.

[17]  Bengt Jonsson,et al.  Generating models of infinite-state communication protocols using regular inference with abstraction , 2015, Formal Methods Syst. Des..

[18]  Dana Angluin,et al.  Learning Regular Sets from Queries and Counterexamples , 1987, Inf. Comput..

[19]  Bernhard Steffen,et al.  Learning register automata: from languages to program structures , 2014, Machine Learning.

[20]  Bengt Jonsson,et al.  Inferring Canonical Register Automata , 2012, VMCAI.

[21]  Mihalis Yannakakis,et al.  Black Box Checking , 1999, FORTE.

[22]  Frits W. Vaandrager,et al.  Automata Learning through Counterexample Guided Abstraction Refinement , 2012, FM.

[23]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[24]  B. Jonsson,et al.  RALib : A LearnLib extension for inferring EFSMs , 2015 .

[25]  Fides Aarts,et al.  Tomte : bridging the gap between active learning and real-world systems , 2014 .

[26]  Marinus J. Plasmeijer,et al.  Model-Based Shrinking for State-Based Testing , 2013, Trends in Functional Programming.

[27]  Bernhard Steffen,et al.  Introduction to Active Automata Learning from a Practical Perspective , 2011, SFM.

[28]  Frits W. Vaandrager,et al.  Algorithms for Inferring Register Automata - A Comparison of Existing Approaches , 2014, ISoLA.

[29]  Colin de la Higuera,et al.  Grammatical Inference: Learning Automata and Grammars , 2010 .

[30]  Falk Howar,et al.  Active learning of interface programs , 2012 .

[31]  Randal E. Bryant,et al.  A View from the Engine Room: Computational Support for Symbolic Model Checking , 2008, 25 Years of Model Checking.

[32]  Jan Tretmans,et al.  Active Learning of Nondeterministic Systems from an ioco Perspective , 2014, ISoLA.

[33]  Bernhard Steffen,et al.  The TTT Algorithm: A Redundancy-Free Approach to Active Automata Learning , 2014, RV.

[34]  Bengt Jonsson,et al.  Learning Extended Finite State Machines , 2014, SEFM.

[35]  Joeri de Ruiter,et al.  Formal Models of Bank Cards for Free , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[36]  Bengt Jonsson,et al.  Active learning for extended finite state machines , 2016, Formal Aspects of Computing.

[37]  Tiziana Margaria,et al.  Dynamic testing via automata learning , 2007, International Journal on Software Tools for Technology Transfer.