Migrating and Evolving Software Product Lines: An Industrial Case Study of Feature Location and Visualization Techniques
Ladda ner
Typ
Examensarbete för masterexamen
Program
Publicerad
2018
Författare
ANDAM, BERIMA KWEKU
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Many software development tasks revolve around features of a system, for example
adding or removing a feature from a system. As a first step to performing these
tasks, we need to know which source artifacts implement the feature(s).
Knowledge of these so-called feature traces are often stored in feature-source trace
documentations. In reality however, feature-source trace documentations are often
either outdated or entirely unavailable. The main reason why this is often the case
is that feature implementing source artifacts change so quickly that it is hard to
keep its documentation up-to-date.
In previous work, approaches aiming at reducing the amount of work needed to keep
documentation up-to-date have been proposed. One such approach embeds featuresource
trace documentation directly in the source artifacts using annotations [27]. It
was found in the study that such annotations are cheap to create and maintain whiles
its benefits far out-weight its costs as they naturally co-evolve with the artifacts they
annotate.
In this thesis, we adapt this approach and propose tool support for creating, maintaining
and exploiting such annotations. The goal of the approach is two-folds:
first to reduce the amount of manual work required to create and maintain these
annotations in order to encourage developers to use them. Secondly, to provide
visualizations and metrics of the embedded documentation to enable developers to
understand the documented system from its feature perspective.
Sometimes experts who can embed feature trace knowledge are not available. Therefore,
in the second part of the thesis we propose an approach for recovering featuresource
trace documentation from source artifacts. It is based on a machine learning
approach to predict feature traces.
The approach was evaluated through a case study at ABB Corporate Research where
it was tested on a product family. The results of a preliminary study with developers
shows that they found the visualizations and metrics provided by the tool useful for
comprehending the features in the system and its properties. The results of the
experiments show that the proposed machine learning approach for feature location
produces accurate feature trace predictions over time.
Beskrivning
Ämne/nyckelord
Features , Feature Location , Software Metrics , Visualization , Tool Support , Machine Learning