For more than 20 years, the Belgian Science Policy has been promoting the Interuniversity Attraction Poles (IAP) programme, with the aim of providing an incentive for the formation of excellent research networks. As a means to achieve this goal, the IAP programme focuses on fostering collaboration between research groups, rather than on research results. It is within this programme that five years ago the “Fundamental Issues in Software Engineering: Modelling, Verification and Evolution of Software” (MoVES) project was founded. We report here on how this project was able to both advance the state-of-the-art in the domain of software evolution, and form a cohesive national research network.
The network is composed of teams from eight Belgian universities, and collaborates explicitly with two international teams - the ADAM team from Inria (France) and the SERG group at TU Delft (Netherlands). Before the project started, Belgian research in modelling, programming languages and verification was done in relative isolation, whereby research teams collaborated more closely with international partners than with “intra-national” ones. Thus, the IAP programme provided an ideal motivation for closing the academic ties of teams working around the related domains of modelling, verification and evolution of software. To foster such collaborations, a thematic approach centered around three main axes, and structured around seven work packages was established.
The three axes around which the research activities of the MoVES network are structured are: Programming and Modelling languages, Model Analysis, and Model Evolution. The Programming and Modelling Languages axis defines, extends and formalizes programming and modelling languages that can be processed automatically to analyse certain software properties or to reason about the evolution of programs and models expressed in those languages. The Model Analysis axis studies a variety of techniques and tools to compose and transform models, to check their consistency and to verify their properties. Finally, in the Model Evolution axis we study techniques to incrementally repeat those analyses and transformations as models and programs evolve, to keep models that evolve independently consistent with one another, as well as techniques to restructure existing models while preserving their intended behaviour and other desired properties.
Three success stories attest to the value of MoVES and would not have been possible without the support of this collaboration-oriented research network. All three examples are taken from the activities of the network related to software evolution.
First, the network promotes the joint supervision of PhDs as a means for establishing lasting collaboration. So far, three students are participating in co-tutelles, two of them between Belgian universities; the third between a Belgian university and Inria. The topic of the latter being "Supporting Source Code Changes". The main goals of the thesis are to provide means to represent and query the history of open-source code, to characterize and aid in understanding such history, and to provide explicit support for dealing with its integration. As a result of this co-tutelle, we have seen the link between the two participating teams strengthened, resulting in various other collaborations and researcher exchanges.
Second, work package topics have been leveraged to jointly tackle research problems. Singular amongst them lies the work of work package 4 on consistency checking and co-evolution. In this work package, the development of a unifying conceptual framework for inconsistency management approaches is attacked as a work package-wide effort. This is a non-trivial and as yet unfinished research achievement that actively involves all partners in the consortium, with regular joint meetings to discuss the progress. The experiment of trying to coordinate previously individual efforts has brought the participants closer together. For example, this has resulted in obtaining a five-year national research project involving the participants of the work package.
Third, we have observed numerous cases throughout the network where fleeting collaborations between researchers evolved into a timely and lasting cooperation. One example of such a collaboration -- between a Flemish and a Walloon partner of the network -- can be found in the topic of "Mining and Validating Structural Design Regularities". While the involved researchers were introduced via the MoVES network and decided to team up to investigate a single idea, namely the use of association rule mining to extract latent information from source code, this collaboration has outlasted the investigation of this initial idea and resulted in a long-term and structural collaboration that culminated in various joint publications.
Figure 1: MoVES collaborations: the TORCH dashboard, Mendel and the inconsistency meta model
As the current phase of the IAP Programme draws to a close, we have submitted a proposal for extension of the MoVES project. Regardless of whether the project is selected for continuation, we believe that the links forged during the past five years will persist and continue to flourish.
Carlos Noguera, Andy Kellens, Theo D'Hondt
Software Languages Lab, Vrije Universiteit Brussel, Belgium