Presentation is loading. Please wait.

Presentation is loading. Please wait.

Contents What is Reverse Engineering (RE)? Why do we need Reverse Engineering? Scope and Tasks of Reverse Engineering Reverse Engineering Tools Reverse.

Similar presentations


Presentation on theme: "Contents What is Reverse Engineering (RE)? Why do we need Reverse Engineering? Scope and Tasks of Reverse Engineering Reverse Engineering Tools Reverse."— Presentation transcript:

1

2

3 Contents What is Reverse Engineering (RE)? Why do we need Reverse Engineering? Scope and Tasks of Reverse Engineering Reverse Engineering Tools Reverse Engineering in Rational Rose Conclusions

4 What is Reverse Engineering ? You have an unexpected case: You finished one course project using Java Your program runs OK But, by accident, you delete the java file How to hand in your project?

5 What is Reverse Engineering ? You have an unexpected case: You finished one course project using Java Your program runs OK But, by accident, you delete the java file How to hand in your project? Reverse Engineering

6 What is Reverse Engineering ? Waterfall Model of software development Requirement analysis design Implementation Testing and Maintenance

7 What is Reverse Engineering ? Forward Engineering Requirements Design Source Code Behavior

8 What is Reverse Engineering ? Forward EngineeringReverse Engineering Requirements Design Source Code Behavior

9 What is Reverse Engineering ? Abstraction System Old systemNew System Forward Engineering Re-Implementation Reverse Engineering Abstraction

10 What is Reverse Engineering? RE encompasses any activity that is done to determine how a product works, to learn the ideas and technology that were used in developing that product. RE can be done at many levels RE generally belongs to Software Maintenance

11 Why do we need RE ? Recovery of lost information providing proper system documentation Assisting with maintenance identification of side effects and anomalies Migration to another hw/sw platform Facilitating software reuse

12 Why do we need RE ? Benefits maintenance cost savings quality improvements competitive advantages software reuse facilitation

13 Scope and Task of Reverse Engineering Redocumentation and/or document generation Recovery of design approach and design details at any level of abstraction Identifying reusable components and components that need restructuring Recovering business rules Understanding high-level system description.

14 Discovery of Abstraction Discovery of abstraction in large system maintenance purpose evolution purpose reengineering purpose

15 Reverse Engineering Tools Disassemblers take the machine language codes in the binary and display them in a friendlier format. They also extrapolate data such as function calls, passed variables and text strings. Debuggers are the bread and butter for reverse engineers. They first analyze the binary, much like a disassembler Debuggers then allow the reverser to step through the code, running one line at a time and investigating the results. Hex editors allow you to view the actual bytes in a binary, and change them. They also provide searching for specific bytes, saving sections of a binary to disk, and much more.

16 Eg:Reverse Engineering in Rational Rose

17

18

19

20 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 Discovery of abstraction is key issue

21 Thank you


Download ppt "Contents What is Reverse Engineering (RE)? Why do we need Reverse Engineering? Scope and Tasks of Reverse Engineering Reverse Engineering Tools Reverse."

Similar presentations


Ads by Google