The Software Evolution Research Lab
SWERL
The majority of the costs involved in software development is spent
after the software product's first release. Software systems tend to
evolve continuously, for various reasons, such as changes in law,
technology, market demands, and so on. The negative side effect of
this continuous evolution is a degradation of the internal structure
of the software system. This in turn, makes it more and more costly
and more difficult to make the required changes, and ultimately leads
to a rigid and unreliable system that is virtually impossible to change.
The Software Evolution Research Laboratory aims at addressing this
software evolution paradox in three ways:
- First, we aim at developing new programming methods and techniques that help to prevent rapid deterioration of the system's structure when changes are to be made. Example topics include aspect-oriented software development and domain-specific languages.
- Second, we search for program analysis techniques that help to uncover hidden structures in software systems that have undergone continuous evolution. Example topics in this area are software architecture reconstruction and aspect mining.
- Third, we investigate ways to restructure overly complex software systems. Topics studied include refactoring, migrations, and program transformations.
Most of our research projects are conducted
in collaboration with one or more industrial partners,
as well as with other academic institutes (see our list of
Research Projects). We are also actively involved in
a number of
Conferences.
SWERL is part of the
Software Engineering Research Group,
department of
Software Technology,
faculty of
Electrical Engineering, Mathematics, and Computer Science,
Delft University of Technology.
SWERL was founded on January 1st, 2003.