Network of reengineering expertise
Partners: Univ. Lugano (leader), Univ. Berna, IeAT
In an information technology society that is increasingly relying on software, software productivity and quality continue to fall short of expectations: software systems suffer from signs of aging as they are adapted to changing requirements. The main reason for this problem is that software maintenance and reengineering is still undervalued in traditional software development processes. The only way to overcome or avoid the negative effects of aging in legacy software systems and to facilitate their smooth evolution is by providing engineers with a fully automated and integrated support for the entire reengineering process. Unfortunately, the reengineering of large scale software systems is a highly complex activity, which demands both multiple scientific insights and various engineering skills. Consequently, tackling all the issues involved in a reengineering process is excessively challenging, and barely impossible to be addressed by a single research group. The three research groups proposing this project, and other European research groups have developed over the last 7 years valuable artifacts to support in different manners the reengineering process. Each of them have focused their attention on specific issues and provided remarkable solutions. Yet, all these scientific and engineering “gems” have a reduced impact if used in isolation, as they are unable to address the entire spectrum of challenges that appear in real-world reengineering activities. In this context, the goal of of this joint research project is to provide a comprehensive and extensible support for complex, full-fledged reengineering activities applicable on real-world systems. Specifically, we want to address these issues by building a distributed reengineering environment which is able to make all the techniques and models defined and implemented by each of the three research teams to complement each other. Then we want to use this environment to integrate different reengineering techniques to support complex reengineering techniques and validate based on large-scale experiments the feasibility of the approach. Consequently, the project consists of the following tracks: * Creating a Distributed Reengineering Environment. Currently, the existing reengineering artifacts are used in isolation, due to the fact that they are separated by the usage of different representation formats of the system, different implementation paradigms, various programming languages etc. We aim to build the network of reengineering expertise (NOREX) as an inter-communications framework that would allow our tools to become interoperable. * Enabling Complex Reengineering Activities. Following this track, we want to explore the possibilities open by the NOREX environment to build complex reengineering analyses and workflows by combining tools built by the participating groups. Examples of planned analyses are: (1) combining problem detection with visualization to get an overview of how problems are distributed over a system, (2) combining evolution analysis with problem detection to understand the evolution of quality. * Performing Large-Scale Reengineering Experiments. The aim is to validate the aforementioned project goals by performing large-scale distributed reengineering experiments. This is reached by combining the unique experience obtained by the three teams both at a human as well as at an infrastructural level, made possible on one hand by the NOREX environment and on the other hand by the complex reengineering activities defined and automated during this project. We believe that these large-scale experiments will validate the feasibility of our approach for usage in the software industry. Aside from its scientific value, this project will maintain and consolidate the already long-lasting collaboration links between the two research groups in Switzerland and the LOOSE Research Group in Timi¸soara (Romania). The main reason for this is given by the intrinsic nature of the project proposal, as the proposed reengineering network is an ”open-ended”, continuously growing technical and scientific challenge. Due to its significant expertise in reengineering and due to the value of the produced artifacts, the Romanian research group will definitely play a key role in the network, even after this project will be finished. We also strongly believe that impact of this project goes beyond an academic interest and it will have a significant impact also on the software industry in Romania (especially in Timi¸soara), an industry which is currently very much facing the outsourcing phenomenon, which is in many ways related with reengineering activities. By providing local software companies with an integrated and feasible support for reengineering, we would not only contribute to better software products, but also to an ehanced professional qualifications of the engineers that would take advantage of it.