Skip to main content
Log in

Toward testing from finite state machines with symbolic inputs and outputs

  • Theme Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

After 60 or so years of development, the theory of checking experiments for FSM still continues to attract a lot of attention of research community. One of the reasons is that it offers test generation techniques which under well-defined assumptions guarantee complete fault coverage for a given fault model of a specification FSM. Checking experiments have already been extended to remove assumptions that the specification Mealy machine need to be reduced, deterministic, and completely specified, while keeping the input, output and state sets finite. In our recent work, we investigated possibilities of removing the assumption about the finiteness of the input set, introducing the model FSM with symbolic inputs. In this paper, we report the results that further lift the theory of checking experiments for Mealy machines with symbolic inputs and symbolic outputs. The former are predicates defined over input variables and the latter are output variable valuations computed by assignments on input variables. Both types of variables can have large or even infinite domains. Inclusion of assignments in the model complicates even output fault detection, as different assignments may produce the same output valuations for some input valuations. We address this issue by using a transition cover composed of symbolic inputs on which the assignments produce different outputs. The enhanced transition cover is then used in checking experiments, which detect assignment/output faults and more general transition faults under certain assumptions.

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

References

  1. Anand, S., Burke, E.K., Chen, T.Y., Clark, J., Cohen, M.B., Grieskamp, W., Harman, M., Harrold, M.J., McMinn, P.: An orchestrated survey of methodologies for automated software test case generation. J. Syst. Softw. 86(8), 1978–2001 (2013)

    Article  Google Scholar 

  2. Bochmann, G.V., Das, A., Dssouli, R., Dubuc, M., Ghedamsi, A., Luo, G.: Fault models in testing. In: Proceedings of the IFIP TC6/WG6. 1 Fourth International Workshop on Protocol Test Systems, vol. IV, pp. 17–30. North-Holland Publishing Co. (1991)

  3. Cheng, K.T., Krishnakumar, A.S.: Automatic functional test generation using the extended finite state machine model. In: Proceedings of 30th Design Automation Conference, pp. 86–91 (1993)

  4. Chow, T.S.: Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. 4(3), 178–187 (1978)

    Article  MATH  Google Scholar 

  5. Chun, W., Amer, P.D.L.: Test case generation for protocols specified in Estelle. In: Proceedings of the IFIP TC6/WG6. 1 Third International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols: Formal Description Techniques, vol. III, pp. 191–206. North-Holland Publishing Co (1990)

  6. Dorofeeva, R., Yevtushenko, N., El-Fakih, K., Cavalli, A.: Experimental evaluation of FSM-based testing methods. In: Third IEEE International Conference on Software Engineering and Formal Methods, pp. 23–32. IEEE Computer Society (2005)

  7. Fabbri, S., et al.: Mutation testing applied to validate specifications based on statecharts. In: Proceedings of 10th IEEE Symposium on Software Reliability Engineering, pp. 210–219 (1999)

  8. Frantzen, L., Tretmans, J., Willemse, T.A.C.: Test generation based on symbolic specifications. In: Formal Approaches to Software Testing (FATES). Lecture Notes in Computer Science, vol. 3395, pp. 1–15 (2004)

  9. Friedenthal, S., Moore, A., Steiner, R.: A practical guide to SysML: the systems modeling language. Morgan Kaufmann, San Francisco (2014)

    Google Scholar 

  10. Fujiwara, S., von Bochmann, G., Khendek, F., Amalou, M., Ghedamsi, A.: Test selection based on finite state models. IEEE Trans. Softw. Eng. 17(6), 591–603 (1991)

    Article  Google Scholar 

  11. Glässer, U., Gotzhein, R., Prinz, A.: The formal semantics of SDL-2000: status and perspectives. Comput. Netw. 42(3), 343–358 (2003)

    Article  MATH  Google Scholar 

  12. Harel, D., Naamad, A.: The statemate semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5(4), 293–333 (1996)

    Article  Google Scholar 

  13. Hennie, F.C.: Fault-detecting experiments for sequential circuits. In: Proceedings of Fifth Annual Symposium on Circuit Theory and Logical Design, pp. 95–110 (1965)

  14. Hong, H.S., Lee, I., Sokolsky, O., Ural, H.: A temporal logic based theory of test coverage and generation. In: Tools and Algorithms for the Construction and Analysis of Systems. Lecture Notes in Computer Science, pp. 327–341. Springer, Berlin (2002)

  15. Huang, W., Peleska, J.: Exhaustive model-based equivalence class testing. In: International Conference on Testing Software and Systems. Lecture Notes in Computer Science, pp. 49–64. Springer, Berlin (2013)

  16. Huang, W., Peleska, J.: Complete model-based equivalence class testing. Int. J. Softw. Tools Technol. Transf. (2014). doi:10.1007/s10009-014-0356-8

  17. Jéron, T., Veanes, M., Wolff, B. (ed.): Symbolic methods in testing. Report from Dagstuhl Seminar 13021 (2013)

  18. Kalaji, A.S., Hierons, R.M., Swift, S.: Generating feasible transition paths for testing from an extended finite state machine (EFSM). In: International Conference on Software Testing, Verification and Validation, pp. 230–239. IEEE Computer Society, Silver Spring (2009)

  19. Koufareva, I., Petrenko, A., Yevtushenko, N.: Test generation driven by user-defined fault models. In: Testing of Communicating Systems, pp. 215–233. Springer, Berlin (1999)

  20. Li, X., Higashino, T., Higuchi, M., Taniguchi, K.: Automatic generation of extended UIO sequences for communication protocols in an EFSM model. In: Proceedings of Seventh International Workshop Protocol Test Systems, pp. 225–240 (1994)

  21. Maler, O., Mens, I.: Learning regular languages over large alphabets. In: Tools and Algorithms for the Construction and Analysis of Systems 2014. Lecture Notes in Computer Science, vol. 8413, pp. 485–499 (2014)

  22. Moore, E.F.: Gedanken-experiments on sequential machines. In: Automata Studies, vol. 34, pp. 129–153. Princeton University Press, Princeton (1956)

  23. de Moura, L., Bjørner, N.: Z3: An Efficient SMT Solver. In: Ramakrishnan C.R., Rehof J. (eds) Tools and Algorithms for the Construction and Analysis of Systems, vol 4963, pp. 337–340. Springer, Berlin (2008)

  24. Noord, Gv, Gerdemann, D.: Finite state transducers with predicates and identities. Grammars 4(3), 263–286 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  25. Petrenko, A., Yevtushenko, N.: Test suite generation for a given type of implementation errors. In: Proceedings of IFIP XII International Conference Protocol Specification, Testing, and Verification, pp. 229–243 (1992)

  26. Petrenko, A., Yevtushenko, N., Bochmann, G.: Fault models for testing in context. In: Gotzhein R., Bredereke J. (eds) Formal Description Techniques IX. IFIP Advances in Information and Communication Technology. Springer, Boston, MA (1996)

  27. Petrenko, A., Boroday, S., Groz, R.: Confirming configurations in EFSM testing. IEEE Trans. Softw. Eng. 30(1), 29–42 (2004)

    Article  MATH  Google Scholar 

  28. Petrenko, A., Yevtushenko, N.: Conformance tests as checking experiments for partial nondeterministic FSM. In: Proceedings of the 5th International Workshop on Formal Approaches to Testing of Software. Lecture Notes in Computer Science, vol. 3997, pp. 118–133 (2005)

  29. Petrenko, A., Dury, A., Ramesh, S., Mohalik, S.: A method and tool for test optimization for automotive controllers. In: Proceedings of the 9th Workshop on Advances in Model Based Testing (A-MOST 2013) of the 6th IEEE International Conference on Software Testing, Verification and Validation (ICST 2013), Luxembourg (2013)

  30. Petrenko, A., Simao, A.: Checking experiments for finite state machines with symbolic inputs. In: Proceedings of the 27th IFIP WG 6.1 International Conference on Testing Software and Systems, ICTSS 2015, UAE. Lecture Notes in Computer Science, vol. 9447, pp. 3–18 (2015)

  31. Petrenko, A., Timo, O.N., Ramesh, S.: Test generation by constraint solving and FSM mutant killing. In Proceedings of the 28th IFIP International Conference on Testing Software and Systems, Graz (2016)

  32. Petrenko, A., Timo, O.N., Ramesh, S.: Multiple mutation testing from FSM. In: Proceedings of the 35th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Objects, Components, and Systems, pp. 222–238 (2016)

  33. Petrenko, A.: Checking experiments for symbolic input/output finite state machines. In: ICST Workshops, pp. 229–237. IEEE (2016)

  34. Rusu, V., Du Bousquet, L., Jeron, T.: An approach to symbolic test generation. In: Proceedings of Second International Conference on Integrating Formal Methods (IFM’00), pp. 338–357 (2000)

  35. Tiwari, A.: Formal semantics and analysis methods for Simulink Stateflow models. Technical Report, SRI International (2002)

  36. Vasilevskii, M.P.: Failure diagnosis of automata. Cybernetics 4, 653–665 (1973)

    Google Scholar 

  37. Veanes, M.: Applications of Symbolic Finite Automata. In: Konstantinidis S. (eds) Implementation and Application of Automata, pp. 16–23. Springer, Berlin (2013)

  38. Veanes, M., Hooimeijer, P., Livshits, B., Molnar, D., Bjorner, N.: Symbolic finite state transducers: algorithms and applications. In: Proceedings of the 39th ACM Symposium on Principles of programming languages, pp. 137–150 (2012)

  39. Wang, C.J., Liu, M.T.: Generating test cases for EFSM with given fault model. In: Proceedings of Twelfth Conference of the IEEE Computer and Communications Societies, pp. 774–781 (1993)

  40. Watson, B.W.: Implementing and using finite automata toolkits. In: Extended Finite State Models of Language, pp. 19–36. Cambridge University Press, New York (1999)

  41. Yannakakis, M., Lee, D.: Testing finite state machines: fault detection. J. Comput. Syst. Sci. 50(2), 209–227 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  42. Yevtushenko, N., Petrenko, A.: Synthesis of test experiments in some classes of automata. Autom. Control Comput. Sci. 24(4), 50–55 (1990)

    Google Scholar 

Download references

Acknowledgements

This work was partially supported by MESI (Ministère de l’Économie, Science et Innovation of Gouvernement du Québec) and NSERC of Canada. The author acknowledges joint work with A. Simao published in [30], and several results from [30] are used in this paper. The author thanks the reviewers who carefully read the submitted version and made useful comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexandre Petrenko.

Additional information

Communicated by Dr. M. Papadakis, S. Ali, and G. Perrouin.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Petrenko, A. Toward testing from finite state machines with symbolic inputs and outputs. Softw Syst Model 18, 825–835 (2019). https://doi.org/10.1007/s10270-017-0613-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-017-0613-x

Keywords

Navigation