extracting sequence diagrams from execution traces using interactive visualization n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Extracting Sequence Diagrams from Execution Traces using Interactive Visualization PowerPoint Presentation
Download Presentation
Extracting Sequence Diagrams from Execution Traces using Interactive Visualization

Loading in 2 Seconds...

  share
play fullscreen
1 / 30
solomon-henson

Extracting Sequence Diagrams from Execution Traces using Interactive Visualization - PowerPoint PPT Presentation

131 Views
Download Presentation
Extracting Sequence Diagrams from Execution Traces using Interactive Visualization
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Extracting Sequence Diagrams from Execution Traces using Interactive Visualization Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal

  2. Example of Design Diagram

  3. Corresponding Automated- RE Diagram

  4. Presentation Agenda • Context and motivation • Overview • Trace generation and combination • Sequence diagram extraction • Evaluation

  5. Context and Motivation • Reverse engineering of analysis and design models • Comprehension • Migration • Maintenance • Mature work on static model extraction • Integrated in commercial tools • Still few challenges • Relationship recovery and scope definition

  6. Context and Motivation • Difficulty to extract behavioral models • Static analysis • Dynamic language features • Dynamic analysis • Implementation details • Specificity to an execution trace • Proposal • Semi-automated reverse engineering with interactive visualization

  7. Overview Generation of Execution Traces T1 Use−case Scenarios T2 T3 Combination of Execution Traces • Objective and working hypothesis • Extraction of sequence diagrams for the purpose of redocumentation for existing use case scenarios Source Code Combined Trace Interactive Visualization User Input Sequence Diagram

  8. Trace Generation and Combination • Generating traces from a scenario • Determination of execution variants • Code Instrumentation • Method body, loop block, conditional block • Example • _, PanelDraw [21668571], _, StartDraw [T1M1], _ • PanelDraw [21668571], Figure [3916193], StartDraw [T1M1], Figure [T1M2], _ … • PanelDraw [21668571], Circle [17282414], StartDraw [T1M1], Circle [T1M9], <%(State.getFiguretype()==MODE_CERCLE)%> …

  9. Trace Generation and Combination • Combining traces • Recursive alignment of call-tree nodes • For each pair of aligned methods, enclosed sequence of method calls are compared • Sequence alignment using the Smith-Waterman algorithm

  10. Trace Generation and Combination • Combining traces • Example

  11. Trace Generation and Combination • Combining traces • Example

  12. Sequence Diagram Extraction • Extraction = set of successive interaction cycles • Each cycle • Automated basic transformations • User interactions using interaction views

  13. Sequence Diagram Extraction • Automated basic transformations • Messages = method calls • Participants = call sender and receiver • opt/alt/loop boxes = conditional/loop stacks • Return messages extracted from the tree structure

  14. Sequence diagram Extraction • User interactions using interaction views • Global view • Messages

  15. Sequence Diagram Extraction • User interactions using interaction views • Global view • Placement

  16. Sequence Diagram Extraction • User interactions using interaction views • Global view • Placement

  17. Sequence Diagram Extraction • User interactions using interaction views • Diagram view

  18. Sequence Diagram Extraction • User interactions using interaction views • Interactions • Navigation

  19. Sequence Diagram Extraction • User interactions using interaction views • Interactions • Renaming objects and messages • Removing objects and messages • Tree pruning • Node removal • Recommending fragment merges • Finding recommendations during trace alignments • Based on polymorphism

  20. Sequence Diagram Extraction • User interactions using interaction views • Recommending fragment merges

  21. Evaluation • Setting • ATM simulation system • 24 Java classes • www.math-cs.gordon.edu/local/courses/cs211/ATMExample/ • Three use-case scenarios • Session, Deposit, and Withdraw • Three sequence diagrams per scenario • Design diagram (DD) • Diagram extracted automatically (ATD) [Briand et al., 03] • Diagram extracted using interactive visualization (IVD)

  22. Evaluation • Results • Participants

  23. Evaluation • Results • Messages

  24. Conclusions • Semi-automated approach • Dynamic analysis • Interactive visualization • Recommendations • Evaluation on a benchmark • Concise diagrams with better precision and less implementation details • Acceptable interaction time

  25. Limitations & Future Work • Improve scalability of the global view • Improve the recommendation module • Incremental learning • Apply IV to the reverse engineering of other dynamic models • State diagram • Activity diagram

  26. Thank you

  27. Additional Slides

  28. Session Scenario

  29. Session Scenario

  30. Session Scenario