Reverse Engineering: A Roadmap

Slides:



Advertisements
Similar presentations
Chapter 11 Software Evolution
Advertisements

Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
CMMI – Continuous as well as staged model CMMI capability levels – Incomplete, performed, managed, defined, quantitatively managed, optimized Example.
An Improved Approach to Project Estimation Based on Software Artifact Reuse by David T. Henrickson.
Unified theory of software evolution Reengineering – Business process reengineering and software reengineering BPR model – Business definition, process.
© S. Demeyer, S. Ducasse, O. Nierstrasz Reverse Engineering.1 2. Reverse Engineering What and Why Setting Direction  Most Valuable First First Contact.
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Introduction to Software Evolution and Maintenance
Software Engineering COMP 201
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Software Reengineering 2003 년 12 월 2 일 최창익, 고광 원.
Software Construction and Evolution - CSSE 375 Reverse Engineering and Reengineering Approaches Shawn & Steve In long-term software developments, the “elephant.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering Methodologies (Introduction)
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
Objectives of the Lecture
Karolina Muszyńska. Reverse engineering - looking at the solution to figure out how it works Reverse engineering - breaking something down in order to.
Introduction to Software Engineering
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Lecture 3 Software Engineering Models (Cont.)
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
Object Oriented Reverse Engineering JATAN PATEL. What is Reverse Engineering? It is the process of analyzing a subject system to identify the system’s.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
ICCS WSES BOF Discussion. Possible Topics Scientific workflows and Grid infrastructure Utilization of computing resources in scientific workflows; Virtual.
ANKITHA CHOWDARY GARAPATI
Cole David Ronnie Julio. Introduction Globus is A community of users and developers who collaborate on the use and development of open source software,
Chapter 5: Software Re-Engineering Omar Meqdadi SE 3860 Lecture 5 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
LaHave House Project 1 LaHave House Project Automated Architectural Design BML + ARC.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
NURHALIMA 1. Identify the trade-offs when using CASE Describe organizational forces for and against adoption of CASE tools Describe the role of CASE tools.
ARCH-06 Redesign & Harvest Mike Ormerod - Architect Christian Stiller - Senior Consultant Applied Technology Group.
INSTRUMENTATION DESIGN FOR AN AMMONIA PLANT: CAD MODEL CAPTURE Ana Carolina Olivera 1, Gustavo E. Vazquez 1, Nélida B. Brignole 1,2 1 Laboratorio de Investigación.
Decomposing Java Legacy Systems into Components Shimin Li and Ladan Tahvildari Software Technologies Applied Research Lab Department of Electrical & Computer.
CS223: Software Engineering Lecture 32: Software Maintenance.
Migration of Legacy Software to Service Oriented Architecture Edward Stehle, Brian Pyles, Jonathon Max- Sohmer, Kevin Lynch.
Sparx Systems (India)– Value Added Services
CSC 480 Software Engineering
Chapter3:Software Processes
Chapter 1- Introduction
Chapter 18 Maintaining Information Systems
The Web Application Development Process Models
Meteorological Big Data-as-a-Service: SOA based Environment and Methods for Meteorological Big Data Exploration Yaqiang Wang Chengdu University of Information.
Information Retrieval and Web Search
Software Maintenance.
Software Engineering and Best Practices
Dynamic Data Driven Application Systems
Software as Data Structure
Towards a Model-Driven Engineering Software Development Framework
EIN 6133 Enterprise Engineering
Frequently asked questions about software engineering
Information Retrieval and Web Search
Chapter 16 – Software Reuse
CS 425/625 Software Engineering Software Evolution
Frequently asked questions about software engineering
Dynamic Data Driven Application Systems
Service-centric Software Engineering 1
Automating Profitable Growth™
UML profiles.
Connected Vehicle Reference Implementation Architecture (CVRIA)
Enterprise Architecture Methods
PPT1: Basics of software engineering
Chapter 8 Software Evolution.
System Reengineering Restructuring or rewriting part or all of a system without changing its functionality Applicable when some (but not all) subsystems.
Re- engineeniering.
Introduction Software maintenance:
Presentation transcript:

Reverse Engineering: A Roadmap

Abstract By the early 1990s the need for reengineering legacy systems was already acute, but recently the demand has increased significantly with the shift toward web-based user interfaces. The demand by all business sectors to adapt their information systems to the Web has created a tremendous need for methods, tools, and infrastructures to evolve and exploit existing applications efficiently and cost-effectively.

Reverse engineering has been heralded as one of the most promising technologies to combat this legacy systems problem.

Introduction The notion of computers automatically finding useful information is an exciting and promising aspect of just about any application intended to be of practical use

reverse engineering definition "analyzing a subject system to identify its current components and their dependencies, and to extract and create system abstractions and design information."

reverse engineering capabilities Over the past ten years, researchers have produced a number of capabilities to explore, manipulate, analyze, summarize, hyperlink, synthesize, componentize, and visualize software artifacts.

These capabilities include documentation in many forms and intermediate representations for code, data, and architecture.

reverse engineering tools Many reverse engineering tools focus on extracting the structure of a legacy system with the goal of transferring this information into the minds of the software engineers trying to reengineer or reuse it. In corporate settings, reverse engineering tools still have a long way to go before becoming an effective and integral part of the standard toolset that a typical software engineer uses day-to-day.

Investing in program understanding technology is critical for the software and information technology industry to control the inherent high costs and risks of legacy system evolution.