Fund for Scientific Research - Flanders (Belgium)
Scientific Research Network
Foundations of Software Evolution
January 1, 2001 - December 31, 2005
[Een Nederlandstalige versie is ook beschikbaar]
Most recent update by Peter Ebraert on: October 21, 2005
The mailing list for the participants of the Scientific Research Network is
There is also a Wiki that can be used to share evolution network related information. For obvious reasons, the user name and password cannot be mentioned here. You can get it by asking one of the network members that didn't forget his password.
Numerous scientific studies of large-scale software systems have shown that the bulk of the total software-development cost is devoted to software maintenance. This is mainly due to the fact that software systems need to evolve continuously to cope with the ever-changing software requirements. Today, this is more than ever the case. Nevertheless, existing tools that try to provide support for evolution issues are far from ideal. They are typically developed in an ad-hoc fashion, making them not generally applicable, not scalable, or difficult to integrate with other tools. The goal of this research network is to come to a consistent set of formally-founded techniques and associated tools to support software developers with the common problems they encounter when developing large and complex software systems.
The interdisciplinary character of the research network is reflected in the uniform use of mathematical formalisms as a foundation for concrete tools to support software evolution. This cross fertilisation between mathematics and computer science is intended to lead to more robust tools that are more generally applicable without sacrificing efficiency. Another important issue is that we will not restrict ourselves to a particular phase of the software life-cycle.
Instead, we will focus on techniques that are generally applicable throughout the entire software development life-cycle.
The research network will focus on tools for:
- Forward engineering. (a) Proactive tools to ensure consistency between implementation, design, analysis and software architectures (by prohibiting certain software changes); (b) Retroactive tools to detect differences between implementation, analysis, design and architecture (when changes have occurred in at least one of these phases).
- Reverse engineering. Techniques to extract the relevant abstractions from source code in order to improve understanding of the global structure of a software system.
- Re-engineering. Techniques to restructure software in order to improve reusability, extensibility and maintainability.
- Team Engineering.Techniques to support software evolution when multiple developers change software simultaneously.
The driving force guiding the work will be the search for formally supported techniques which are applicable in all above cases. Therefore we will investigate:
- logic-based declarative description and reasoning techniques
- formal models for software evolution based on rewriting systems
- software metrics
- visualisation techniques
- generation of design documents and source code
- extraction of design and analysis documentation
- migration to component-based and web-based systems
- the use of metamodels as a general integration technique
- Dr. Theo D'Hondt, PROG, VUB (chair)
- Dr. Tom Mens, PROG, VUB (secretary)
- Dr. Serge Demeyer, LORE, UA
- Dr. Ir. Eric Steegmans, SOM, KUL
- Dr. Ghislain Hoffman, VIT, UG
Programming Technology Lab
Department of Computer Science
Vrije Universiteit Brussel (VUB)
Dr. Theo D'Hondt (spokesman of the research network)
Dr. Tom Mens (main coordinator of the research network)
Lab On Re-Engineering
Department of Mathematics and Computer Science
Universiteit Antwerpen (UA)
Dr. Serge Demeyer (second coordinator of the research network)
Dr. Dirk Janssens
Research Group on Software Development Methodology
Department of Computer Science
Katholieke Universiteit Leuven
Dr. Ir. Eric Steegmans
Dr. Frank Piessens
Stefan Van Baelen
Department of Information Technology
Universiteit Gent (RUG)
Dr. Ghislain Hoffman
Dr. Herman Tromp
Dr. Raymond Boute
Département d'Ingénierie Informatique
Université Catholique de Louvain-la-Neuve (UCL)
(network partner as of October 1, 2001)
Dr. Ir. Axel Van Lamsweerde
Dr. Kim Mens