Object-Oriented Reverse Engineering —- Coarse-grained, Fine-grained, and Evolutionary Software Visualization

Lanza, Michele (2003). Object-Oriented Reverse Engineering —- Coarse-grained, Fine-grained, and Evolutionary Software Visualization. (Dissertation, University of Bern, Philosophisch-naturwissenschaftliche Fakultät)

[img] Text
lanza-phd.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (1MB) | Request a copy

The maintenance, reengineering, and evolution of object-oriented software systems has become a vital matter in today's software industry. Although most systems start off in a clean and well-designed state, with time they tend to gradually decay in quality, unless the systems are reengineered and adapted to the evolving requirements. However, before such legacy software systems can be reengineered and evolved, they must be reverse engineered, i.e., their structure and inner working must b e understood. This is difficult because of several factors, such as the sheer size of the systems, their complexity, their domain specificity, and in general the bad state legacy software systems are in. In this thesis we propose a visual approach to the reverse engineering of object-oriented software systems by means of polymetric views, lightweight visualizations of software enriched with metrics and other types of semantic information about the software, e.g., its age, version, abstractness, location, structure, function, etc. We present and discuss several polymetric views which allow us to understand three different aspects of object-oriented software, namely (1) coarse-grained aspects which allow for the understanding of very large systems, (2) fine -grained aspects which allow for the understanding of classes and class hierarchies, and (3) evolutionary aspects, which enable us to recover and understand the evolution of a software system. The combination of these three types of information can greatly reduce the time needed to gain an understanding of an object-oriented software system. Based on the application of our polymetric views, we present our reverse engineering methodology which we validated and refined on several occasions in industrial set tings. It allows us to explore and combine these three approaches into one single visual approach to understand software.

Item Type:

Thesis (Dissertation)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued]

UniBE Contributor:

Lanza, Michele

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Language:

English

Submitter:

Anja Ebeling

Date Deposited:

29 Jan 2018 16:56

Last Modified:

11 Apr 2024 16:11

BORIS DOI:

10.7892/boris.104590

URI:

https://boris.unibe.ch/id/eprint/104590

Actions (login required)

Edit item Edit item
Provide Feedback