Generating models of infinite-state communication protocols using regular inference with abstraction

In order to facilitate model-based verification and validation, effort is underway to develop techniques for generating models of communication system components from observations of their external behavior. Most previous such work has employed regular inference techniques which generate modest-size finite-state models. They typically suppress parameters of messages, although these have a significant impact on control flow in many communication protocols. We present a framework, which adapts regular inference to include data parameters in messages and states for generating components with large or infinite message alphabets. A main idea is to adapt the framework of predicate abstraction, successfully used in formal verification. Since we are in a black-box setting, the abstraction must be supplied externally, using information about how the component manages data parameters. We have implemented our techniques by connecting the LearnLib tool for regular inference with an implementation of session initiation protocol (SIP) in ns-2 and an implementation of transmission control protocol (TCP) in Windows 8, and generated models of SIP and TCP components.

[1]  Bengt Jonsson,et al.  Learning of event-recording automata , 2010, Theor. Comput. Sci..

[2]  T. Kanade Model-Based Testing of Reactive Systems , 2005 .

[3]  James R. Larus,et al.  Mining specifications , 2002, POPL '02.

[4]  Margus Veanes,et al.  Model-Based Testing of Object-Oriented Reactive Systems with Spec Explorer , 2008, Formal Methods and Testing.

[5]  Johan Uijen Learning Models of Communication Protocols using Abstraction Techniques , 2009 .

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

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

[8]  Ronald L. Rivest,et al.  Inference of finite automata using homing sequences , 1989, STOC '89.

[9]  JonssonBengt,et al.  Generating models of infinite-state communication protocols using regular inference with abstraction , 2015 .

[10]  Olga Grinchtein Learning of Timed Systems , 2006 .

[11]  Joseph Sifakis,et al.  Property preserving abstractions for the verification of concurrent systems , 1995, Formal Methods Syst. Des..

[12]  Frits W. Vaandrager,et al.  A Theory of History Dependent Abstractions for Learning Interface Automata , 2012, CONCUR.

[13]  Keqin Li,et al.  Modular System Verification by Inference, Testing and Reachability Analysis , 2008, TestCom/FATES.

[14]  Nikolaj Bjørner,et al.  Symbolic finite state transducers: algorithms and applications , 2012, POPL '12.

[15]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[16]  Oliver Niese,et al.  An integrated approach to testing complex systems , 2003 .

[17]  Keqin Li,et al.  Integration Testing of Distributed Components Based on Learning Parameterized I/O Models , 2006, FORTE.

[18]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[19]  Keqin Li,et al.  Learning and Integration of Parameterized Components Through Testing , 2007, TestCom/FATES.

[20]  Corina S. Pasareanu,et al.  Learning Assumptions for Compositional Verification , 2003, TACAS.

[21]  Yuriy Brun,et al.  Finding latent code errors via machine learning over program executions , 2004, Proceedings. 26th International Conference on Software Engineering.

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

[23]  Frits W. Vaandrager,et al.  Learning and Testing the Bounded Retransmission Protocol , 2012, ICGI.

[24]  Antti Huima,et al.  Implementing Conformiq Qtronic , 2007, TestCom/FATES.

[25]  E. Mark Gold,et al.  Language Identification in the Limit , 1967, Inf. Control..

[26]  Umesh V. Vazirani,et al.  An Introduction to Computational Learning Theory , 1994 .

[27]  J. Davenport Editor , 1960 .

[28]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[29]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science) , 2005 .

[30]  Bengt Jonsson,et al.  Demonstrating Learning of Register Automata , 2012, TACAS.

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

[32]  Helmut Veith,et al.  25 Years of Model Checking - History, Achievements, Perspectives , 2008, 25 Years of Model Checking.

[33]  J. P. Ed,et al.  Transmission control protocol- darpa internet program protocol specification , 1981 .

[34]  Leonardo Mariani,et al.  Dynamic Detection of COTS Component Incompatibility , 2007, IEEE Software.

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

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

[37]  Hardi Hungar,et al.  Domain-Specific Optimization in Automata Learning , 2003, CAV.

[38]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[39]  Bernhard Steffen,et al.  Automata Learning with Automated Alphabet Abstraction Refinement , 2011, VMCAI.

[40]  Bengt Jonsson,et al.  Regular Inference for State Machines with Parameters , 2006, FASE.

[41]  Manfred Broy,et al.  Model-Based Testing of Reactive Systems, Advanced Lectures [The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004] , 2005, Model-Based Testing of Reactive Systems.

[42]  W. Richard Stevens,et al.  TCP/IP Illustrated, Volume 1: The Protocols , 1994 .

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

[44]  Jan Tretmans,et al.  A Formal Approach to Conformance Testing , 1993, Protocol Test Systems.

[45]  AngluinDana Learning regular sets from queries and counterexamples , 1987 .

[46]  Alex Groce,et al.  Adaptive Model Checking , 2002, Log. J. IGPL.

[47]  Wolfgang Grieskamp,et al.  Model‐based quality assurance of protocol documentation: tools and methodology , 2011, Softw. Test. Verification Reliab..

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

[49]  David Lee,et al.  Testing Security Properties of Protocol Implementations - a Machine Learning Based Approach , 2007, 27th International Conference on Distributed Computing Systems (ICDCS '07).

[50]  Hardi Hungar,et al.  Model Generation by Moderated Regular Extrapolation , 2002, FASE.

[51]  Bengt Jonsson,et al.  Compositional specification and verification of distributed systems , 1994, TOPL.

[52]  Leonardo Mariani,et al.  Automatic generation of software behavioral models , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[53]  Sriram K. Rajamani,et al.  The SLAM project: debugging system software via static analysis , 2002, POPL '02.

[54]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

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

[56]  Frits W. Vaandrager,et al.  Inference and Abstraction of the Biometric Passport , 2010, ISoLA.

[57]  Mehryar Mohri,et al.  Finite-State Transducers in Language and Speech Processing , 1997, CL.