choose-news(a)iam.unibe.ch is a *moderated* mailing list for announcing
non-commercial events related to Object Technology in Switzerland.
Please send announcements to be posted to: choose-news(a)iam.unibe.ch
To unsubscribe, please send the message "unsubscribe choose-news" to:
Majordomo(a)iam.unibe.ch
To learn more about SI and CHOOSE, see:
http://www.iam.unibe.ch/CHOOSE/
Dear all,
This Friday, May 30th, I will present my dissertation entitled
"Object-Oriented Reverse Engineering - Coarse-grained, Fine-grained,
and Evolutionary Software Visualization". The abstract is included at
the bottom of this e-Mail.
The defense is public and will take place in the room 001 of the IWI
building (located in the "Engehalde-Areal") at 16.15 and should last
one hour.
You are cordially invited to attend the defense and the apéro which
will take place right afterwards in or in front of the IAM cafeteria.
Kind Regards,
Michele Lanza
Software Composition Group
University of Berne
---
Abstract
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 be 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 settings. It allows us to explore and
combine these three approaches into one single visual approach to
understand software.