Abstract
Extended finite state machines (EFSMs) are widely used when deriving tests for checking the functional requirements for software implementations. However, the fault coverage of EFSMbased tests covering appropriate paths, variables, etc., remains rather obscure. Furthermore, these tests are known be incapable of detecting many functional faults frequently occurring in EFSM-based implementations. In this paper, an approach is proposed for deriving complete tests with the help of a proper Java EFSM implementation. Since the software is based on a template, the faults turn directly into EFSM faults. The method proposed here makes it possible to derive test suites that can detect functional faults. In the first step, the EFSM-based test suite derived by a well-known method is checked for completeness with respect to the faults generated by the μJava tool. Then, each undetected fault is easily mapped into an EFSM mutant. In the next step, some FSM abstraction is used to derive a distinguishing sequence for two finite-state machines (if such a sequence exists), which is added to the current test suite. The test derived in this way is complete with respect to the faults generated by μJava. If the corresponding FSM derived by EFSM modeling is too complex or no such FSM can be derived, the resulting test suite can be incomplete. However, the experiments performed by us clearly show that the original test suite extended by distinguishing sequences can detect many functional faults in software implementations when the given EFSM is used as a specification for the system.
Similar content being viewed by others
References
Kaur, M. and Singh, R., A review of software testing techniques, Int. J. Electron. Electr. Eng., 2014, vol. 7, no. 5, pp. 463–474.
Jorgensen, P.C., Software Testing: A Craftsman’s Approach, Auerbach Publications, 2008, 3rd ed.
Nica, M., Nica, S., and Wotawa, F., On the use of mutations and testing for debugging, Software Pract. Exp., 2013, vol. 43, no. 9, pp. 1121–1142.
Nica, S., On the use of constraints in program mutations and its applicability to testing, PhD Thesis, Graz Technical University, 2013.
Petrenko, A., Boroday, S., and Groz, R., Confirming configurations in EFSM testing, IEEE Trans. Software Eng., 2004, vol. 30, no. 1, pp. 29–42.
El-Fakih, K., Salameh, T., and Yevtushenko, N., On code coverage of extended FSM based test suites: An initial assessment, Lect. Notes Comput. Sci., 2014, vol. 8763, pp. 198–204.
μJava Documentation. μJava home page, 2014. http://cs.gmu.edu/~offutt/mujava/. Accessed April 10, 2016.
Villa, T., et al., The Unknown Component Problem: Theory and Applications, Springer, 2012.
Ermakov, A. and Yevtushenko, N., Increasing the fault coverage of tests derived against Extended Finite State Machines, Syst. Inf., 2016, vol. 7, 23–32.
Alcalde, B., et al., Network protocol system passive testing for fault management: A backward checking approach, Proc. of the 24th IFIP WG 6.1 Intern. Conf. on Formal Techniques for Networked and Distributed Systems, FORTE'2004, pp. 150–166.
Kushik, N., et al., Optimizing protocol passive testing through “Gedanken” experiments with finite state machines, Proc. Int. Conf. Software Quality and Reliability, QSR’2016, 2016.
Kushik, N. and Yenigün, H., Heuristics for deriving adaptive homing and distinguishing sequences for nondeterministic finite state machines, Lect. Notes Comput. Sci., 2015, vol. 9447, pp. 243–248.
Kolomeets, A.V., Algorithms for the synthesis of checking tests for control systems based on extended automata, Cand. Sci. (Eng.) Dissertation, 2010.
Kushik, N., Yevtushenko, N., and Cavalli, A., On testing against partial non-observable specifications, Proc. Int. Conf. Quality of Information and Communications Technology, 2014, pp. 230–233.
Kushik, N., et al., On adaptive experiments for nondeterministic finite state machines, Int. J. Software Tools Technol. Transfer, 2016, vol. 18, no. 3, pp. 251–264.
El-Fakih, K., et al., Distinguishing extended finite state machine configurations using predicate abstractions, J. Software Res. Dev., 2016.
Mikhailov, Yu.V. and Kolomeets, A.V., Checking the transitions in an extended automaton based on slices, Vestn. Tomsk. Gos. Univ., Ser. Upr. Vychisl. Tekh. Inf., 2008, vol. 3, no. 4.
JUnit 4, documentation. http://cs.gmu.edu/~offutt/mujava/. Accessed April 10, 2016.
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © A.D. Ermakov, N.V. Yevtushenko, 2016, published in Modelirovanie i Analiz Informatsionnykh Sistem, 2016, Vol. 23, No. 6, pp. 729–740.
About this article
Cite this article
Ermakov, A.D., Yevtushenko, N.V. Deriving Test Suites with the Guaranteed Fault Coverage for Extended Finite State Machines. Aut. Control Comp. Sci. 51, 516–522 (2017). https://doi.org/10.3103/S0146411617070057
Received:
Published:
Issue Date:
DOI: https://doi.org/10.3103/S0146411617070057