Skip to main content
Log in

FSM inference and checking sequence construction are two sides of the same coin

  • Published:
Software Quality Journal Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. http://automata.cs.ru.nl/Overview#Mealybenchmarks

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.

    Article  MathSciNet  MATH  Google Scholar 

  • Boute, R. T. (1974). Distinguishing sets for optimal state identification in checking experiments. IEEE Transactions on Computers, 23, 874–877.

    Article  Google Scholar 

  • Carbonnel, C., & Cooper, M. C. (2016). Tractability in constraint satisfaction problems: A survey. Constraints, 21(2), 115–144.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

    Article  MathSciNet  MATH  Google Scholar 

  • Gonenc, G. (1970). A method for the design of fault detection experiments. IEEE Transactions on Computers, 19, 551–558.

    Article  MATH  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Kella, J. (1971). Sequential machine identification. IEEE Transactions on Computers, 100(3), 332–338.

    Article  MATH  Google Scholar 

  • 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.

    Article  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Sabnani, K., & Dahbura, A. (1988). A protocol test generation procedure. Computer networks and ISDN systems, 15(4), 285–297.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • Yannakakis, M., & Lee, D. (1995). Testing finite state machines: Fault detection. Journal of Computer and System Sciences, 50(2), 209–227.

    Article  MathSciNet  MATH  Google Scholar 

  • 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.

Download references

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

Authors

Corresponding author

Correspondence to Alexandre Petrenko.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-018-9429-3

Keywords

Navigation