CFP last date
20 June 2024
Reseach Article

Reverse Engineering�An Intermediate Step towards Re-engineering

Published on August 2011 by Namrata Sharma, Surendra Mishra
journal_cover_thumbnail
National Technical Symposium on Advancements in Computing Technologies
Foundation of Computer Science USA
NTSACT - Number 3
August 2011
Authors: Namrata Sharma, Surendra Mishra
f4ab1df7-6c5d-46af-99c8-f576eabbfa6b

Namrata Sharma, Surendra Mishra . Reverse Engineering�An Intermediate Step towards Re-engineering. National Technical Symposium on Advancements in Computing Technologies. NTSACT, 3 (August 2011), 26-30.

@article{
author = { Namrata Sharma, Surendra Mishra },
title = { Reverse Engineering�An Intermediate Step towards Re-engineering },
journal = { National Technical Symposium on Advancements in Computing Technologies },
issue_date = { August 2011 },
volume = { NTSACT },
number = { 3 },
month = { August },
year = { 2011 },
issn = 0975-8887,
pages = { 26-30 },
numpages = 5,
url = { /proceedings/ntsact/number3/3198-ntst019/ },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Proceeding Article
%1 National Technical Symposium on Advancements in Computing Technologies
%A Namrata Sharma
%A Surendra Mishra
%T Reverse Engineering�An Intermediate Step towards Re-engineering
%J National Technical Symposium on Advancements in Computing Technologies
%@ 0975-8887
%V NTSACT
%N 3
%P 26-30
%D 2011
%I International Journal of Computer Applications
Abstract

The object oriented software developers admit that thinking about object-oriented program understanding and comprehension to be relatively easier is not that easy. Programs are even more complex and difficult to comprehend, unless thoroughly documented. As we know that the entropy of software system increases with time unless specific work is executed to maintain or reduce it and system must change in order to remain useful. Reverse Engineering is aim towards understanding legacy system and program code without having suitable documentation. Reverse Engineering is a methodology that greatly reduces the time, effort and complexity involved in solving these issues providing efficient program understanding as an integral constituent of re-engineering paradigm. Reverse engineering produces a high-level representation of a software system from a low-level one. This paper discusses about reverse engineering of java code & recovers the design artifacts of a software system from its source code and related documentation.

References
  1. Anil Panghal, Pawan Kumar, Sharda Panghal (2009) “Reverse Engineering” Proceeding of 2nd National Conference on “Recent trends and Advancements in Computing”, Sirsa, February.
  2. Chikofsky, E. J. and Cross, J. H., "Reverse Engineering and Interaction Diagrams from C++ Code", in Proceedings of Design Recovery. International Conference on Software Maintenance (ICSM'03), Jan.1990, pp. 13–17.
  3. K. Wong, Reverse Engineering Notebook. PhD. Thesis, Department of Computer Science, University of Victoria, October 1999.
  4. Mappings for Accurately Reverse Engineering UML Class Models from C++ Andrew Sutton, Jonathan I. Maletic, Department of Computer Science Kent State University Kent Ohio 44242 {asutton, jmaletic}@cs.kent.edu.
  5. M. L. Domsch and S. R. Schach. A case study in object-oriented maintenance. In Proceedings of the 1999 Inter-national Conference of Software Maintenance (ICSM í99), Pages 346– 352, August 1999.
  6. Tonella, P. and Potrich, A., "Reverse Engineering of the Interaction Diagrams from C++ Code", in Proceedings of International Conference on Software Maintenance The Netherlands, Sep 22-26 2003, pp. 159–168.
  7. Xiaomin Wu, Adam Murray, Margaret-Anne Storey, Rob Lintern “A Reverse Engineering Approach to Support Software Maintenance: Version Control Knowledge Extraction” Proceedings of the 11th Working Conference on Reverse Engineering (WCRE04) 1095-1350/04 $20.00 © 2004 IEEE.
Index Terms

Computer Science
Information Sciences

Keywords

Legacy code and system Program analysis Reverse engineering Re-engineering software engineering