Skip to main content

A Dynamic Analysis for Reverse Engineering of Sequence Diagram Using CPN

  • Conference paper
  • First Online:
Model and Data Engineering (MEDI 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11163))

Included in the following conference series:

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”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Cornelissen, B., Zaidman, A., van Deursen, A.: A controlled experiment for program comprehension through trace visualization. IEEE Trans. Softw. Eng., 2 (2011)

    Google Scholar 

  2. IEEE. std 1219: Standard for Software maintenance. IEEE Computer Society Press, Los Alamitos (1998)

    Google Scholar 

  3. OMG: Unified Modeling Language (OMG UML), Superstructure. V2.1.2, November 2007

    Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. Chikofsky, E.J., Cross II, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Softw. 7(1), 13–17 (1990)

    Article  Google Scholar 

  7. Clerk Maxwell, J.: A Treatise on Electricity and Magnetism, vol. 2, 3rd edn. Clarendon, Oxford (1892). pp. 68–73

    MATH  Google Scholar 

  8. 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)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. Jakimi, A., Sabraoui, A., Badidi, E., Salah, A., El Koutbi, M.: Using UML Scenarios in B2B Systems. IIUM Eng. J. (2010)

    Google Scholar 

  18. AspectJ: The AspectJ project at Eclipse.org. http://www.eclipse.org/aspectj/

  19. Brzozowski, J.A.: Derivatives of regular expressions. J. ACM 11(4), 481–494 (1964)

    Article  MathSciNet  Google Scholar 

  20. Mariani, L., Pezze, M.: Dynamic detection of cots component incompatibility. IEEE Softw. 24(5), 76–85 (2007)

    Article  Google Scholar 

  21. Biermann, A., Feldmann, J.: On the synthesis of finite state machines from samples of their behavior. IEEE Trans. Comput. 21, 592–597 (1972)

    Article  MathSciNet  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Chafik Baidada .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics