You are on page 1of 7

PhD Research Proposal: Reverse Engineering – Reverse Object

Oriented Design Methodology (R-OODM)


1 Summary:
Software design plays a vital role in better understanding of the software system and its architecture. It

also provides help throughout the software development life cycle and afterwards in its maintenance as

well. Web applications have been emerging enormously and subjected to continuous changes due to high

competition in the market. But unfortunately, most of the web applications are implemented without

producing any formal design documentation for its subsequent maintenance and evolution. Therefore,

the maintenance of these applications becomes a challenging problem as the complexity of the web

application grows. The reverse engineering techniques has been used to support effective web

application maintenance. Our proposal is to work and extend my previous research work in MS Degree

which is a Reverse Object Oriented Design Methodology (R-OODM) that extracts the design of web

application using design phase models of OODM(Abad Shah, 2003) based upon water fall model. A

basic tool which has already been developed for implementation of this reverse object oriented design

methodology will be improved and customized for advance options.

2 Specific Objectives of Research


In this research, we will propose a technique to extract design of web applications. The extraction of design
of web applications makes maintenance easy and effective. It covers the deficiencies and deals with
challenges that the existing reverses engineering techniques and tools that are facing today.

Main objective of this technique is to extract design of web application by following the rules of web
design methodology OODM (Abad Shah, 2003).

2.1 Problems:
i) During the development of most of the web applications no software development technique has
been followed, hence reverse engineering becomes difficult.

ii) In the development of many legacy web applications the structured approach has been followed, any
object oriented software development technique has not been followed. Therefore, it becomes
difficult to extend functionality of the applications, and their maintenance became difficult.
iii) The existing reverse engineering techniques for the web applications and tools based on these
techniques are applicable only to those web applications that have been developed using the object
oriented approach.

iv) The input of our proposed technique will be XML+HTML and output is complete design of web
application in the form of web development technique termed as Reverse Object Oriented Design
Methodology (R-OODM).

Considering all above mentioned problems and issues we will propose a technique that extracts design from

source code of web applications. Using our proposed technique, we will develop an advance tool/application

that extracts design of web application.

2.2 Benefits
Our proposed technique will facilitate us with followings benefits.

i) The proposed technique will be applicable for both types of web applications, structured and object

oriented too. A structured based web application will be transformed into object oriented format, than

parsed by proposed technique to extract its design. It will be done using XML- Schema translation by

mapping XML-Schema into object oriented database. For this mapping object graph generally termed as

components graph is extracted from given XML schema.

ii) A dynamic analysis will be performed by this technique to capture the dynamic features and

functionalities of web design.

iii) Design extraction process will be in the form of development methodology. We will use Object
Oriented Design Methodology OODM (Abad Shah, 2003) that will be transformed into Reverse-Object
Oriented Design Methodology (R-OODM).

3 Related Work

Reverse Engineering is defined as a process of analyzing a subject system at high level of abstraction.
Reverse engineering can be used in following situations.
 If the Source code is already available for the software, but high level aspects of programs are
not valid or well documented.

 If no source code is available; an effort to discover one possible source code is termed as reverse
engineering.

Reverse engineering is a knowledge-intensive and an iterative process. Reengineering is the examination


and alteration of a legacy system to reconstitute it in a new form and the subsequent implementation of the
new form.

3.1 The reverse engineering process


The figure below gives a brief description of where the reverse engineering lies and how it works and helps
in re-engineering and re-designing the software system.

Figure 1. Reverse Engineering in action (borrowed from Somerville, Software Engineering, 9th
Edition)

3.2 Reverse Engineering Tools and Techniques


While going through the studies of different types of techniques have come into our studies some of the
mentioned techniques are as following:

a) PINOT

Pattern Interface Recovery Tool (PINOT) detects all the Gang of Four (GoF) patterns that have
concrete definitions driven by code structure or system behavior. The tool is faster, more accurate,
and targets more patterns than existing pattern detection tools (Nija Shi, 2006).

b) Two Phase design

The design consists of two different phases that consist of kind of phases i) going through the code
of the system and ii) identifying the main methods and operations within the system. Then this
technique uses recursive functions to identify and make a system diagram in the end.
c) Manual Reverse Engineering (BOS/X)
This is the system that is very unique and goes through reverse engineering process manually.
This technique requires the user to go through the system manually line by line and by following
the systems calls and then determine the main components of the whole system (Swafford, 2002).

3.3 Reverse Web Development Techniques and Tools


