Working With Reverse Engineering Output for Benchmarking and Further Use David Cutting and Joost Noppen University of East Anglia

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
UML CASE Tools - StarUML -
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 2.
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Reuse Repository - The Market in a Nutshell - November 30, 1998 Tracy Fujieda CS 446 Tools and Processes for Software.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
8 Systems Analysis and Design in a Changing World, Fifth Edition.
CS565 Advanced Software Development Lecture 23, 2006 CASE.
IBM Software Group © 2005 IBM Corporation University of Nantes Eclipse dayMarch 2005 The Eclipse Modeling Framework and the IBM Model Transformation Framework.
ADML A result of cooperation and leverage! The Open Group W3C OMG MCC CMU.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
HL7 UK 2003 (c) Abies Ltd Modelling Clinical Information Using UML Tim Benson Abies Ltd
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Chapter 1 Variables in the Web Design Environment
Concept Mapping in the Classroom David W. Dillard M.A.I.N. ITV Consortium.
1 Successful Middleware Integration Using a Common Domain Model October, 2000 Gregor Hohpe.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
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.
Technical Overview.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Model-Driven Architecture & OptimalJ Roland T. Craddolph.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Arc Hydrology Data Model An Overview of the Modeling Process Kim Davis and Tim Whiteaker Center for Research in Water Resources University of Texas at.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Introduction to MDA (Model Driven Architecture) CYT.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Tools for Diagrammatic Specifications Stian Skjerveggen Supervisors: Yngve Lamo, Adrian Rutle, Uwe Egbert Wolter.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
UML Class Diagrams and Caché CAMTA Meeting – 1 st December 2011 John Murray Senior Product Engineer.
1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.
Designing Complex Software Systems: Introduction CS 6961 – Lecture 0 Nathan Dykman.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
I n t e g r i t y - S e r v i c e - E x c e l l e n c e UML to OPNET SW Performance Modeling November 6, 2008 John James (E547) Greg Quinn (E547) Ed Walters.
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Java GUI building approaches Aleksandar Kartelj Faculty of Mathematics, Belgrade 11 th Workshop “Software Engineering Education and.
SPE-RFI-R : FEB.1999 : NUL-ITD-Iwata 2-01 Needs for Software Development Model Hiromichi Iwata Information Technologies.
The Unified Modeling Language (UML)
Software Architecture Risk Assessment (SARA) Tool Khader Shaik, Wallid Abdelmoez, Dr. Hanny Ammar Lane Department of Computer Science and Electrical Engineering,
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
XMI2SQL Capstone Presentation Principal Investigator: Eric Hartford Committee Chair: Sam Chung, Ph.D. Committee Member: Isabelle Bichindaritz, Ph.D.
Toolkit 2.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
ICIST 2011 Mar , Nanjing, China Visualization in Software Architecture Helen Wu 1 Let’s Enforce a Simple Rule in Software Architecture Helen.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Information Integration 15 th Meeting Course Name: Business Intelligence Year: 2009.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Technical Overview. What Is MagicDraw?  Business Analysts  Software Analysts  Programmers  QA Engineers  Documentation Writers MagicDraw is a powerful.
Executive Overview. Software modeling is essential, because it is the map that guides your developers. Additionally: Modeling Software  Visual information.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Michael Radloff, Martin Schultz 12th International Conference BPM 2014 Modeling Concepts for Internal Controls in Business Processes – an Empirically Grounded.
Model Driven Architecture MDA SE-548 Lale Doğan
® IBM Software Group © 2009 IBM Corporation Viewpoints and Views in SysML Dr Graham Bleakley
What is Wrong with Models?
Presentation of Flowchart
Modelling Clinical Information Using UML
Introduction.
Software Architecture & Design
Presentation transcript:

Working With Reverse Engineering Output for Benchmarking and Further Use David Cutting and Joost Noppen University of East Anglia David Cutting; University of East Anglia, Norfolk, UK1

Presentation Outline Problem Statement Benchmarking of Reverse Engineering Working Further with Reverse Engineering Output for Analysis and Comparison Next Steps David Cutting; University of East Anglia, Norfolk, UK2

The Problem Software grows organically Links with documentation easily lost through uncontrolled change Pressure for further change still present Very difficult to perform change impact analysis if we don’t know what components relate to one another David Cutting; University of East Anglia, Norfolk, UK3

Reverse Engineering One of the main sources of information about software is the software itself Reverse engineering offers a powerful tool for program comprehension There are a lot of reverse engineering tools but… David Cutting; University of East Anglia, Norfolk, UK4

Reverse Engineering Tools Although there are many tools they – Vary in output (which is right, which is wrong?) – Have no standard means of comparison This is org.jhotdraw.io from Rational Rhapsody: David Cutting; University of East Anglia, Norfolk, UK5

Reverse Engineering Tools org.jhotdraw.io from Astah Professional: org.jhotdraw.io from ArgoUML: David Cutting; University of East Anglia, Norfolk, UK6

Reverse Engineering Tools These are all 100% correct: David Cutting; University of East Anglia, Norfolk, UK7

The Benchmark To compare and rank different tools we created a benchmark (the Reverse Engineering to Design Benchmark: RED-BM) 16 target artifacts – Varying from 100 to 40,000 lines of code – From 7 to 450 classes – Range of architecture styles and complexity – “Gold standard” for each in terms of contained classes and sampled relationships David Cutting; University of East Anglia, Norfolk, UK8

