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

Slides:



Advertisements
Similar presentations
A Method for Validating Software Security Constraints Filaret Ilas Matt Henry CS 527 Dr. O.J. Pilskalns.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Visualization Using Hierarchical Edge Bundles and Massive Sequence Views Danny Holten and Jarke J. van Wijk Eindhoven University of Technology.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Reverse Engineering Valeriya Perelman 12/10/04. Outline Motivation Terminology Related work Approach discussion Challenges References.
Unified Modeling Language (UML) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Interaction Models. Interaction Definition An interaction is a behavior that comprises a set of messages exchanged among a set of objects within a context.
Kari R. Schougaard, PhD Stud. Værktøjer og Teknikker, 2006 UNIVERSITY OF AARHUS Department of Computer Science Unified Modeling Language Visual language.
1 Program Comprehension through Dynamic Analysis Visualization, evaluation, and a survey Bas Cornelissen (et al.) Delft University of Technology IPA Herfstdagen,
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
Strategies to relate the program and problem domains using code instrumentation Mario Marcelo Berón University of Minho Pedro Rangel Henriques University.
The Re-engineering and Reuse of Software
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
UML Tools ● UML is a language, not a tool ● UML tools make use of UML possible ● Choice of tools, for individual or group use, has a large affect on acceptance.
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Static Control-Flow Analysis for Reverse Engineering of UML Sequence Diagrams Atanas (Nasko) Rountev Ohio State University with Olga Volgin and Miriam.
Topic S Program Analysis and Transformation SEG 4110: Advanced Software Design and Reengineering.
Change Impact Analysis for AspectJ Programs Sai Zhang, Zhongxian Gu, Yu Lin and Jianjun Zhao Shanghai Jiao Tong University.
Mining and Analysis of Control Structure Variant Clones Guo Qiao.
Conceptual Modelling – Behaviour
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
Debug Concern Navigator Masaru Shiozuka(Kyushu Institute of Technology, Japan) Naoyasu Ubayashi(Kyushu University, Japan) Yasutaka Kamei(Kyushu University,
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
TTCN-3 MOST Challenges Maria Teodorescu
TM Copyright © 2009 NMQA Ltd. Behaviour Driven Testing with.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University July 21, 2008WODA.
CASE/Re-factoring and program slicing
Eliciting Integration Scenarios As discussed during Meeting
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Lab 5 CPIT 250 System Analysis and Design.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.
Rigorous Testing by Merging Structural and Behavioral UML Representations Presented by Chin-Yi Tsai.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Saint-Petersburg State University ITMO Automata-based Algorithms Visualization Framework Georgiy Korneev Computer Technology Department,
ECE 750 Topic 8 Meta-programming languages, systems, and applications Automatic Program Specialization for J ava – U. P. Schultz, J. L. Lawall, C. Consel.
Object Oriented Analysis & Design By Rashid Mahmood.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
By Mashael AlDayel Introduction to UML. What is UML? UML (Unified Modeling Language) is a graphical language that is suit-able to express software or.
Introduction to Unified Modeling Language (UML) By Rick Mercer with help from The Unified Modeling Language User Guide, Grady Booch, James Rumbaugh, Ivar.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Automatic Network Protocol Analysis
Atanas (Nasko) Rountev Ohio State University
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Unified Modeling Language
Interactive Exploration of Reverse-Engineered UML Sequence Diagrams
Test Process “V” Diagram
Presentation transcript:

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

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 Objective and working hypothesis –Extraction of sequence diagrams for the purpose of redocumentation for existing use case scenarios Use−case Scenarios Source Code User Input Combined Trace Generation of Execution Traces T1 T3 T2 Combination of Execution Traces Interactive Visualization 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 [ ], _, StartDraw [T1M1], _  PanelDraw [ ], Figure [ ], StartDraw [T1M1], Figure [T1M2], _ …  PanelDraw [ ], Circle [ ], StartDraw [T1M1], Circle [T1M9], …

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 –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