Interactive Exploration of ReverseEngineered UML Sequence Diagrams - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

Interactive Exploration of ReverseEngineered UML Sequence Diagrams

Description:

Interactive Exploration of Reverse-Engineered UML Sequence ... Implemented in some commercial UML tools. Together ControlCenter (Borland) EclipseUML (Omondo) ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 12
Provided by: atanasr
Category:

less

Transcript and Presenter's Notes

Title: Interactive Exploration of ReverseEngineered UML Sequence Diagrams


1
Interactive Exploration of Reverse-Engineered UML
Sequence Diagrams
  • Richard Sharp
  • Atanas (Nasko) Rountev
  • Ohio State University

2
Example of a UML Sequence Diagram
startX
pA
m1()
m2()
m3()
create()
nA
m4()
opt
3
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)

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

5
Example of a Reverse-Engineered Diagram
6
Zooming and Translation
  • Useful, but have serious limitations

7
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)
8
Filtering of Interaction Fragments
Filtering of Interaction Fragments
  • Condense alt/opt/loop/break fragments
  • Filter out everything outside of a chosen fragment

9
Focusing on a Single Message
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)

11
  • Questions?
Write a Comment
User Comments (0)
About PowerShow.com