Abstract
System modeling is a classical approach to ensure their reliability since it is suitable both for a formal verification and for software testing techniques. In the context of model-based testing an approach combining random testing and coverage based testing has been recently introduced [9]. However, this approach is not tractable on quite large models. In this paper we show how to use statistical approximations to make the approach work on larger models. Experimental results, on models of communicating protocols, are provided; they are very promising, both for the computation time and for the quality of the generated test suites.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Computing test suites of a reduced size is a major issue in the testing process, since executing test on the system is frequently a complex issue (not addressed in this paper).
- 2.
The approach can easily be adapted for transitions coverage.
- 3.
Resolutions have been performed using the lp_solve solver.
- 4.
- 5.
Eccentricity is an important parameter since it is the minimal length required for paths to have a chance to visit each state.
References
Aichernig, B.K., Jöbstl, E., Kegele, M.: Incremental refinement checking for test case generation. In: Veanes, M., Viganò, L. (eds.) TAP 2013. LNCS, vol. 7942, pp. 1–19. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38916-0_1
Alberto, A.D.B., Cavalcanti, A., Gaudel, M.-C., Simão, A.: Formal mutation testing for circus. Inf. Softw. Technol. 81, 131–153 (2017)
Bardin, S., Leroux, J., Point, G.: FAST extended release. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 63–66. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_9
Bernardi, O., Giménez, O.: A linear algorithm for the random sampling from regular languages. Algorithmica 62(1–2), 130–145 (2012)
Bienaymé, I.-J.: Considérations à l’appui de la découverte de Laplace. Comptes Rendus de l’Académie des Sciences 37, 309–324 (1853)
Carayol, A., Nicaud, C.: Distribution of the number of accessible states in a random deterministic automaton. In: 29th International Symposium on Theoretical Aspects of Computer Science, STACS 2012, Paris, France, 29th February–3rd March 2012. LIPIcs, pp. 194–205 (2012)
Chebishev, P.: Des valeurs moyennes. Journal de mathématiques pures et appliquées 12, 177–184 (1867)
Dadeau, F., Héam, P.-C., Kheddam, R., Maatoug, G., Rusinowitch, M.: Model-based mutation testing from security protocols in HLPSL. Softw. Test. Verif. Reliab. 25(5–7), 684–711 (2015)
Denise, A., Gaudel, M.-C., Gouraud, S.-D., Lassaigne, R., Oudinet, J., Peyronnet, S.: Coverage-biased random exploration of large models and application to testing. STTT 14(1), 73–93 (2012)
Dreyfus, A., Héam, P.-C., Kouchnarenko, O.: Random grammar-based testing for covering all non-terminals. In: Sixth IEEE International Conference on Software Testing, Verification and Validation, ICST 2013 Workshops Proceedings, Luxembourg, 18–22 March 2013, pp. 210–215. IEEE Computer Society (2013)
Dreyfus, A., Héam, P.-C., Kouchnarenko, O., Masson, C.: A random testing approach using pushdown automata. Softw. Test. Verif. Reliab. 24(8), 656–683 (2014)
Duran, J.W., Ntafos, S.C.: A report on random testing. In: Proceedings of the 5th International Conference on Software Engineering, San Diego, California, USA, 9–12 March 1981, pp. 179–183. IEEE Computer Society (1981)
Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation, Chicago, IL, USA, 12–15 June 2005, pp. 213–223. ACM (2005)
Groce, A., Joshi, R.: Random testing and model checking: building a common framework for nondeterministic exploration. In: Proceedings of the 2008 International Workshop on Dynamic Analysis: Held in Conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008), WODA 2008, Seattle, Washington, USA, 21 July 2008, pp. 22–28. ACM (2008)
Héam, P.-C., Masson, C.: A random testing approach using pushdown automata. In: Gogolla, M., Wolff, B. (eds.) TAP 2011. LNCS, vol. 6706, pp. 119–133. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21768-5_10
Héam, P.-C., Nicaud, C.: Seed: an easy-to-use random generator of recursive data structures for testing. In: Fourth IEEE International Conference on Software Testing, Verification and Validation, ICST 2011, Berlin, Germany, 21–25 March 2011, pp. 60–69. IEEE Computer Society (2011)
Hoeffding, W.: Probability inequalities for sums of bounded random variables. J. Am. Stat. Assoc. 58(301), 13–30 (1963)
Lee, D., Yannakakis, M.: Principles and methods of testing finite state machines-a survey. Proc. IEEE 84, 1090–1123 (1996)
Lima, B., Faria, J.P.: A model-based approach for product testing and certification in digital ecosystems. In: Ninth IEEE International Conference on Software Testing, Verification and Validation Workshops, ICST Workshops 2016, Chicago, IL, USA, 11–15 April 2016, pp. 199–208. IEEE Computer Society (2016)
Mitzenmacher, M., Upfal, E.: Probability and Computing - Randomized Algorithms and Probabilistic Analysis. Cambridge University Press, Cambridge (2005)
Oriat, C.: Jartege: a tool for random generation of unit tests for Java classes. In: Reussner, R., Mayer, J., Stafford, J.A., Overhage, S., Becker, S., Schroeder, P.J. (eds.) QoSA/SOQUA - 2005. LNCS, vol. 3712, pp. 242–256. Springer, Heidelberg (2005). https://doi.org/10.1007/11558569_18
Oudinet, J., Denise, A., Gaudel, M.-C.: A new dichotomic algorithm for the uniform random generation of words in regular languages. Theor. Comput. Sci. 502, 165–176 (2013)
Tang, J., Cui, X., Zhao, Z., Guo, S., Xu, X.-S., Hu, C., Ban, T., Mao, B.: NIVAnalyzer: a tool for automatically detecting and verifying next-intent vulnerabilities in android apps. In: 2017 IEEE International Conference on Software Testing, Verification and Validation, ICST 2017, Tokyo, Japan, 13–17 March 2017, pp. 492–499. IEEE Computer Society (2017)
Thummala, S., Offutt, J.: Using Petri nets to test concurrent behavior of web applications. In: Ninth IEEE International Conference on Software Testing, Verification and Validation Workshops, ICST Workshops 2016, Chicago, IL, USA, 11–15 April 2016, pp. 189–198. IEEE Computer Society (2016)
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verif. Reliab. 22(5), 297–312 (2012)
How Tai Wah, K.S.: Black-box testing: techniques for functional testing of software and systems. Softw. Test. Verif. Reliab. 6(1), 49–50 (1996). By Beizer, B. Wiley (1995) (book review)
Wang, C., Pastore, F., Briand, L.C.: System testing of timing requirements based on use cases and timed automata. In: 2017 IEEE International Conference on Software Testing, Verification and Validation, ICST 2017, Tokyo, Japan, 13–17 March 2017, pp. 299–309. IEEE Computer Society (2017)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Bernard, J., Héam, PC., Kouchnarenko, O. (2018). An Approximation-Based Approach for the Random Exploration of Large Models. In: Dubois, C., Wolff, B. (eds) Tests and Proofs. TAP 2018. Lecture Notes in Computer Science(), vol 10889. Springer, Cham. https://doi.org/10.1007/978-3-319-92994-1_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-92994-1_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-92993-4
Online ISBN: 978-3-319-92994-1
eBook Packages: Computer ScienceComputer Science (R0)