






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The relationship between reverse engineering and software visualization, and proposes a visualization technique called the Poly-metric View. The technique uses a two-dimensional approach for displaying software at three levels of abstraction, and makes use of various graphical notations to visualize software for reverse engineering process. The document also discusses the hybrid approach for reverse engineering based on the use of poly-metric view for the three levels of granularity of software visualization.
Typology: Exams
1 / 10
This page cannot be seen from the preview
Don't miss anything!







Running head: REVERSE ENGINEERING 1 Reverse Engineering Name Institution Date
In the present day technological environment, software applications are being developed rapidly to meet the market demand. However, this software easily become obsolete or irrelevant thereby making it costly and hard to maintain the software. The software is being developed at a very large scale and at a very rapid pace. The quickly a software is developed, more quickly it becomes obsolete. The maintenance of the software is very expensive, even more expensive than the software development itself. To minimize these costs of maintenance, the software are to be re-engineered so as to create software that is applicable according to the current requirements. For Re-engineering any software, it must be first reverse engineered to understand the software and its system. The software visualization is a widely used concept in the present era for aiding the reverse engineering process. The software visualization makes use of various graphs, graphical technologies to provide the visual view of the legacy software and the old software under reverse engineering process. The report discusses the software visualization technique for reverse engineering known as the “poly-metric view” technique. The technique would make use of a hybrid approach to reverse engineer software at three levels; Coarse- grained software visualization, Fine-Grained software Visualization and Evolutionary Software Visualization.
of animation, graphic design, typography and cinematography with the help of human-computer interaction of the modern era and the computer graphics technology to aid both- effective use of computer software and human understanding.” (Keim & Kriegel, 1996). The software visualization is a concept that is being used widely in the field of software engineering and its components. The component of reverse engineering will be discussed in this report with regard to the software visualization.
system for the identification of that system’s components and the relationships existing among
those components, and to develop representations of the system in a form other than the original form or at a higher level of abstraction.” (Rierson & Lingberg, 2006). The reverse engineering is a technique a few decades old and was used to crack the codes of the software which had a few hundred or a few thousand lines of code. The reverse engineering is no more a simple technique due to the sheer size and complexity of the software of the present era and it requires use of certain techniques in combination to its core concept to be successful (Fahmi & Choi, 2007).
Both Software Visualization and Reverse Engineering can be related to each other as reverse engineering in the old days was performed by studying the code of the software which is impossible in the present era as the software of today has millions or even billions of lines of codes. Code analysis is no more an option today. Hence, the Software Visualization comes into the picture for providing graphical aids to the process of reverse engineering. There are a number of visualization techniques that can be implemented to facilitate the process of reverse engineering (Kawahashi, 2003).
The visualization technique proposed for this report is known as the “Poly-metric View” technique that identifies any legacy software graphically at three levels of abstraction, mainly Coarse Grained, Fine Grained and Evolutionary (Lanza, 2003). The proposed visualization technique is discussed below:
Entity Height Metric
Entity Fig 1: Diagrammatical view of the 5 Metric Measurement System
The hybrid approach for the reverse engineering is based on the use of poly-metric view for the three levels of granularity of software visualization (Lanza, 2003). The three levels are discussed below:
1. Coarse-grained poly-metric views: The coarse-grained poly-metric views are used to decrease the complexity and size of very large legacy software. This provides the reverse engineers with the view of the important parts of the software. It can provide a general large level view of what to concentrate on. This helps the reverse engineers from getting struck on unimportant parts of the software (Prahofer, Wirth & Berger, 2013). The coarse-grained poly-metric view provides the structural information about the software in a small amount of time making the reverse engineering process less complex and time consuming. It acts as the basis for further analysis. 2. Fine-grained poly-metric views: The fine-grained poly-metric view provides the insight into the internal structure of the software. The basic feature of the fine-grained poly-
metric view is to determine the classes and the class hierarchies used in the software and the internal structures of the programming language used. The fine-grained poly-metric views provide the reverse engineers with the knowledge of the internal classes to determine the flow of information and relationship between various components (Demeyer & Ducasse, 1999).
3. Evolutionary software poly-metric views: The evolutionary software poly-metric view provides various visualizations of the classes and software systems over the years. The evolution of the software and its classes helps the reverse engineers in determining the improvement requirements of the legacy software by comparing it with more evolved software and classes. It also helps in determining the patterns in which the software and software classes evolve. All the three poly-metric views can be combined into a hybrid approach that adds the benefits of the three views into a single view which provides the view of the external structure, internal structure and the evolution pattern of the software and its classes.
The software visualization is one of the concepts that are being widely used by the reverse engineers in the reverse engineering process. The use of software visualization decreases the complexity of the reverse engineering process when very large software is under consideration. The software visualization provides the graphical view of the structure of any legacy software, which can be then used to understand the software using the reverse engineering process. The understanding of the software can then be used to re-engineer or maintain the software. The report gave insight into a new technique of software visualization used for the process of reverse engineering. The technique is known as the poly-metric view technique which makes use of
Demeyer, S and Ducasse, S (1999), A hybrid reverse engineering approach combining metrics and program visualization Retrieved on 20 th^ Nov 2014 from, http://ieeexplore.ieee.org/xpl/login.jsp? tp=&arnumber=806958&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp %3Farnumber%3D Kawahashi, M. (2003). Advances in visualization techniques. Journal Of Visualization , 6 (2), 87-