Advertisement

Property-Aware Unit Testing of UML-RT Models in the Context of MDE

  • Reza AhmadiEmail author
  • Nicolas HiliEmail author
  • Juergen DingelEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10890)

Abstract

Modern cyber-physical systems are complex to model due, among other things, to timing constraints and complex communications between components of such systems. Therefore, testing models of these systems is not straightforward. This paper presents an approach for automatically testing components of UML-RT models with respect to a set of formally defined properties. Compared to existing model-based techniques where abstract test cases are complemented with their concrete counterparts, our approach solely leverages on constructs provided by the modeling language to express all artifacts (component to test, test harness, the property of interest) and existing code generator to generate test cases. This helps to reduce the cost of ensuring the consistency between code- and model-level tests. Moreover, to reduce the number of test cases and the associated cost, our approach integrates our test case generators with slicing techniques to reduce the size of the components. A prototype implementation has been sketched and our approach has been evaluated over two case studies.

References

  1. 1.
    Testing solutions with UML/SysML (2010). http://www.artist-embedded.org/docs/Events/2010/UML_AADL/slides/Session1_Matthew_Hause.pdf. Accessed 06 Jan 2018
  2. 2.
    Model-Based Systems Engineering Design of an Automobile Collision Avoidance System (2011). https://www.isr.umd.edu/~austin/enes489p/projects2011a/CollisionAvoidance-FinalReport.pdf. Accessed 06 Jan 2018
  3. 3.
    A collection of well-known software failures (2016). http://www.cse.psu.edu/~gxt29/bug/softwarebug.html. Accessed 25 Aug 2016
  4. 4.
    Androutsopoulos, K., Clark, D., Harman, M., Hierons, R.M., Li, Z., Tratt, L.: Amorphous slicing of extended finite state machines. IEEE Trans. Softw. Eng. 39(7), 892–909 (2013)CrossRefGoogle Scholar
  5. 5.
    Bordeleau, F., Fiallos, E.: Model-based engineering: a new era based on Papyrus and open source tooling. In: OSS4MDE@ MoDELS, pp. 2–8 (2014)Google Scholar
  6. 6.
    Cadar, C., Sen, K.: Symbolic execution for software testing: three decades later. Commun. ACM 56(2), 82–90 (2013)CrossRefGoogle Scholar
  7. 7.
    Clarke, D., Jéron, T., Rusu, V., Zinovieva, E.: STG: a symbolic test generation tool. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 470–475. Springer, Heidelberg (2002).  https://doi.org/10.1007/3-540-46002-0_34CrossRefGoogle Scholar
  8. 8.
    Colby, C., Godefroid, P., Jagadeesan, L.J.: Automatically closing open reactive programs. In: ACM SIGPLAN Notices, vol. 33, pp. 345–357. ACM (1998)CrossRefGoogle Scholar
  9. 9.
    Drusinsky, D.: Modeling and Verification Using UML Statecharts: a Working Guide to Reactive System Design, Runtime Monitoring and Execution-Based Model Checking (2011)Google Scholar
  10. 10.
    Drusinsky, D.: Practical UML-Based Specification, Validation, and Verification of Mission-Critical Software: Space Exploration and Defense Software Examples in Practice. Dog Ear Publishing, Indianapolis (2011)Google Scholar
  11. 11.
    Feilkas, M., Fleischmann, A., Pfaller, C., Spichkova, M., Trachtenherz, D., et al.: A top-down methodology for the development of automotive software (2009)Google Scholar
  12. 12.
    Grossmann, J., Serbanescu, D., Schieferdecker, I.: Testing embedded real time systems with TTCN-3. In: International Conference on Software Testing Verification and Validation, ICST 2009, pp. 81–90. IEEE (2009)Google Scholar
  13. 13.
    Hessel, A., Larsen, K., Mikucionis, M., Nielsen, B., Pettersson, P., Skou, A.: Testing real-time systems using UPPAAL. In: Formal Methods and Testing, pp. 77–117 (2008)Google Scholar
  14. 14.
    Jagadeesan, L.J., Porter, A., Puchol, C., Ramming, J.C., Votta, L.G.: Specification-based testing of reactive software: tools and experiments: experience report. In: Proceedings of the 19th International Conference on Software Engineering, pp. 525–535. ACM (1997)Google Scholar
  15. 15.
    Jard, C., Jéron, T.: TGV: theory, principles and algorithms. Int. J. Softw. Tools Technol. Transf. (STTT) 7(4), 297–315 (2005)CrossRefGoogle Scholar
  16. 16.
    Joshi, A., Heimdahl, M.P.E.: Model-based safety analysis of simulink models using SCADE design verifier. In: Winther, R., Gran, B.A., Dahll, G. (eds.) SAFECOMP 2005. LNCS, vol. 3688, pp. 122–135. Springer, Heidelberg (2005).  https://doi.org/10.1007/11563228_10CrossRefGoogle Scholar
  17. 17.
    Dominguez, A.L.J.: Detection of feature interactions in automotive active safety features. Ph.D. thesis, University of Waterloo (2012)Google Scholar
  18. 18.
    Jussien, N., Rochart, G., Lorca, X.: Choco: an open source java constraint programming library. In: CPAIOR 2008 Workshop on Open-Source Software for Integer and Contraint Programming (OSSICP 2008), pp. 1–10 (2008)Google Scholar
  19. 19.
    Kim, Y.G., Hong, H.S., Bae, D.-H., Cha, S.D.: Test cases generation from UML state diagrams. IEE Proc.-Softw. 146(4), 187–192 (1999)CrossRefGoogle Scholar
  20. 20.
    Korel, B., Singh, I., Tahat, L., Vaysburg, B.: Slicing of state-based models. In: Proceedings of the International Conference on Software Maintenance, ICSM 2003, pp. 34–43. IEEE (2003)Google Scholar
  21. 21.
    Li, S., Wang, J., Qi, Z.-C.: Property-oriented test generation from UML statecharts. In: Proceedings of the 19th IEEE International Conference on Automated Software Engineering, pp. 122–131. IEEE Computer Society (2004)Google Scholar
  22. 22.
    Mealy, G.H.: A method for synthesizing sequential circuits. Bell Labs Tech. J. 34(5), 1045–1079 (1955)MathSciNetCrossRefGoogle Scholar
  23. 23.
    Offutt, J., Liu, S., Abdurazik, A., Ammann, P.: Generating test data from state-based specifications. Softw. Test. Verification Reliab. 13(1), 25–53 (2003)CrossRefGoogle Scholar
  24. 24.
    Posse, E., Dingel, J.: An executable formal semantics for UML-RT. Softw. Syst. Model. 15(1), 179–217 (2016)CrossRefGoogle Scholar
  25. 25.
    Pretschner, A., Philipps, J.: 10 methodological issues in model-based testing. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 281–291. Springer, Heidelberg (2005).  https://doi.org/10.1007/11498490_13CrossRefGoogle Scholar
  26. 26.
    Pretschner, A., Philipps, J.: 10 methodological issues in model-based testing. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 11–18. Springer, Heidelberg (2005).  https://doi.org/10.1007/11498490_13CrossRefGoogle Scholar
  27. 27.
    Rapos, E.J., Dingel, J.: Incremental test case generation for UML-RT models using symbolic execution. In: 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST), pp. 962–963. IEEE (2012)Google Scholar
  28. 28.
    Selic, B.: Using UML for modeling complex real-time systems. In: Mueller, F., Bestavros, A. (eds.) LCTES 1998. LNCS, vol. 1474, pp. 250–260. Springer, Heidelberg (1998).  https://doi.org/10.1007/BFb0057795CrossRefGoogle Scholar
  29. 29.
    Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling, vol. 2. Wiley, New York (1994)zbMATHGoogle Scholar
  30. 30.
    Generating tests from UML specifications: generating tests from UML specifications. The Unified Modeling Language, p. 76 (1999)Google Scholar
  31. 31.
    Tkachuk, O.: Domain-Specific Environment Generation for Modular Software Model Checking. Kansas State University, Manhattan (2008)Google Scholar
  32. 32.
    Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verification Reliab. 22(5), 297–312 (2012)CrossRefGoogle Scholar
  33. 33.
    Willcock, C., Dei, T., Tobies, S., Keil, S., Engler, F., Schulz, S.: An Introduction to TTCN-3, vol. 2. Wiley, Hoboken (2005)CrossRefGoogle Scholar
  34. 34.
    Zurowska, K., Dingel, J.: Symbolic execution of UML-RT state machines. In: Proceedings of the 27th Annual ACM Symposium on Applied Computing, pp. 1292–1299. ACM (2012)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.School of Computing, Queen’s UniversityKingstonCanada

Personalised recommendations