Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software

Published: 01 September 2006 Publication History

Abstract

This paper proposes a methodology and instrumentation infrastructure toward the reverse engineering of UML (Unified Modeling Language) sequence diagrams from dynamic analysis. One motivation is, of course, to help people understand the behavior of systems with no (complete) documentation. However, such reverse-engineered dynamic models can also be used for quality assurance purposes. They can, for example, be compared with design sequence diagrams and the conformance of the implementation to the design can thus be verified. Furthermore, discrepancies can also suggest failures in meeting the specifications. Due to size constraints, this paper focuses on the distribution aspects of the methodology we propose. We formally define our approach using metamodels and consistency rules. The instrumentation is based on Aspect-Oriented Programming in order to alleviate the effort overhead usually associated with source code instrumentation. A case study is discussed to demonstrate the applicability of the approach on a concrete example.

References

[1]
P. Avgustinov, A.S. Christensen, L. Hendren, S. Kuzins, J. Lhoták, O. Lhoták, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble, “Optimising aspectJ,” Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, pp. 117-128, 2005.
[2]
N. Bawa, S. Ghosh, “Visualizing Interactions in Distributed Java Applications,” Proc. IEEE Int'l Workshop Program Comprehension, pp. 292-293, 2003.
[3]
B. Beizer, Software Testing Techniques, second ed. Van Nostrand Reinhold, 1990.
[4]
G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide, second ed. Addison-Wesley, 2005.
[5]
Borland: Together,
[6]
L.C. Briand, Y. Labiche, and J. Leduc, “Towards the Reverse Engineering of UML Sequence Diagrams for Distributed, Multithreaded Java Software,” Technical Report SCE-04-04, Carleton Univ.,
[7]
L.C. Briand, Y. Labiche, and Y. Miao, “Towards the Reverse Engineering of UML Sequence Diagrams,” Proc. IEEE Working Conf. Reverse Eng., pp. 57-66, 2003.
[8]
B. Bruegge and A.H. Dutoit, Object-Oriented Software Engineering—Conquering Complex and Changing Systems. Prentice Hall, 2000.
[9]
W. De Pauw, E. Jensen, N. Mitchell, G. Sevitsky, J. Vlissides, and J. Yang, “Visualizing the Execution of Java Programs,” Proc. Software Visualization, pp. 151-162, 2002.
[10]
G.A. Di Lucca, A.R. Fasolino, P. Tramontana, U. De Carlini, “Abstracting Business Level UML Diagrams from Web Applications,” Proc. IEEE Int'l Workshop Web Site Evolution, pp. 12-19, 2003.
[11]
B. Dufour, C. Goard, L. Hendren, O. de Moor, G. Sittampalam, and C. Verbrugge, “Measuring the Dynamic Behavior of AspectJ Programs,” Proc. Ann. ACM SIGPLAN Conf. Object-Oriented Programming, Systems, Languages, and Applications, pp. 150-169, 2004.
[12]
T. Elrad, R.E. Filman, and A. Bader, “Aspect-Oriented Programming: Introduction,” Comm. ACM, vol. 44, no. 10, pp. 29-32, 2001.
[13]
H.-E. Eriksson and M. Penker, UML Toolkit. Wiley, 1998.
[14]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns—Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[15]
C. Ghezzi, M. Jazayeri, and D. Mandrioli, Fundamentals of Software Engineering. Prentice Hall Int'l Ed., 1991.
[16]
J.D. Gradecki and N. Lesiecki, Mastering AspectJ—Aspect-Oriented Programming in Java. Wiley, 2003.
[17]
Y.-G. Guéhéneuc and T. Ziadi, “Automated Reverse-Engineering of UML v2.0 Dynamic Models,” Proc. ECOOP Workshop Object-Oriented Reengineering, 2005.
[18]
R. Hofman and U. Hilgers, “Theory and Tool for Estimating Global Time in Parallel and Distributed Systems,” Proc. IEEE Euromicro Workshop Parallel and Distributed Processing, pp. 173-179, 1998.
[19]
IBM:Rational Test Real-Time,
[20]
D.F. Jerding, J.T. Stasko, and T. Ball, “Visualizing Interactions in Program Executions,” Proc. ACM Int'l Conf. Software Eng. (ICSE), pp. 360-370, 1997.
[21]
R. Kollmann and M. Gogolla, “Capturing Dynamic Program Behavior with UML Collaboration Diagrams,” Proc. IEEE European Conf. Software Maintenance and Reeng., pp. 58-67, 2001.
[22]
R. Kollmann, P. Selonen, E. Stroulia, T. Systa, and A. Zundorf, “A Study on the Current State of the Art in Tool-Supported UML-Based Static Reverse Engineering,” Proc. IEEE Working Conf. Reverse Eng., pp. 22-32, 2002.
[23]
D. Kortenkamp, R. Simmons, T. Milam, and J.L. Fernandez, “A Suite of Tools for Debugging Distributed Autonomous Systems,” Formal Methods and Systems Design J., vol. 24, no. 2, pp. 157-188, 2004.
[24]
D. Mills, “RFC 2030—Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI,”
[25]
J. Moe and D.A. Carr, “Using Execution Trace Data to Improve Distributed Systems,” Software—Practice and Experience, vol. 32, no. 9, pp. 889-906, 2002.
[26]
M. Nishizawa, S. Chiba, and M. Tatsubori, “Remote Pointcut—A Language Construct for Distributed AOP,” Proc. ACM Int'l Aspect Oriented Software Development, pp. 7-15, 2004.
[27]
R. Oechsle and T. Schmitt, “JAVAVIS: Automatic Program Visualization with Object and Sequence Diagrams Using the Java Debug Interface (JDI),” Software Visualization, pp. 176-190, 2002.
[28]
“UML 2.0 Superstructure Specification,” Final Adopted Specification ptc/03-08-02, Object Management Group, 2003.
[29]
T. Pender, UML Bible. Wiley, 2003.
[30]
M. Raynal and M. Signhal, “Logical Time: A Way to Capture Causality in Distributed Systems,” technical report, IRISA, Jan. 1995.
[31]
T. Richner and S. Ducasse, “Using Dynamic Information for the Iterative Recovery of Collaborations and Roles,” Proc. IEEE Int'l Conf. Software Maintenance (ICSM), pp. 34-43, 2002.
[32]
A. Rountev and B.H. Connell, “Object Naming Analysis for Reverse-Engineered Sequence Diagrams,” Proc. IEEE/ACM Int'l Conf. Software Eng., pp. 254-263, 2005.
[33]
A. Rountev, O. Volgin, and M. Reddoch, “Static Control-Flow Analysis for Reverse Engineering UML Sequence Diagrams,” Proc. ACM Workshop Program Analysis for Software Tools and Eng., pp. 96-102, 2005.
[34]
M. Salah and S. Mancoridis, “Toward an Environment for Comprehending Distributed Systems,” Proc. IEEE Working Conf. Reverse Eng., pp. 238-247, 2003.
[35]
W. Schütz, The Testability of Distributed Real-Time Systems. Kluwer Academic, 1993.
[36]
T. Sintes, “Singletons with Needles and Thread,”
[37]
T. Systa, K. Koskimies, and H. Muller, “Shimba—An Environment for Reverse Engineering Java Software Systems,” Software—Practice and Experience, vol. 31, no. 4, pp. 371-394, 2001.
[38]
Y. Terashima, I. Imai, Y. Shimostuma, F. Sato, and T. Mizuno, “A Proposal of Monitoring and Testing for Distributed Object Oriented Systems,” Electronics and Comm. in Japan, Part 1 (Comm.), vol. 86, no. 10, pp. 33-44, 2003.
[39]
P. Tonella and A. Potrich, “Reverse Engineering of the Interaction Diagrams from C++ Code,” Proc. Int'l Conf. Software Maintenance, pp. 159-168, 2003.
[40]
R.J. Walker, G.C. Murphy, B. Freeman-Benson, D. Wright, D. Swanson, and J. Isaak, “Visualizing Dynamic Software System Information through High-Level Models,” Proc. ACM SIGPLAN Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 271-283, 1998.
[41]
J. Warmer and A. Kleppe, The Object Constraint Language, second ed. Addison Wesley, 2003.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 32, Issue 9
September 2006
144 pages

