Abstract
The paper focuses on the problems of passive and active FSM inference as well as checking sequence generation. We consider the setting where an FSM cannot be reset so that its inference is constrained to a single trace either given a priori in a passive inference scenario or to be constructed in an active inference scenario or aiming at obtaining checking sequence for a given FSM. In each of the last two cases, the expected result is a trace representing a checking sequence for an inferred machine, if it was not given. We demonstrate that this can be achieved by a repetitive use of a procedure that infers an FSM from a given trace (identifying a minimal machine consistent with a trace) avoiding equivalent conjectures. We thus show that FSM inference and checking sequence construction are two sides of the same coin. Following an existing approach of constructing conjectures by SAT solving, we elaborate first such a procedure and then based on it the methods for obtaining checking sequence for a given FSM and inferring a machine from a black box. The novelty of our approach is that it does not use any state identification facilities. We demonstrate that the proposed approach can also be constrained to find a solution in a subset of FSMs represented by a nondeterministic mutation machine. Experiments with a prototype implementation of the developed approach using an existing SAT solver indicate that it scales for FSMs with up to a dozen of states and requires relatively short sequences to identify a black box machine.
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11219-018-9429-3/MediaObjects/11219_2018_9429_Fig1_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11219-018-9429-3/MediaObjects/11219_2018_9429_Fig2_HTML.png)
![](http://media.springernature.com/m312/springer-static/image/art%3A10.1007%2Fs11219-018-9429-3/MediaObjects/11219_2018_9429_Fig3_HTML.png)
Similar content being viewed by others
References
Abel, A., Reineke, J.. (2015) MeMin SAT-based exact minimization of incompletely specified mealy machines. In IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 94–101
Biermann, A. W., & Feldman, J. A. (1972). On the synthesis of finite-state machines from samples of their behavior. IEEE Transactions on Computers, 100(6), 592–597.
Boute, R. T. (1974). Distinguishing sets for optimal state identification in checking experiments. IEEE Transactions on Computers, 23, 874–877.
Carbonnel, C., & Cooper, M. C. (2016). Tractability in constraint satisfaction problems: A survey. Constraints, 21(2), 115–144.
De la Higuera, C. (2010). Grammatical inference: Learning automata and grammars. Cambridge University Press.
Gold, E. M. (1978). Complexity of automaton identification from given data. Information and Control, 37(3), 302–320.
Gonenc, G. (1970). A method for the design of fault detection experiments. IEEE Transactions on Computers, 19, 551–558.
Groz, R., Li, K., Petrenko, A., & Shahbaz, M. (2008). Modular system verification by inference, testing and reachability analysis. In Testing of software and communicating systems (pp. 216–233). Berlin: Springer.
Groz, R., Simao, A., Petrenko, A., & Oriat, C. (2018). Inferring FSM models of systems without reset. A. Bennaceur et al. (Eds.): ML for dynamic software analysis. LNCS, 11026, 178–201.
Hennie, F.C.. (1965) Fault-detecting experiments for sequential circuits. In the Fifth Annual Symposium on Circuit Theory and Logical Design, 95–110.
Heule, M. J., & Verwer, S. (2010). Exact DFA identification using SAT solvers. Berlin Heidelberg: In International Colloquium on Grammatical Inference (pp. 66–79). Springer.
Hierons, R. M., & Ural, H. (2006). Optimizing the length of checking sequences. IEEE Transactions on Computers, 55(5), 618–629.
Kella, J. (1971). Sequential machine identification. IEEE Transactions on Computers, 100(3), 332–338.
Koufareva, I., Petrenko, A., & Yevtushenko, N. (1999). Test generation driven by user-defined fault models. In Proceedings of the 12th International Workshop on Testing of Communicating Systems (pp. 215–233).
Moore, E. F. (1956) Gedanken experiments on sequential machines. In Automata studies. Annals of mathematical Studies, 34, 129–153.
Oliveira, A. L., & Silva, J. P. M. (2001). Efficient algorithms for the inference of minimum size dfas. Machine Learning, 44(1), 93–119.
Petrenko, A., & Simao, A. (2017). Generating checking sequences for user defined fault models. In IFIP international conference on testing software and systems (pp. 320–325). Springer.
Petrenko, A., & Yevtushenko, N. (1992). Test suite generation for an FSM with a given type of implementation errors. In Proceedings of IFIP 12th International Symposium on Protocol Specification, Testing, and Verification, USA (229–243).
Petrenko, A., & Yevtushenko, N. (2005). Testing from partial deterministic FSM specifications. IEEE Transactions on Computers, 54(9), 1154–1165.
Petrenko, A., Avellaneda, F., Groz, R. and Oriat, C.. (2017) From passive to active FSM inference via checking sequence construction. In IFIP International Conference on Testing Software and Systems. Springer, 126–141.
Porto F. R., Endo A. T., & Simao A. (2013). Generation of checking sequences using identification sets. In ICFEM 2013. LNCS, vol. 8144 (pp. 115–130). Berlin: Springer.
Rezaki, A., & Ural, H. (1995). Construction of checking sequences based on characterization sets. Computer Communications, 18(12), 911–920.
Rivest, R. L., & Schapire, R. E. (1993). Inference of finite automata using homing sequences. In Machine learning: From theory to applications (pp. 51–73). Berlin: Springer.
Sabnani, K., & Dahbura, A. (1988). A protocol test generation procedure. Computer networks and ISDN systems, 15(4), 285–297.
Simao, A. S., & Petrenko, A. (2008). Generating checking sequences for partial reduced finite state machines. TestCom/FATES 2008. LNCS, vol. 5047 (pp. 153–168). Heidelberg: Springer.
Simao, A., & Petrenko, A. (2009). Checking sequence generation using state distinguishing subsequences. In The IEEE ICST Workshops (pp. 48–56).
Soos, M.. (2009) CryptoMiniSat—a SAT solver for cryptographic problems. http://www.msoos.org/ cryptominisat.
Vasilevski, M. P. (1973). Failure diagnosis of automata (Vol. 4, pp. 653–665). New York: Cybernetics, Plenum Publishing Corporation.
Yannakakis, M., & Lee, D. (1995). Testing finite state machines: Fault detection. Journal of Computer and System Sciences, 50(2), 209–227.
Yao, M., Petrenko, A. and Bochmann, G.V.. (1993) Conformance testing of protocol machines without reset. In Proceedings of the IFIP Thirteenth International Symposium on Protocol Specification, Testing and Verification. North-Holland Publishing Co. 241–256.
Acknowledgements
This work was partially supported by MESI (Ministère de l’Économie, Science et Innovation) of Gouvernement du Québec, NSERC of Canada and CAE. The authors wish to thank the reviewers for their useful comments.
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
Petrenko, A., Avellaneda, F., Groz, R. et al. FSM inference and checking sequence construction are two sides of the same coin. Software Qual J 27, 651–674 (2019). https://doi.org/10.1007/s11219-018-9429-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-018-9429-3