hide
Free keywords:
-
Abstract:
The topic of this thesis is the analysis of the evolution of software
components. In order to track the evolution of software components, one needs
to collect the evolution information of each component. This information is
stored in the version control system (VCS) of the project�the repository of the
history of events happening throughout the project�s lifetime. By using
software archive mining techniques one can extract and leverage this
information.
The main contribution of this thesis is the introduction of evolution usage
trends
and evolution change patterns. The raw information about the occurrences of each
component is stored in the VCS of the project. By organizing it in evolution
trends and patterns, we are able to draw conclusions and issue recommendations
concerning each individual component and the project as a whole.
Evolution Trends An evolution trend is a way to track the evolution of a
software
component throughout the span of the project. The trend shows the increases
and decreases in the usage of a specific component, which can be indicative of
the quality of this component. AKTARI is a tool, presented in this thesis, that
is
based on such evolution trends and can be used by the software developers to
observe and draw conclusions about the behavior of their project.
Evolution Patterns An evolution pattern is a pattern of a frequently occurring
code
change throughout the span of the project. Those frequently occurring changes
are project-specific and are explanatory of the way the project evolves. Each
such evolution pattern contains in itself the specific way �things are done� in
the project and as such can serve for defect detection and defect prevention.
The technique of mining evolution patterns is implemented as a basis for the
LAMARCK tool, presented in this thesis.