MDA-Based Reverse Engineering of Object Oriented Code

Author(s):  
Liliana Favre ◽  
Liliana Martinez ◽  
Claudia Pereira
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.


2010 ◽  
Vol 1 (2) ◽  
Author(s):  
Paulus Mudjihartono ◽  
Findra Kartika Sari Dewi

 Abstract. Reverse Engineering of Object Oriented Code to Class Design Using Graph Data Structure. This time the software engineering methodology still follows the process of standard system development consisting of four phases of the system initialization, system analysis, system design, and system implementation. The phases occur sequentially so that the implementation is always done after the design is complete. This research is developing software Code Converter (COCON) to automate the conversion of object-oriented code to class design using graph data structures. COCON only requires an object-oriented code file as input and produce results in the form of a file containing a list of classes and relations between classes that read from input file. COCON help users to find out the class design of object-oriented code and becomes the basis for drawing class diagrams of object-oriented code. Keywords: reverse engineering, class design, relation, OOP, graph Abstrak. Pada saat ini metodologi rekayasa perangkat lunak masih mengikuti proses pengembangan sistem yang standar yang terdiri dari empat fase yakni inisialisasi sistem, analisis sistem, desain sistem dan implementasi sistem. Keempat fase tersebut terjadi secara berurutan sehingga fase implementasi selalu dilakukan setelah fase desain selesai. Penelitian ini membangun perangkat lunak Code Converter (COCON) yang berfungsi untuk mengotomasi konversi kode program berorientasi objek ke desain kelas dengan struktur data graf. COCON hanya membutuhkan sebuah berkas kode program berorientasi objek sebagai masukan dan memberikan hasil berupa sebuah berkas yang berisi daftar kelas dan relasi antar kelas yang dibaca dari berkas masukan. COCON membantu pengguna untuk mengetahui desain kelas dari kode program berorientasi objek dan menjadi dasar dalam  penggambaran diagram kelas dari kode berorientasi objek. Kata Kunci: rekayasa pembalikan, desain kelas, relasi, PBO, graf


Sign in / Sign up

Export Citation Format

Share Document