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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The tool along with the sample models presented in this paper can be found at: https://bitbucket.org/rezaahmadi/umlrtunit.
- 2.
The complete model can be found at: https://bitbucket.org/rezaahmadi/umlrtunit.
References
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
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
A collection of well-known software failures (2016). http://www.cse.psu.edu/~gxt29/bug/softwarebug.html. Accessed 25 Aug 2016
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)
Bordeleau, F., Fiallos, E.: Model-based engineering: a new era based on Papyrus and open source tooling. In: OSS4MDE@ MoDELS, pp. 2–8 (2014)
Cadar, C., Sen, K.: Symbolic execution for software testing: three decades later. Commun. ACM 56(2), 82–90 (2013)
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_34
Colby, C., Godefroid, P., Jagadeesan, L.J.: Automatically closing open reactive programs. In: ACM SIGPLAN Notices, vol. 33, pp. 345–357. ACM (1998)
Drusinsky, D.: Modeling and Verification Using UML Statecharts: a Working Guide to Reactive System Design, Runtime Monitoring and Execution-Based Model Checking (2011)
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)
Feilkas, M., Fleischmann, A., Pfaller, C., Spichkova, M., Trachtenherz, D., et al.: A top-down methodology for the development of automotive software (2009)
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)
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)
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)
Jard, C., Jéron, T.: TGV: theory, principles and algorithms. Int. J. Softw. Tools Technol. Transf. (STTT) 7(4), 297–315 (2005)
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_10
Dominguez, A.L.J.: Detection of feature interactions in automotive active safety features. Ph.D. thesis, University of Waterloo (2012)
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)
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)
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)
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)
Mealy, G.H.: A method for synthesizing sequential circuits. Bell Labs Tech. J. 34(5), 1045–1079 (1955)
Offutt, J., Liu, S., Abdurazik, A., Ammann, P.: Generating test data from state-based specifications. Softw. Test. Verification Reliab. 13(1), 25–53 (2003)
Posse, E., Dingel, J.: An executable formal semantics for UML-RT. Softw. Syst. Model. 15(1), 179–217 (2016)
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_13
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_13
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)
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/BFb0057795
Selic, B., Gullekson, G., Ward, P.T.: Real-Time Object-Oriented Modeling, vol. 2. Wiley, New York (1994)
Generating tests from UML specifications: generating tests from UML specifications. The Unified Modeling Language, p. 76 (1999)
Tkachuk, O.: Domain-Specific Environment Generation for Modular Software Model Checking. Kansas State University, Manhattan (2008)
Utting, M., Pretschner, A., Legeard, B.: A taxonomy of model-based testing approaches. Softw. Test. Verification Reliab. 22(5), 297–312 (2012)
Willcock, C., Dei, T., Tobies, S., Keil, S., Engler, F., Schulz, S.: An Introduction to TTCN-3, vol. 2. Wiley, Hoboken (2005)
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)
Author information
Authors and Affiliations
Corresponding authors
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
Ahmadi, R., Hili, N., Dingel, J. (2018). Property-Aware Unit Testing of UML-RT Models in the Context of MDE. In: Pierantonio, A., Trujillo, S. (eds) Modelling Foundations and Applications. ECMFA 2018. Lecture Notes in Computer Science(), vol 10890. Springer, Cham. https://doi.org/10.1007/978-3-319-92997-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-92997-2_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-92996-5
Online ISBN: 978-3-319-92997-2
eBook Packages: Computer ScienceComputer Science (R0)