DKL: an efficient algorithm for learning deterministic Kripke structures

There has been a recent growth of interest in software engineering community to use grammatical inference, aka automaton learning, in software engineering applications. This is primarily due to the reason that capacity of underlying hardware resources has improved significantly over the last years; which has enabled the use of this approach beyond the toy examples in a greater frequency. In this paper, we present a new grammatical inference algorithm, DKL, to learn deterministic Kripke structures. The DKL is only the second of its kind for incremental learning of deterministic Kripke structures. Earlier, IKL algorithm was introduced for learning deterministic Kripke structures but it often constructs a hypothesis much larger in state size than the target Kripke structure. This problem is known as state-space explosion and it primarily occurs due to the sub-direct product construction used in the IKL design, which in turn affects time efficiency of IKL; especially when it is used for practical applications of software engineering. The DKL algorithm is designed to resolve the problem of state-space explosion. We give a proof of correctness and termination of the DKL algorithm. We also compared the performance of DKL with IKL by implementing an evaluation framework. Our results show that DKL is more efficient in terms of time in reaching the target automaton than the IKL algorithm and is not prone to the problem of state-space explosion.

[1]  Pierre Dupont,et al.  Incremental regular inference , 1996, ICGI.

[2]  Lei Feng,et al.  Case Studies in Learning-Based Testing , 2013, ICTSS.

[3]  Muddassar A. Sindhu,et al.  Algorithms and Tools for Learning-based Testing of Reactive Systems , 2013 .

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

[5]  Dana Angluin,et al.  A Note on the Number of Queries Needed to Identify Regular Languages , 1981, Inf. Control..

[6]  Therese Bohlin,et al.  Regular Inference for Communication Protocol Entities , 2008 .

[7]  Karl Meinke,et al.  LBTest: A Learning-Based Testing Tool for Reactive Systems , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[8]  Karl Meinke,et al.  Incremental Learning-Based Testing for Reactive Systems , 2011, TAP@TOOLS.

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

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

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

[12]  Rajesh Parekh,et al.  A Polynominal Time Incremental Algorithm for Learning DFA , 1998, ICGI.

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

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

[15]  Jerome A. Feldman,et al.  Learning Automata from Ordered Examples , 1991, Mach. Learn..

[16]  Rajesh Parekh,et al.  A Polynomial Time Incremental Algorithm for Regular Grammar Inference , 1997 .

[17]  Karl Meinke,et al.  Learning-Based Software Testing: A Tutorial , 2011, ISoLA Workshops.

[18]  Martin Leucker,et al.  Learning Meets Verification , 2006, FMCO.

[19]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

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

[21]  Tiziana Margaria,et al.  Dynamic Testing Via Automata Learning , 2007, Haifa Verification Conference.

[22]  Karl Meinke,et al.  IDS: An Incremental Learning Algorithm for Finite Automata , 2012, ArXiv.