Download presentation
Presentation is loading. Please wait.
Published byLiliana Jennings Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.