Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interactive Exploration of Reverse-Engineered UML Sequence Diagrams

Similar presentations


Presentation on theme: "Interactive Exploration of Reverse-Engineered UML Sequence Diagrams"— Presentation transcript:

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


Download ppt "Interactive Exploration of Reverse-Engineered UML Sequence Diagrams"

Similar presentations


Ads by Google