Hello everyone,
on Thursday 3rd of at May at 9:00 I will defend my Ph. D. thesis
entitled "Enriching Reverse Engineering with Feature Analysis".
The defense will take place in room 003 in the IWI building on
Engehaldenstrasse 8, 3012 Bern. Please find the abstract below.
After the defense, there will be an apero in the Cafeteria of the
building S14 on Schutzenmattstrasse 14.
Everybody is cordially invited to the defense and to the apero.
With best regards
Orla Greevy
Software Composition Group
Universitaet Bern
System comprehension is a prerequisite for software maintenance and
evolution, but it is a time-consuming and costly activity. In an
effort to support system comprehension, researchers have devised many
different reverse engineering techniques. Several of these are based
on statically analyzing the source code. Purely static analysis
techniques, however, overlook valuable end-user knowledge of how a
system behaves at runtime.
To address this problem, several researchers have identified the
potential of exploiting features in a reverse engineering context.
Features are abstractions of a system's problem domain that well-
understood by end-users. They encapsulate knowledge of a problem
domain and denote units of system behavior. Thus, they represent a
valuable resource for reverse engineering a system, The main body of
feature-related reverse engineering research is concerned with \emph
{feature identification}, a technique to map features to source
code. To fully exploit features in reverse engineering, however, we
need to extend the focus beyond feature identification and exploit
features as primary units of analysis. We formulate our thesis as
follows:
To exploit the inherent domain knowledge of features for object-
oriented system comprehension, we need to explicitly model features,
their relationships to source artefacts, and their relationships to
each other.
The contribution of our work is twofold: on the one hand, we enrich
reverse engineering analysis of object-oriented systems with semantic
knowledge of features, and on the other hand, we introduce new
techniques that treat features as the primary entities of analysis.
Our key contribution is our definition of Dynamix, a meta-model for
expressing feature entities in the context of a structural meta-model
of source code entities. Using case studies, we demonstrate how our
feature-centric reverse engineering techniques, based on Dynamix,
exploit feature knowledge to establish traceability between the
problem and solution domains throughout the life-cycle of a system.