Skip to main content
Log in

Test Generation from Event System Abstractions to Cover Their States and Transitions

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

Abstract

Model-based testing of event systems can take advantage of considering abstractions rather than explicit models, for controlling their size. When abstracting still a test has to be a concrete connected and reachable event sequence. This paper presents a test generation method based on computing a reachable and connected under-approximation of the abstraction of an event system. We compute the under-approximation with concrete instances of the abstract transitions, that cover all the states and transitions of the predicatebased abstraction. We propose an algorithmic method that instantiates each of the abstract transitions, and maintains for widening it a frontier of concretely reached states. We present heuristics to favour the instances connectivity. The idea is to prolong whenever possible the already reached sequences of concrete transitions, and to parameterize the order in which the states and actions occur. This concrete under-approximation ends up covering partially (at best totally) the reachable abstract transitions. The computed tests are paths of the under-approximation. The paper also reports on an implementation, which permits to provide experimental results confirming the interest of the approach with related heuristics.

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.

Similar content being viewed by others

References

  1. Graf, S. and Saidi, H., Construction of abstract state graphs with PVS, in CAV’97, vol. 1254 of LNCS, Springer, 1997, pp. 72–83.

    Google Scholar 

  2. Godefroid, P. and Jagadeesan, R., On the expressiveness of 3-valued models, in VMCAI’O3, vol. 2575 of LNCS, Springer, 2003, pp. 206–222.

    Google Scholar 

  3. Abrial, J.-R., Modeling in Event-B: System and Software Design, Cambridge Univ. Press, 2010.

    Book  MATH  Google Scholar 

  4. Dijkstra, E.W., Guarded commands, nondeterminacy, and formal derivation of programs, Commun. ACM, 1975, vol. 18, no. 8, pp. 453–457.

    Article  MathSciNet  MATH  Google Scholar 

  5. Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, 1976.

    MATH  Google Scholar 

  6. Clarke, E., Grumberg, O., Jha, S., Lu, Y., and Veith, H., Counterexample-guided abstraction refinement for symbolic model checking, J. ACM, 2003, vol. 50, no. 5, pp. 752–794.

    Article  MathSciNet  MATH  Google Scholar 

  7. Veanes, M. and Yavorsky, R., Combined algorithm for approximating a finite state abstraction of a large system, in ICSE’03/Scenarios Workshop, 2003, pp. 86–91.

    Google Scholar 

  8. Abrial, J.-R., The B Book, Cambridge Univ. Press, 1996.

    Book  MATH  Google Scholar 

  9. Gurevich, Y., Sequential abstract-state machines capture sequential algorithms, ACM Trans. Computational Logic, 2000, vol. 1, no. 1, pp. 77–111.

    Article  MathSciNet  MATH  Google Scholar 

  10. Abstract State Machines, Gurevich, Y., Kutter, P.W., Odersky, M., and Thiele, L., Eds., Theory and Applications, vol. 1912 of LNCS, Springer, 2000.

  11. Bert, D. and Cave, F., Construction of finite labeled transition systems from B abstract systems, in IFM’00, vol. 1945 of LNCS, Springer, 2000, pp. 235–254.

    Google Scholar 

  12. Bride, H., Julliand, J., and Masson, P.-A., Tri-modal under-approximation for test generation, Sci. Comput. Program., 2016, vol. 132, no. P2, pp. 190–208.

    Article  Google Scholar 

  13. Cousot, P. and Cousot, R., Abstract interpretation frameworks, J. Logic Computation, 1992, vol. 2, no. 4, pp. 511–547.

    Article  MathSciNet  MATH  Google Scholar 

  14. Ball, T., A theory of predicate-complete test coverage and generation, in FMCO, vol. 3657 of LNCS, Springer, 2004, pp. 1–22.

    Google Scholar 

  15. Godefroid, P., Huth, M., and Jagadeesan, R., Abstraction-based model checking using modal transition systems, in CONCUR’01, Springer, 2001, pp. 426–440.

    Google Scholar 

  16. Larsen, K.G. and Thomsen, B., A modal process logic, in LICS’08, 1988, pp. 203–210.

    Google Scholar 

  17. Grieskamp, W., Gurevich, Y., Schulte, W., and Veanes, M., Generating finite state machines from abstract state machines, in ISSTA’02, 2002, pp. 112–122.

    Google Scholar 

  18. Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., and Pretschner, A., Model-Based Testing of Reactive Systems, vol. 3472 of LNCS, Springer, 2005.

    Book  MATH  Google Scholar 

  19. Utting, M. and Legeard, B., Practical Model-Based Testing, Morgan Kaufmann, 2006.

    Google Scholar 

  20. Thimbleby, H.W., The directed Chinese postman problem, Software: Practice and Experience, 2003, vol. 33, no. 11, pp. 1081–1096.

    Google Scholar 

  21. Dwyer, M.B., Avrunin, G.S., and Corbett, J.C., Patterns in property specifications for finite-state verification, in ICSE’99, ACM, 1999, pp. 411–420.

    Google Scholar 

  22. de Moura, L. and Bjorner, N., An efficient SMT solver, in TACAS’08, vol. 4963 of LNCS, Springer, 2008, pp. 337–340.

    Google Scholar 

  23. Bué, P.-C., Julliand, J., and Masson, P.-A., Association of under-approximation techniques for generating tests from models, in TAP, vol. 6706 in LNCS, Springer, 2011, pp. 51–68.

    Google Scholar 

  24. Julliand, J., Kouchnarenko, O., Masson, P.-A., and Voiron, G., Two under-approximation techniques for 3-modal abstraction coverage of event systems: Joint effort?, in TASE 2017, 2017.

    Google Scholar 

  25. Aichernig, B.K., Brandl, H., Jöbstl, E., and Krenn, W., UML in action: A two-layered interpretation for testing, ACM SIGSOFT Software Eng. Notes, 2011, vol. 36, no. 1, pp. 1–8.

    Article  Google Scholar 

  26. Microsoft Corporation, Abstract state machine language. https://asml.codeplex.com/.

  27. FP7 Deploy Project, Industrial deployment of system engineering methods providing high dependability and productivity. http://www.deploy-project.eu/index.html.

  28. Namjoshi, K.S. and Kurshan, R.P., Syntactic program transformations for automatic abstraction, in CAV’00, vol. 1855 of LNCS, Springer, 2000, pp. 435–449.

    Google Scholar 

  29. Pasareanu, C.S., Peláanek, R., and Visser, W., Predicate abstraction with under-approximation refinement, Logic Methods Comput. Sci., 2007, vol. 3, no. 1, pp. 1–22.

    MathSciNet  Google Scholar 

  30. Gulavani, B.S., Henzinger, T.A., Kannan, Y., Nori, A.V., and Rajamani, S.K., SYNERGY: A new algorithm for property checking, in SIGSOFTFSE’ 06, 2006, pp. 117–127.

    Google Scholar 

  31. Beckman, N.E., Nori, A.V., Rajamani, S.K., Simmons, R.J., Tetali, S.D., and Thakur, A.V., Proofs from tests, IEEE Trans. Software Eng., 2010, vol. 36, no. 4, pp. 495–508.

    Article  Google Scholar 

  32. Rapin, N., Gaston, C., Lapitre, A., and Gallois, J.-P., Behavioral unfolding of formal specifications based on communicating extended automata, in ATVA’03, 2003.

    Google Scholar 

  33. Godefroid, P., Klarlund, N., and Sen, K., DART: Directed automated random testing, in PLDI’05, 2005, pp. 213–223.

    Google Scholar 

  34. Sen, K., Marinov, D., and Agha, G., CUTE: a concolic unit testing engine for C, in ESEC/SIGSOFT FSE’05, 2005, pp. 263–272.

    Google Scholar 

  35. Cadar, C., Ganesh, V., Pawlowski, P.M., Dill, D.L., and Engler, D.R., EXE: Automatically generating inputs of death, in ACM CCS’06, 2006, pp. 322–335.

    Google Scholar 

  36. Tillmann, N. and de Halleux, J., Pex-white box test generation for NET, in TAP’08, Springer, vol. 4966 of LNCS, 2008, pp. 134–153.

    Google Scholar 

  37. Pasareanu, C.S. and Visser, W., A survey of new trends in symbolic execution for software testing and analysis, STTT, 2009, vol. 11, no. 4, pp. 339–353.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. Julliand.

Additional information

Original Russian Text © J. Julliand, O. Kouchnarenko, P.A. Masson, G. Voiron, 2018, published in Programmirovanie, 2018, Vol. 44, No. 1.

The article was translated by the authors.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Julliand, J., Kouchnarenko, O., Masson, P.A. et al. Test Generation from Event System Abstractions to Cover Their States and Transitions. Program Comput Soft 44, 1–14 (2018). https://doi.org/10.1134/S0361768818010085

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1134/S0361768818010085

Keywords

Navigation