Publisher

IEEE Press

Publication History

Published: 01 September 2006

Author Tags

  1. AspectJ
  2. OCL.
  3. RMI
  4. UML
  5. distribution
  6. reverse engineering
  7. sequence diagram

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)DyST: Dynamic Specification Mining for Heterogenous IoT Systems with WoTWeb Engineering10.1007/978-3-031-62362-2_11(147-162)Online publication date: 17-Jun-2024
  • (2023)Online ontological quality assessment of converted UML class diagrams in SREAutomated Software Engineering10.1007/s10515-023-00385-x30:2Online publication date: 18-Jun-2023
  • (2021)A Discovery Method for Hierarchical Software Execution Behavior Models Based on ComponentsScientific Programming10.1155/2021/47883572021Online publication date: 1-Jan-2021
  • (2019)Automatic Reverse Engineering of Interaction Models from System Logs2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA.2019.8869502(57-64)Online publication date: 10-Sep-2019
  • (2018)SDexplorerProceedings of the 26th Conference on Program Comprehension10.1145/3196321.3196366(380-384)Online publication date: 28-May-2018
  • (2018)Inferring hierarchical motifs from execution tracesProceedings of the 40th International Conference on Software Engineering10.1145/3180155.3180216(776-787)Online publication date: 27-May-2018
  • (2018)Leveraging annotation-based modeling with JumpSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0528-y17:1(65-89)Online publication date: 1-Feb-2018
  • (2018)Program comprehension through reverse‐engineered sequence diagramsJournal of Software: Evolution and Process10.1002/smr.196530:11Online publication date: 14-Nov-2018
  • (2017)A model-driven approach to trace checking of pattern-based temporal propertiesProceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems10.1109/MODELS.2017.9(323-333)Online publication date: 17-Sep-2017
  • (2017)Software landscape and application visualization for system comprehension with ExplorVizInformation and Software Technology10.1016/j.infsof.2016.07.00487:C(259-277)Online publication date: 1-Jul-2017
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media