Abstract
The quality of the specifications used for test generation plays an important role in the quality of the generated tests. One approach to improve the quality of the UML specification is the use of executable models specified using the Foundational Subset for Executable UML Models (fUML) and the Action language for fUML (Alf). Due to their precise semantics, fUML and Alf models can be simulated or executed using an fUML execution engine. However, in order to execute the models exhaustively, one must provide input data required to reach and cover all essential elements not only in the graphical fUML models, but also in the textual Alf code associated with the graphical models. In this paper, we present an approach for exhaustive simulation and test generation from fUML activity diagrams containing Alf code. The proposed approach translates fUML activity diagrams and associated Alf code into equivalent Java code and then automatically generates: (1) input data needed to cover or execute all paths in the executable fUML and Alf models and (2) test cases and test oracle (expected output) for testing the actual implementation of the system under development. We also present a tool chain and demonstrate our proposed approach with the help of an example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
References
Amellal, S., Kaminska, B.: Scheduling of a control data flow graph. In: 1993 IEEE International Symposium on Circuits and Systems, vol. 3, pp. 1666–1669 (1993)
Arnaud, M., Bannour, B., Cuccuru, A., Gaston, C., Gerard, S., Lapitre, A.: Timed symbolic testing framework for executable models using high-level scenarios. In: Boulanger, F., Krob, D., Morel, G., Roussel, J.C. (eds.) Complex Systems Design & Management, pp. 269–282. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-11617-4_19
Backhauß, S.: Code generation for UML activity diagrams in real-time systems. Master’s thesis, Institute for Software Systems, Hamburg University of Technology (2016)
Breton, E., Bézivin, J.: Towards an understanding of model executability. In: Proceedings of the International Conference on Formal Ontology in Information Systems - Volume 2001, FOIS 2001, pp. 70–80. ACM (2001)
Cadar, C., et al.: Symbolic execution for software testing in practice: preliminary assessment. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 1066–1071. ACM (2011)
Daw, Z., Cleaveland, R.: Comparing model checkers for timed UML activity diagrams. Sci. Comput. Program. 111, 277–299 (2015). Special Issue on Automated Verification of Critical Systems (AVoCS 2013)
Fraser, G., Arcuri, A.: EvoSuite: automatic test suite generation for object-oriented software. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 2011, pp. 416–419. ACM (2011)
Gay, G.: Generating effective test suites by combining coverage criteria. In: Menzies, T., Petke, J. (eds.) SSBSE 2017. LNCS, vol. 10452, pp. 65–82. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66299-2_5
Gessenharter, D., Rauscher, M.: Code generation for UML 2 activity diagrams. In: France, R.B., Kuester, J.M., Bordbar, B., Paige, R.F. (eds.) ECMFA 2011. LNCS, vol. 6698, pp. 205–220. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21470-7_15
Harrison, W., Barton, C., Raghavachari, M.: Mapping UML designs to Java. SIGPLAN Not. 35(10), 178–187 (2000)
Kahn, A.B.: Topological sorting of large networks. Commun. ACM 5(11), 558–562 (1962). https://doi.org/10.1145/368996.369025
Majumdar, R., Sen, K.: Hybrid concolic testing. In: Proceedings of the 29th International Conference on Software Engineering, pp. 416–426 (2007)
Mellor, S.J., Balcer, M.: Executable UML. A Foundation for Model-Driven Architecture. Addison-Wesley, Boston (2002)
Micskei, Z., Konnerth, R.A., Horváth, B., Semeráth, O., Vörös, A., Varró, D.: On open source tools for behavioral modeling and analysis with fUML and Alf. In: Bordelau, F., Dingel, J., Gerard, S., Voss, S. (eds.) 1st Workshop on Open Source Software for Model Driven Engineering (2014)
Mijatov, S., Mayerhofer, T., Langer, P., Kappel, G.: Testing functional requirements in UML activity diagrams. In: Blanchette, J.C., Kosmatov, N. (eds.) TAP 2015. LNCS, vol. 9154, pp. 173–190. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21215-9_11
Planas, E., Cabot, J., Gómez, C.: Lightweight and static verification of UML executable models. Comput. Lang. Syst. Struct. 46, 66–90 (2016)
Rojas, J.M., Vivanti, M., Arcuri, A., Fraser, G.: A detailed investigation of the effectiveness of whole test suite generation. Empirical Softw. Eng. 22(2), 852–893 (2017). https://doi.org/10.1007/s10664-015-9424-2
Samuel, P., Mall, R.: Slicing-based test case generation from UML activity diagrams. ACM SIGSOFT Softw. Eng. Notes 34(6), 1–14 (2009)
Selic, B.: The less well known UML. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 1–20. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30982-3_1
Störrle, H.: Semantics and verification of data flow in UML 2.0 activities. Electron. Notes Theor. Comput. Sci. 127(4), 35–52 (2005)
Tatibouet, J., Cuccuru, A., Gérard, S., Terrier, F.: Principles for the realization of an open simulation framework based on fUML (WIP). In: Proceedings of the Symposium on Theory of Modeling & Simulation - DEVS Integrative M&S Symposium, DEVS 2013, pp. 4:1–4:6 (2013)
Yu, L., Tang, X., Wang, L., Li, X.: Simulating software behavior based on UML activity diagram. In: Proceedings of the 5th Asia-Pacific Symposium on Internetware, Internetware 2013, pp. 31:1–31:4. ACM (2013)
Acknowledgments
This work has received funding from the Electronic Component Systems for European Leadership Joint Undertaking under grant agreement number 737494. This Joint Undertaking receives support from the European Unions Horizon 2020 research and innovation programme and Sweden, France, Spain, Italy, Finland, the Czech Republic.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Iqbal, J., Ashraf, A., Truscan, D., Porres, I. (2019). Exhaustive Simulation and Test Generation Using fUML Activity Diagrams. In: Giorgini, P., Weber, B. (eds) Advanced Information Systems Engineering. CAiSE 2019. Lecture Notes in Computer Science(), vol 11483. Springer, Cham. https://doi.org/10.1007/978-3-030-21290-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-21290-2_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-21289-6
Online ISBN: 978-3-030-21290-2
eBook Packages: Computer ScienceComputer Science (R0)