Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java

Reverse engineering has presented solution to a major problem in the development and maintenance of the legacy software which is the process of understanding these software types, It is a difficult task because most of legacy software lacked a proper documentation or a correct design model. Unified...

Full description

Bibliographic Details
Main Authors: Alaa Taqah, Tawfiq Tawfiq
Format: Article
Language:Arabic
Published: Mosul University 2013-03-01
Series:Al-Rafidain Journal of Computer Sciences and Mathematics
Subjects:
Online Access:https://csmj.mosuljournals.com/article_163466_ddd4b95015942ad85094d6cfba5131e5.pdf
id doaj-289c3ba3816941fb9ecf5f030b9ad1ae
record_format Article
spelling doaj-289c3ba3816941fb9ecf5f030b9ad1ae2020-11-25T04:06:20ZaraMosul UniversityAl-Rafidain Journal of Computer Sciences and Mathematics 1815-48162311-79902013-03-0110138540710.33899/csmj.2013.163466163466Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in JavaAlaa Taqah0Tawfiq Tawfiq1College of Education University of Mosul, Mosul, IraqDirectorate of Sports and Arts University of Mosul, Mosul, IraqReverse engineering has presented solution to a major problem in the development and maintenance of the legacy software which is the process of understanding these software types, It is a difficult task because most of legacy software lacked a proper documentation or a correct design model. Unified Modeling Language has an important and great role in determine (extract) the specifications of the software in accordance with the principles of the reverse engineering and modeling it using one of its types which  is a Class Diagram. Reverse Engineering Class Diagram is an abstract representation gives an overview of the software structure and it does not give full information about the internal details and the relationships of software components. In this research a computer aided software engineering tool has been constructed which is called RMDT (Relational Meta Data Table). It bases on constructing an interpreter of an entered software source code analyzing  to extract an information that assist in understanding the structure of the software and to clarify its components and the relationships that bind its parts (internal structural of the entered software). The RMDT tool represents the information in tables which have been designed in a highly flexible manner and be suitable for use in the future when applying software re-engineering on the entered software. Furthermore ,the research has studied and tested several of most common software engineering tools which used to implement reverse engineering like (Reverse, ArgoUML, Rational rose, Enterprise Architecture (EA), class2uml, Together). The analysis focused on these tools to produce class diagram of the software source code written in Java. The produced class diagram includes the number of classes, relationship types among classes and the common classes. However, the obtained results from the RMDT tool has been compared with those obtained from others.  The produced tables from RMDT tool includes all the information required to recover the design, as they used to produce a class diagram, due to the availability of class, method, variables names, method parameter names, interface, relationships (association, dependency and Generalization) and identify visibility while no such details found in a class diagram that produced by other tools.https://csmj.mosuljournals.com/article_163466_ddd4b95015942ad85094d6cfba5131e5.pdfreverse engineeringsoftware source codejava
collection DOAJ
language Arabic
format Article
sources DOAJ
author Alaa Taqah
Tawfiq Tawfiq
spellingShingle Alaa Taqah
Tawfiq Tawfiq
Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java
Al-Rafidain Journal of Computer Sciences and Mathematics
reverse engineering
software source code
java
author_facet Alaa Taqah
Tawfiq Tawfiq
author_sort Alaa Taqah
title Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java
title_short Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java
title_full Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java
title_fullStr Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java
title_full_unstemmed Suggest a Reverse Engineering Tool to Analyze the Software Source Code Written in Java
title_sort suggest a reverse engineering tool to analyze the software source code written in java
publisher Mosul University
series Al-Rafidain Journal of Computer Sciences and Mathematics
issn 1815-4816
2311-7990
publishDate 2013-03-01
description Reverse engineering has presented solution to a major problem in the development and maintenance of the legacy software which is the process of understanding these software types, It is a difficult task because most of legacy software lacked a proper documentation or a correct design model. Unified Modeling Language has an important and great role in determine (extract) the specifications of the software in accordance with the principles of the reverse engineering and modeling it using one of its types which  is a Class Diagram. Reverse Engineering Class Diagram is an abstract representation gives an overview of the software structure and it does not give full information about the internal details and the relationships of software components. In this research a computer aided software engineering tool has been constructed which is called RMDT (Relational Meta Data Table). It bases on constructing an interpreter of an entered software source code analyzing  to extract an information that assist in understanding the structure of the software and to clarify its components and the relationships that bind its parts (internal structural of the entered software). The RMDT tool represents the information in tables which have been designed in a highly flexible manner and be suitable for use in the future when applying software re-engineering on the entered software. Furthermore ,the research has studied and tested several of most common software engineering tools which used to implement reverse engineering like (Reverse, ArgoUML, Rational rose, Enterprise Architecture (EA), class2uml, Together). The analysis focused on these tools to produce class diagram of the software source code written in Java. The produced class diagram includes the number of classes, relationship types among classes and the common classes. However, the obtained results from the RMDT tool has been compared with those obtained from others.  The produced tables from RMDT tool includes all the information required to recover the design, as they used to produce a class diagram, due to the availability of class, method, variables names, method parameter names, interface, relationships (association, dependency and Generalization) and identify visibility while no such details found in a class diagram that produced by other tools.
topic reverse engineering
software source code
java
url https://csmj.mosuljournals.com/article_163466_ddd4b95015942ad85094d6cfba5131e5.pdf
work_keys_str_mv AT alaataqah suggestareverseengineeringtooltoanalyzethesoftwaresourcecodewritteninjava
AT tawfiqtawfiq suggestareverseengineeringtooltoanalyzethesoftwaresourcecodewritteninjava
_version_ 1724431425428520960