The Benchmark Existing designs where available Reverse engineering output from other tools for comparison Initial measures for class detection, packages, and relationships: For artifact x: Cl(x) is the ratio of correct classes, Sub(x) ratio of correct packages and Rel(x) ratio of correct relationships in system s for result r David Cutting; University of East Anglia, Norfolk, UK9

Benchmark Measures Reference Diagram Classes: 7 Relationships: 4 Sub-Classes: N/A David Cutting; University of East Anglia, Norfolk, UK10

Benchmark Measures Reference Diagram Classes: 7 Relationships: 4 Sub-Classes: N/A David Cutting; University of East Anglia, Norfolk, UK11

Benchmark Measures David Cutting; University of East Anglia, Norfolk, UK12 MeasureReference Classes7 Relationships4

Benchmark Measures David Cutting; University of East Anglia, Norfolk, UK13 MeasureReferenceArgoUML Classes77 Relationships44

Benchmark Measures David Cutting; University of East Anglia, Norfolk, UK14 MeasureReferenceArgoUML Classes77 Relationships44

Benchmark Measures David Cutting; University of East Anglia, Norfolk, UK15 MeasureReferenceArgoUMLSIM Classes777 Relationships440

Benchmark Measures David Cutting; University of East Anglia, Norfolk, UK16 ArgoUML: SIM:

Overall Performance Individual measures fed into weighted Compound Measure (CM) as function P: In this case, with equal weightings: David Cutting; University of East Anglia, Norfolk, UK17

Extensibility Extensibility – existing and new measures can be combined into new or redefined (refocused) compound measure C: Design pattern detection, architectural styles or components (MVC etc) David Cutting; University of East Anglia, Norfolk, UK18

Benchmark Analysis We ran a 12 industry reverse engineering tools against the 16 target artifacts We then compared output against our “Gold Standard” – Rather than doing this manually we used the XMI output from tools (more on this later) What we found was quite surprising… David Cutting; University of East Anglia, Norfolk, UK19

Benchmark Results David Cutting; University of East Anglia, Norfolk, UK20

Key Findings Wide variance in performance between tools (8.8% to 100%) RED-BM is effective at differentiating tool performance You don’t always get what you pay for! David Cutting; University of East Anglia, Norfolk, UK21

Benchmark Results David Cutting; University of East Anglia, Norfolk, UK22

Working Further With Reverse Engineering Output Benchmarking shows clear differences but we want to be able to use output from reverse engineering for further use – Aggregation of output (bringing together multiple imperfect outputs) – Combination with other sources of information – Making better use of the information than we can with generated diagrams David Cutting; University of East Anglia, Norfolk, UK23

The Problem with Diagrams David Cutting; University of East Anglia, Norfolk, UK24

The Problem with Diagrams David Cutting; University of East Anglia, Norfolk, UK25

XML Metadata Interchange (XMI) XMI is an Object Management Group (OMG) Meta-Object Facility (MOF) for exchange of Unified Modeling Language (UML) – So XMI = OMG MOF UML (OMG is right!) This is a standard but one offering extensibility on many levels So effective interchange between tools is pretty much non-existent David Cutting; University of East Anglia, Norfolk, UK26

Working with XMI To create the benchmark we wanted to be able to analyse XMI rather than counting classes by hand This entailed the creation of a generic XMI class finder In turn this work led to a generic XMI parser to load XMI models into a standard format in memory David Cutting; University of East Anglia, Norfolk, UK27

Working with XMI David Cutting; University of East Anglia, Norfolk, UK28

Reconstruction from XMI Using UMLet within Eclipse David Cutting; University of East Anglia, Norfolk, UK29

Combinational Relationships In addition to other (cool) stuff we can do with reverse engineering output, we can build a relationship matrix This is just a simple matrix showing all class pairings, and the count of relationships found between them David Cutting; University of East Anglia, Norfolk, UK30

Combinational Relationships David Cutting; University of East Anglia, Norfolk, UK31 ABCDE A B C D E

Combinational Relationships David Cutting; University of East Anglia, Norfolk, UK32 ABCDE A B C D E

Combinational Relationships David Cutting; University of East Anglia, Norfolk, UK33 ABCDE A BA <> B C D E

Combinational Relationships David Cutting; University of East Anglia, Norfolk, UK34 ABCDE A BA <> B CA <> C D E

Combinational Relationships David Cutting; University of East Anglia, Norfolk, UK35 ABCDE A BA <> B CA <> CB <> C DA <> DB <> DC <> D EA <> EB <> EC <> ED <> E

Relationship Matrix Simple representation of shared relationships Can be generated from multiple different sources and is lowest common denominator Many other possible sources of information of this type… David Cutting; University of East Anglia, Norfolk, UK36

Relationship Matrices… Not limited to just object pairings – any pairings of components – Requirements and Classes – Documents and Requirements – … As long as a compatible “view” can be easily used in combination with each other David Cutting; University of East Anglia, Norfolk, UK37

Next Steps Refine matrix modeler Analysis of larger and real-world software Improve XMI parser utility More information sources – Documentation / Natural Language / Repositories – Stack traces / call stacks How can we bring this together? How we can set filters/thresholds sensibly? David Cutting; University of East Anglia, Norfolk, UK38

Thank You Any questions? Feel free to David Cutting; University of East Anglia, Norfolk, UK39