Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented Reverse Engineering JATAN PATEL. What is Reverse Engineering? It is the process of analyzing a subject system to identify the system’s.

Similar presentations


Presentation on theme: "Object Oriented Reverse Engineering JATAN PATEL. What is Reverse Engineering? It is the process of analyzing a subject system to identify the system’s."— Presentation transcript:

1 Object Oriented Reverse Engineering JATAN PATEL

2 What is Reverse Engineering? It is the process of analyzing a subject system to identify the system’s components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. Goals Cope with complexity Generate alternative views Recover lost information Detect side effects Synthesize higher abstraction Facilitate reuse

3 Why Reverse Engineering? Object Oriented Software Systems require : Maintenance Reengineering Evolution Most systems with time tend to gradually decay in quality, unless the systems are maintained and adapted to the evolving requirements Adaption to new requirements Extension of lifetime To increase the return of investment

4 Maintain Enhance High Low High Reengineer Discard Decision Making Modifiability Business Value

5 Challenges Sheer size of the systems Complexity Domain Specificity Bad state – decreased quality

6 Different Approaches to Reverse Engineering Program Comprehension Extracting Design Patterns Knowledge Based Domain Analysis Program Slicing Other Automated Approaches Like GRASPR – Graph based System for Program Recognition

7 Design Pattern Extraction Two phases for extracting structural design patterns: 1) Extract structural metrics from the source code 2) Aggregations and Associations are identified

8 Sample Program

9 Metrics Calculation

10 UML Notations

11 Results Detected Patterns: 1) Bridge Pattern 2) Composite Pattern

12 Conclusions Reverse Engineering is a new research area among software maintenance RE includes activities of understanding the system and recovery info from system Program understanding is the most important subset of Reverse Engineering

13 Thank You


Download ppt "Object Oriented Reverse Engineering JATAN PATEL. What is Reverse Engineering? It is the process of analyzing a subject system to identify the system’s."

Similar presentations


Ads by Google