The Software Evolution Research Lab
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
is part of the Software Engineering Research Group
department of Software Technology
faculty of Electrical Engineering, Mathematics, and Computer Science
Delft University of Technology
was founded on January 1st, 2003.