Abstract
Reverse engineering is a very efficient way to extract automatically behavioral models from legacy systems. This paper proposes a new approach to detect and decipher dynamic information from these systems in order to recover the corresponding sequence diagram. The approach is composed of three steps: trace generation and collection, trace merging using Colored Petri Nets and sequence diagram extraction. Our results show that this approach can produce a more accurate high-level sequence diagram with main operators: “seq”, “alt”, opt” and “par”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Cornelissen, B., Zaidman, A., van Deursen, A.: A controlled experiment for program comprehension through trace visualization. IEEE Trans. Softw. Eng., 2 (2011)
IEEE. std 1219: Standard for Software maintenance. IEEE Computer Society Press, Los Alamitos (1998)
OMG: Unified Modeling Language (OMG UML), Superstructure. V2.1.2, November 2007
Briand, L.C., Labiche, Y., Leduc, J.: Towards the reverse engineering of UML sequence diagrams for distributed Java software. IEEE Trans. Softw. Eng. 32(9), 642–663 (2006)
Bennett, C., et al.: A survey and evaluation of tool features for understanding reverse-engineered sequence diagrams. J. Softw. Maint. Evol. 20(4), 291–315 (2008)
Chikofsky, E.J., Cross II, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Softw. 7(1), 13–17 (1990)
Clerk Maxwell, J.: A Treatise on Electricity and Magnetism, vol. 2, 3rd edn. Clarendon, Oxford (1892). pp. 68–73
Kollmann, R., Gogolla, M.: Capturing dynamic program behaviour with UML collaboration diagrams. In: Proceedings of the 5th Conference on Software Maintenance and Reengineering (CSMR 2001), pp. 58–67. IEEE Computer Society (2001)
Kollmann, R., Selonen, P., Stroulia, E., Systä, T., Zundorf, A.: A study on the current state of the art in tool-supported UML-based static reverse engineering. In: Proceedings of the 9th Working Conference on Reverse Engineering (WCRE 2002), pp. 22–32. IEEE Computer Society (2002)
Rountev, A., Volgin, O., Reddoch, M.: Static control-flow analysis for reverse engineering of UML sequence diagrams. In: ACM SIGSOFT Software Engineering Notes, vol. 31, no. 1, pp. 96–102. ACM (2005)
Rountev, A., Connell, B.H.: Object naming analysis for reverse-engineered sequence diagrams. In: Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), pp. 254–263. ACM (2005)
Taniguchi, K., Ishio, T., Kamiya, T., Kusumoto, S., Inoue, K.: Extracting sequence diagram from execution trace of Java program. In: International Workshop on Principles of Software Evolution (IWPSE 2005), pp. 148–151 (2005)
Delamare, R., Baudry, B., Le Traon, Y.: Reverse-engineering of UML 2.0 sequence diagrams from execution traces. In: Proceedings of the Workshop on Object-Oriented Reengineering at ECOOP 06 (2006)
Ziadi, T., da Silva, M.A.A., Hillah, L.M., Ziane, M.: A fully dynamic approach to the reverse engineering of UML sequence diagrams. In: 16th IEEE International Conference on Engineering of Complex Computer Systems, ICECCS, Las Vegas, United States, April 2011
Cornelissen, B., van Deursen, A., Moonen, L., Zaidman, A.: Visualizing test suites to aid in software understanding. In: Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR 2007), pp. 213–222. IEEE Computer Society (2007)
Jensen, K.: A brief introduction to coloured Petri Nets. In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 203–208. Springer, Heidelberg (1997). https://doi.org/10.1007/BFb0035389
Jakimi, A., Sabraoui, A., Badidi, E., Salah, A., El Koutbi, M.: Using UML Scenarios in B2B Systems. IIUM Eng. J. (2010)
AspectJ: The AspectJ project at Eclipse.org. http://www.eclipse.org/aspectj/
Brzozowski, J.A.: Derivatives of regular expressions. J. ACM 11(4), 481–494 (1964)
Mariani, L., Pezze, M.: Dynamic detection of cots component incompatibility. IEEE Softw. 24(5), 76–85 (2007)
Biermann, A., Feldmann, J.: On the synthesis of finite state machines from samples of their behavior. IEEE Trans. Comput. 21, 592–597 (1972)
Acknowledgements
We would like to thank the FST Errachidia for providing us with assist us in the development part of our research. Our sincere thanks also go to Moulay Ismail University for its financial support of the project “Algorithmic and software support for transformational approaches to UML”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Baidada, C., Bouziane, E.M., Jakimi, A. (2018). A Dynamic Analysis for Reverse Engineering of Sequence Diagram Using CPN. In: Abdelwahed, E., Bellatreche, L., Golfarelli, M., Méry, D., Ordonez, C. (eds) Model and Data Engineering. MEDI 2018. Lecture Notes in Computer Science(), vol 11163. Springer, Cham. https://doi.org/10.1007/978-3-030-00856-7_22
Download citation
DOI: https://doi.org/10.1007/978-3-030-00856-7_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00855-0
Online ISBN: 978-3-030-00856-7
eBook Packages: Computer ScienceComputer Science (R0)