Sustainable software infrastructures
Can computer programmes live on eternally? In any case, this is the goal of a new joint project team based at the Inria Centre at the University of Lille and the Research and Development Department of Berger-Levrault, a French company specialising in the creation of software and digital services, mainly for the public sector. Its name is EVREF (an acronym of the French terms for “Reflexive Evolution of Ever-Running Software Systems”).
This joint project team consolidates the existing partnership between Inria and Berger-Levrault, and its activities are consistent with the work of a previous Inria project-team – RMoD – which focused on software analysis and the design of programming languages to facilitate the development, modification and maintenance of object-oriented applications such as Pharo. EVREF's main lines of research focus on three fields: software modernisation, development tools and virtual machines.
A strategic alliance
Both partners have just obtained financial support from the French government as part of the Plan France relance economic stimulus plan, which has enabled them to recruit two research engineers. Their strategic alliance has also been facilitated by the mutual understanding developed between researchers from the former RMoD team and those from Berger-Levrault, who have been collaborating regularly since 2019. Stéphane Ducasse, Head of the EVREF project team, explains :
As far as Inria is concerned, we've always had one foot in the industrial world, particularly for testing and the provision of our analysis solutions. As for our contacts at Berger-Levrault, they have one foot in the research world: they fully understand that Inria is not a service company, but that we are indeed researchers, working in a long-term perspective and proposing ideas and prototypes...
Ever since the company's creation (in 1676!), originally in the printing and publishing sectors, "Berger-Levrault has been engaged in an ongoing process of transformation", stresses Christophe Bortolaso, Head of Research. "The company, which employs 2,200 people, is one of the few ETIs (intermediate-sized enterprises) to have its own team of researchers (46 staff), working on topics ranging from software modernisation to artificial intelligence and sociology." Some of them are directly involved in EVREF's work, which will lead to joint publications and the online release of new open source solutions, accessible to as many people as possible.
The need to modernise software infrastructures
"For Berger-Levrault, which manages more than 150 applications, the aim is to develop new technologies that will help the company accelerate the modernisation of its installed base of solutions", states Christophe Bortolaso. "These are usually very large software programs (several million lines of code), rolled out in the public sector." Why not simply replace them? First and foremost, because they fulfil their functions and cannot be shut down completely. "Also, user agencies and companies have often invested substantially in these highly specific software packages, which may be used by municipalities for processing civil status records, or for managing accounting, for example", explains Stéphane Ducasse. "These are assets they want to preserve."
However, these tools need to be regularly upgraded in order to remain compatible with their underlying application environments (operating systems, browsers, programming libraries, etc.) and comply with current security rules. "In light of the increasing trend towards cyber-attacks on local authorities, programs must now be modified more often, whenever a new vulnerability is discovered", adds Nicolas Anquetil a tenured researcher in the EVREF project team. Finally, it is essential for them be adaptable to regulatory changes and new procedures.
Tools for migrating graphical interfaces
An initial shared success has been linked to the thesis by Benoît Verhaeghe, jointly supervised by Nicolas Anquetil and Anne Etien within the EVREF project team and published in late 2021: "It has led to the design of semi-automatic or automatic graphical user interface (GUI) migration tools", says Christophe Bortolaso with satisfaction. "These tools are already in production at Berger-Levrault and are extremely useful to us." Other thesis-related activities are being carried out within EVREF: For example, Younoussa Sow is currently studying the opportunities for the automated migration of code written in ESOPE or Fortran77 (a language dedicated to scientific computing) to a more recent object-oriented equivalent (Fortran2003), while Gabriel Darbord is developing a thesis on automatic test generation.
"It is essential to develop new validation and automated test generation tools in order to eliminate the stresses associated with changes, which often cause developers to avoid modifications whenever possible", says Nicolas Anquetil. "The challenge is to create an industrial validation process that is compatible with systems used by thousands of local authorities, and which cannot be permitted to suffer the slightest breakdown."
Moose, an open-source analysis platform
The tools developed by the EVREF project team are gradually being integrated into the Moose software analysis and re-engineering platform, released by Inria online and in open-source format. "It already includes a number of extensions developed in Pharo language and dedicated to specific tasks, such as automated interface migration, code analysis, debugging and automated test generation", explains Stéphane Ducasse.
In addition, Moose is set to incorporate other extensions in the near future, notably for extracting business rules in order to define or constrain the actions to be carried out for a process, and for software mapping. For Stéphane Ducasse, the idea is ultimately to offer tools that will enable developers to “X-ray” software programs and thereby obtain a map that will help them understand how they are structured, how they are used, and where any communication interfaces may be located... This is a necessity, as Christophe Bortolaso points out: "It is currently impossible to analyse systems containing millions of lines of code using a text file editor." So what is the solution? Inventing new ways of representing the code in these systems. An exciting challenge for EVREF.
Christophe Bortolaso, Head of Research at Berger-Levrault
Verbatim
Our aim is to offer developers technologies that will facilitate their management of changes to existing software. At present, very few tools are available for managing legacy software code.
Find out more
- Radiographer les logiciels pour mieux les faire évoluer, The Conversation, 2/3/2022.
- Anne Etien: maintaining and updating "legacy" software, Inria, 20/2/2020.
- The importance of debugging, Inria, 10/1/2023.