Download presentation
Presentation is loading. Please wait.
Published byBryce Miller Modified over 5 years ago
1
Interactive Exploration of Reverse-Engineered UML Sequence Diagrams
Richard Sharp Atanas (Nasko) Rountev Ohio State University
2
Example of a UML Sequence Diagram
start:X p:A m1() m2() m3() create() n:A opt m4() Nasko Rountev VISSOFT'05
3
Popular UML artifacts for modeling of object interactions
UML Sequence Diagrams Popular UML artifacts for modeling of object interactions Design-time sequence diagrams Reverse-engineered sequence diagrams Based on existing code Iterative development; design recovery for software maintenance; software testing Implemented in some commercial UML tools Together ControlCenter (Borland) EclipseUML (Omondo) Nasko Rountev VISSOFT'05
4
Reverse-Engineering Analyses
Dynamic analysis: tracks a set of representative run-time executions Several research tools Static analysis: examines only the code Commercial tools (deficiencies) Some research work (not comprehensive) RED tool for Java: PRESTO group at OSU URL: presto.cse.ohio-state.edu/red Call chain analysis; control-flow analysis; object naming analysis; visualization and navigation; test coverage measurements Nasko Rountev VISSOFT'05
5
Example of a Reverse-Engineered Diagram
Nasko Rountev VISSOFT'05
6
Zooming and Translation
Useful, but have serious limitations Nasko Rountev VISSOFT'05
7
Filter out certain diagram elements
Filtering Filter out certain diagram elements Choose starting and ending message Choose call stack depth start msg: 172 end msg: 177 depth: 2 (out of 5) Nasko Rountev VISSOFT'05
8
Filtering of Interaction Fragments
Condense alt/opt/loop/break fragments Filter out everything outside of a chosen fragment Nasko Rountev VISSOFT'05
9
Focusing on a Single Message
Nasko Rountev VISSOFT'05
10
Conclusions and Future Work
Interactive, fast-paced exploration Abstraction is critical Filtering: by time, by call graph depth, by objects, by interaction fragments Merging: e.g. combine together a set of related objects into a single object Computation and re-computation of layout Techniques from code understanding Slicing w.r.t. messages, objects, etc. Refactoring (e.g., “extract sub-diagram”) Nasko Rountev VISSOFT'05
11
Questions? Nasko Rountev VISSOFT'05
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.