Interactive Exploration of Reverse-Engineered UML Sequence Diagrams

Slides:



Advertisements
Similar presentations
ASSUMPTION HIERARCHY FOR A CHA CALL GRAPH CONSTRUCTION ALGORITHM JASON SAWIN & ATANAS ROUNTEV.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
UML CASE Tools - StarUML -
Reverse Engineering Valeriya Perelman 12/10/04. Outline Motivation Terminology Related work Approach discussion Challenges References.
SwE 313 Introduction to Rational Unified Process (RUP)
L OUISIANA T ECH U NIVERSITY College of Engineering and Science INTRODUCTION RATIONAL ROSE BORLAND TOGETHER VISUAL PARADIGM CONCLUSIONS.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Software Construction and Evolution - CSSE 375 Reverse Engineering Tools and Techniques Shawn & Steve Left – Reengineering from the competition can be.
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Mapping Designs to Code Larman, Chapter 20 CSE432 Object Oriented Software Engineering.
Static Control-Flow Analysis for Reverse Engineering of UML Sequence Diagrams Atanas (Nasko) Rountev Ohio State University with Olga Volgin and Miriam.
PRESTO Research Group, Ohio State University Interprocedural Dataflow Analysis in the Presence of Large Libraries Atanas (Nasko) Rountev Scott Kagan Ohio.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Object-Oriented Analysis and Design An Introduction.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 13 Java on Various Computer Platforms.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
Aspect Oriented Programming Sumathie Sundaresan CS590 :: Summer 2007 June 30, 2007.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Coverage Criteria for Testing of Object Interactions in Sequence Diagrams Atanas (Nasko) Rountev Scott Kagan Jason Sawin Ohio State University.
Rethinking Soot for Summary-Based Whole- Program Analysis PRESTO: Program Analyses and Software Tools Research Group, Ohio State University Dacong Yan.
Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System Abdelwahab Hamou-Lhadj Timothy Lethbridge.
Object-Oriented Analysis and Design Fall 2009.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
SEMINAR WEI GUO. Software Visualization in the Large.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Design Jon Walker. More UML ● What is UML again?
Hassen Grati, Houari Sahraoui, Pierre Poulin DIRO, Université de Montréal Extracting Sequence Diagrams from Execution Traces using Interactive Visualization.
CBSE'051 Component-Level Dataflow Analysis Atanas (Nasko) Rountev Ohio State University.
Intro. to Software Engineering 1CSCI 3333 Data Structures.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Information Visualization as an aid to Agile Software Development By: Andrew J. Armstrong.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Reverse Engineering CS3300 Fall What is it? Extracting design information from existing software Two types: Source Code based (easier) or Binary.
5/7/03ICSE Fragment Class Analysis for Testing of Polymorphism in Java Software Atanas (Nasko) Rountev Ohio State University Ana Milanova Barbara.
® IBM Software Group © 2007 IBM Corporation Module 3: Creating UML Diagrams Essentials of Modeling with IBM Rational Software Architect, V7.5.
Sept 12ICSM'041 Precise Identification of Side-Effect-Free Methods in Java Atanas (Nasko) Rountev Ohio State University.
HYBRID APPROACH TO INTERFACE ADAPTATION.  Computing power anywhere and everywhere  Need interfaces that can adapt to different device conditions and.
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
Object Naming Analysis for Reverse- Engineered Sequence Diagrams Atanas (Nasko) Rountev Beth Harkness Connell Ohio State University.
Eclipse Outlines: What is Eclipse? How to Install Eclipse? Eclipse Platform Eclipse Plug in Eclipse UML JUnit in Eclipse. References Latifa AlAbdulkarim.
Object Oriented Analysis & Design By Rashid Mahmood.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Static Analysis of Object References in RMI-based Java Software
Testing Tools & Standards
UML Diagrams By Daniel Damaris Novarianto S..
Atanas (Nasko) Rountev Ohio State University
Object-Oriented Techniques
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
1.Introduction to Rational Unified Process (RUP)
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
Building a Whole-Program Type Analysis in Eclipse
UML dynamic Modeling (Behavior Diagram)
Unified Modeling Language
Software Design Lecture : 14.
On to Object Design c. 14.
Presentation transcript:

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

Example of a UML Sequence Diagram start:X p:A m1() m2() m3() create() n:A opt m4() Nasko Rountev VISSOFT'05

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

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

Example of a Reverse-Engineered Diagram Nasko Rountev VISSOFT'05

Zooming and Translation Useful, but have serious limitations Nasko Rountev VISSOFT'05

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

Filtering of Interaction Fragments Condense alt/opt/loop/break fragments Filter out everything outside of a chosen fragment Nasko Rountev VISSOFT'05

Focusing on a Single Message Nasko Rountev VISSOFT'05

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

Questions? Nasko Rountev VISSOFT'05