Abstract
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.
Similar content being viewed by others
References
Angluin, D.: A note on the number of queries needed to identify regular languages. Inf. Control 51(1), 76–87 (1981)
Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(1), 87–106 (1987)
Bohlin, T., Jonsson, B.: Regular inference for communication protocol entities. In: Technical Report 2008-024, Dept. of Information Technology, Uppsala University (2008)
Clarke, Edmund M., Grumberg, Orna., Jha, Somesh., Yuan, Lu, Veith, Helmut: Counterexample-guided abstraction refinement for symbolic model checking. J. ACM 50(5), 752–794 (2003)
Dupont, P.: Incremental regular inference. In: Proceedings of the Third ICGI-96, Number 1147 in LNAI (1996)
Feng, L., Lundmark, S., Meinke, K., Niu, F., Sindhu, M. A., Wong, P.Y.H.: Case studies in learning-based testing. In: Yenigün, H., Yilmaz, C., Ulrich, A. (eds.) Testing Software and Systems, pp. 164–179. Springer, Berlin (2013)
Gold, E.M.: Language identification in the limit. Inf. Control 10, 447–474 (1967)
Isberner, M., Howar, F., Steffen, B.: The ttt algorithm: a redundancy-free approach to active automata learning. In: Bonakdarpour, B, Smolka, S.A. (eds.) Runtime Verification, pp. 307–322. Springer, Cham (2014)
Kearns, M.J., Vazirani, U.V.: An Introduction to Computational Learning Theory. MIT Press, Cambridge (1994)
Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. 2, 3rd edn. Addison-Wesley, Boston (1997)
Luecker, M.: Learning meets verification. In: de Boer, F. S., et al. (eds.) FMCO, volume 4709 of Lecture Notes in Computer Science, pp. 127–151. Springer (2006)
Meinke, K., Sindhu, M.A.: Incremental learning-based testing for reactive systems. In: Gogolla, M., Wolff, B. (eds.) Tests and Proofs, volume 6706 of Lecture Notes in Computer Science, pp. 134–151. Springer (2011)
Meinke, K., Sindhu, M. A.: Lbtest: A learning-based testing tool for reactive systems. In: 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation, pp. 447–454 (2013)
Meinke, K.., Niu, F., Sindhu, M.A.: Learning-based software testing: a tutorial. In: Proc. Fourth Int. ISoLA workshop on Machine Learning for Software Construction, Number 336 in CCIS, pp. 200–219. Springer (2012)
Norton, D.A.: Algorithms for testing equivalence of finite state automata, with a grading tool for jflap. Technical report, Rochester Institute of Technology, Department of Computer Science (2009)
Oliver Niese. An integrated approach to testing complex systems. PhD thesis (2003)
Parekh R.G., Nichitiu, C., Honavar, V.G.: A polynomial time incremental algorithm for regular grammar inference. In: Proc. Fourth Int. Colloq. on Grammatical Inference (ICGI 98), LNAI. Springer (1998)
Peled, D., Vardi, M. Y., Yannakakis, M.: Black box checking. In: FORTE, pp. 225–240 (1999)
Porat, Sara, Feldman, Jerome A.: Learning automata from ordered examples. Mach. Learn. 7, 109–138 (1991)
Raffelt, H., Steffen, B., Margaria, T.: Dynamic testing via automata learning. In: Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing, HVC’07, pp.136–152, Springer, Berlin (2008)
Sindhu, M.A., Meinke, K.: IDS: an incremental learning algorithm for finite automata. CoRR
Sindhu, M.: Algorithms and Tools for Learning-based Testing of Reactive Systems. PhD thesis, KTH, Theoretical Computer Science, TCS. QC 20130312 (2013)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Mazhar, R., Sindhu, M.A. DKL: an efficient algorithm for learning deterministic Kripke structures. Acta Informatica 58, 611–651 (2021). https://doi.org/10.1007/s00236-020-00387-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-020-00387-2