scholarly journals Reverse Engineering Encapsulated Components from Object-Oriented Legacy Code

Author(s):  
Rehman Arshad ◽  
Kung-Kiu Lau
2012 ◽  
Vol 721 ◽  
pp. 307-312 ◽  
Author(s):  
Samuel Ratnajeevan Herbert Hoole ◽  
Thiruchelvam Arudchelvam ◽  
Janaka Wijayakulasooriya

The development of code for finite elements-based field computation has been going on at a pace since the 1970s, yielding code that was not put through the software lifecycle – where code is developed through a sequential process of requirements elicitation from the user/client to design, analysis, implementation and testing and release and maintenance. As a result, today we have legacy code running into millions of lines, implemented without planning and not using proper state-of-the-art software design tools. It is necessary to redo this code to exploit new object oriented facilities and make corrections or run on the web with Java. Object oriented code’s principal advantage is reusability. Recent advances in software make such reverse engineering/re-engineering of this code into object oriented form possible. The purpose of this paper is to show how existing finite element code can be reverse/re-engineered to improve it. Taking sections of working finite element code, especially matrix computation for equation solution as examples, we put it through reverse engineering to arrive at the effective UML design by which development was done and then translate it to Java. This then is the starting point for analyzing the design and improving it without having to throw away any of the old code. Using auto-translators and then visually rewriting parts by the design so revealed, has no match in terms of speed and efficiency of re-engineering legacy code.


Author(s):  
Liliana Favre ◽  
Liliana Martinez ◽  
Claudia Pereira

Software modernization is a new research area in the software industry that is intended to provide support for transforming an existing software system to a new one that satisfies new demands. Software modernization requires technical frameworks for information integration and tool interoperability that allow managing new platform technologies, design techniques, and processes. To meet these demands, Architecture-Driven Modernization (ADM) has emerged as the new OMG (Object Management Group) initiative for modernization. Reverse engineering techniques play a crucial role in system modernization. This chapter describes the state of the art in the model-driven modernization area, reverse engineering in particular. A framework to reverse engineering models from object-oriented code that distinguishes three different abstraction levels linked to models, metamodels, and formal specification is described. The chapter includes an analysis of technologies that support ADM standards and provides a summary of the principles that can be used to govern current modernization efforts.


Author(s):  
GERARDO CANFORA ◽  
ANDREA DE LUCIA ◽  
GIUSEPPE A. DI LUCCA

We present a strategy for incrementally migrating legacy systems to object-oriented platforms. The migration process consists of six sequential phases and encompasses reverse engineering and reengineering activities. The aim of reverse engineering is to decompose programs into components implementing the user interface and components implementing application domain objects. The identification of objects is centred around persistent data stores and exploits object-oriented design metrics. Wrapping is the core of the reengineering activities. It makes new systems able to exploit existing resources, thus allowing an incremental and selective replacement of the identified objects. The migration strategy has been defined and experimented within the project ERCOLE (Encapsulation, Reengineering and Coexistence of Object with Legacy) on legacy systems developed in RPG for the IBM AS/400 environment.


2010 ◽  
Vol 40-41 ◽  
pp. 873-876
Author(s):  
Hua Chu ◽  
Qing Shan Li ◽  
Shen Ming Hu ◽  
Ping Chen

Aspect mining is a reverse engineering process that aims at finding crosscutting concerns in existing systems. This paper describes an aspect mining approach making use of the results of reverse engineering, statechart diagram, to aid in the understanding of an object-oriented software system’s behaviors. An aspect based on the recovered statechart diagram is defined as a set of states and an event. These states will transit to the same state after they send the event. Finally, systematic experiment is conducted in the paper in order to verify the correctness and validity of this approach.


2012 ◽  
Vol 271-272 ◽  
pp. 636-640
Author(s):  
Yong Yong Sun ◽  
Guang Qiu Huang

The security of software is threatened by piracy, tampering and reverse engineering. Attackers attempt to get important algorithms and sensitive data of software by static analysis or reverse engineering. Software protection becomes an important problem. The algorithm of code obfuscation based on class splitting is proposed that uses of obfuscation technology. The definition of class splitting and realization on algorithm are described. At the same time, the performance on algorithm is analyzed. The obfuscation method enhances the degree of complication about program and static analysis becomes more difficult. The algorithm is applicable to object-oriented program with class structure.


Sign in / Sign up

Export Citation Format

Share Document