All distinguishing features of existing reverse web development techniques and tools, brief description of
each technique and tool is given bellow:

 ReWeb: (Ricca and Tonella 2000, 2001). A tool take traditional source code analysis of Web
applications as input and represent the Web application as a graph structure and undertaking
various types of analysis such as reachability, flow and traversal analysis. ReWeb can download
and analyze Web applications. [5].
 TERESA (Paganelli and Paterno, 2002) is a source code statistical analysis tool that produces a
task-oriented model of a Web application.

4 Research Methodology

OODM (Abad Shah, 2003), was the first object oriented design methodology for web applications. It
covers all principles of software engineering and software development life cycle.

We wil proposed a tool for reverse web engineering by following reverse object oriented design
methodology named as R-OODM.

Our propose work will maintain the web application at design phase of OODM (Abad shah,2003).

R-OODM tool involve following steps for deign extraction of a web application.

Step-1: It takes input of source code in form of xml and any server scripting language.

Step-2: DTD (Document Type Definition) is extracted from source code.

Step-3: Components of design phase of OODM (Abad Shah, 2003).

Step-4: Algorithm for each component to extract design node, that fall in relevant component model.

Step-5: Integration of all components to sum up the design.


5 Milestones and Expected Timelines

Activity Month Year

Literature Review January-July 2020

Collect Data August-November

Full PhD Proposal November-December

PhD Proposal Seminar February 2021

Design of visualisation system March-April

Implementation of system April-September

Evaluate and test System September-October

Create visualisations October-December

Analysis of results February-March 2022

Write up thesis April-September

Draft 1 Thesis October

Draft 2 Thesis December

Final Thesis January 2011 2023

Submit Thesis February

Thesis Seminar March

References

Web Reverse Engineering, Fabrice Estiévenart1, Aurore François1, Jean Henrard1,2, Jean-Luc

Hainaut2, IEEE Explore, 2008


Toward the Semantic Web – An Approach to Reverse Engineering of Relational Databases to Ontologies,

Irina Astrova, Advances in Databases and Information Systems: proceedings of the 9th East-European

Conference, ADBIS 2005, Tallin, September 12-15, 2005. - ISBN 9985-59-545-9. – Tallin

Reverse Engineering of Relational Databases to Ontologies: An Approach Based on an Analysis of HTML

Forms, Irina Astrova, Bela Stantic, Australia, 2004

Building ontologies from relational databases using reverse engineering methods, Computer technologies,

2007, ISBN:978-954-9641-50-9

Restructuring Multilingual WebSites.Girardi, C., Pianta, E., Ricca, F. and Tonella, P. (2002).Proc. 18th

Int. Conf. on Software Maintenance (ICSM'02), IEEE, pp290-299.

Web Site Reengineering Using RMM. Antoniol, G., Canfora, G., Casazza, G. and De Lucia, A. (2000).

Proc. 2nd Int. Workshop on Web Site Evolution, pp9-16.

Building Web Applications with UML. Conallen, J. (1999). Addison Wesley. ISBN: 0-201-

61577-0.

An Approach forReverse Engineering of Web-Based Applications. Di Lucca, G.A., Di Penta, M.,

Antonniol, G. and Casazza, G. (2001). Proc. 8th Working Conference on Reverse Engineering, WCRE'01,

IEEE, pp231-240.

Towards a better understanding of Web applications, 2001,Hassan A.E. Holt R.C.

Experiences Reverse Engineering Manually, Swafford, D., Elman, D., Aiken, P. 2002

Problems with Reverse Engineering, Robert W. Gomulkiewicz (a senior corporate attorney at Microsoft)

and Mary L. Williamson (1996)

Reverse Engineering: Definition from Answers.com http://www.answers.com/topic/reverse-engineering

Recognizers for Extracting Architectural Features from Source Code by David R. Harris’, Howard B.

Reubensteint, Alexander S. Yeh ‘The MITRE Corporation”

A Process of Re-engineering Large and Complicated Systems, Moisey Lerner Tomin Corporation
Design Extraction System for Rapid Development of Object-Oriented Switching Software, Hiroyuki

Sugawara, Tsuneo Hagiwara, and Tetsuya Numajiri NTT Network Service Systems Laboratories, Tokyo,

Japan

Flexible Automated Design Pattern Extraction from Source Code http://lwn.net/Articles/134642/

Approach on Aspect-Oriented Software Reverse Engineering at Requirements Level, SU Yang, Electronic

Technology Dept., Engineering Institute of Armed Police Force, Xi’an, China. Software Engineering

Institute, Xidian University, China

You might also like