Détail d'une fiche   Version PDF

EVREF (SR0941IR)

Évolution réflexive des systèmes logiciels éternels

RMOD (SR0372FR) →  EVREF


Statut: Décision signée

Responsable : Stephane Ducasse

Mots-clés de "A - Thèmes de recherche en Sciences du numérique - 2023" : A2. Logiciel , A2.1. Langages de programmation , A2.1.3. Programmation orientée objet , A2.1.10. Langages dédiés , A2.1.12. Langages dynamiques , A2.5. Génie logiciel , A2.5.3. Génie logiciel empirique , A2.5.4. Maintenance, évolution , A2.5.5. Test logiciel , A2.6. Logiciel d'infrastructure , A2.6.3. Machines virtuelles , A2.6.4. Gestionnaire de ressources

Mots-clés de "B - Autres sciences et domaines d'application - 2023" : B6. Informatique et télécommunications , B6.1. Industrie du logiciel , B6.1.1. Génie logiciel , B6.1.2. Evolution, maintenance , B6.5. Systèmes d'information

Domaine : Réseaux, systèmes et services, calcul distribué
Thème : Programmation distribuée et génie logiciel

Période : 01/04/2023 -> 31/03/2027
Dates d'évaluation :

Etablissement(s) de rattachement : UNIVERSITE DE LILLE, BERGER-LEVRAULT
Laboratoire(s) partenaire(s) : CRISTAL (9189)

CRI : Centre Inria de l'Université de Lille
Localisation : Centre Inria de l'Université de Lille
Code structure Inria : 101065-0

Numéro RNSR : 202324397Y
N° de structure Inria: SR0941IR

Présentation

The objectives of Evref are to study and support the continuous evolution of large software systems in a holistic manner following three main axes: (1) analyses and approaches for migration and evolution of existing (legacy) systems, (2) new tools to support daily evolution, and (3) infrastructure to build language runtimes to support software evolution, new tools, frugal systems, and security language features. In the context of the first axis, Evref proposes a specific research agenda with Berger-Levrault R&D.

Evolving large software systems is a challenge. Decades of academic research have somehow produced tools and platforms that help companies to maintain their systems. But keeping legacy systems active and relevant is still a really complex task [TV00]. An aggravating challenge is that some of these systems can never stop (production lines, wafer production systems, auction managers, etc) and need to be updated while running at production sites. In addition, because the production environment is not the same as the development environment, the only way to spot and fix a bug is often by directly accessing software in production, while running.

Supporting the evolution of such ever-running systems is an important challenge for our industry because it must deal with more and more changing requirements and the need for dynamic adaptation. To address this challenge Evref will work on (1) analyses and approaches based on language-specific metamodels and their accompanying processes such as test generation, semi-automated migration, or business rule identification; (2) new generation debuggers, profilers, and tools for reverse engineering — we will tackle new areas such as the support for non-functional requirements (robustness, memory consumption, ...) —, (3) language and runtime infrastructure to support evolution, green computing, security, and tooling as a step towards self-evolvable runtimes. Evref approach is reflective in the sense that controlling the underlying execution engine it will explore different facets of evolution and tooling. From that perspective its sum will be more than its parts. A specific research agenda with Berger-Levrault will take place in the context of the first point.


Axes de recherche

The research axes in Evref are built to form an articulated whole around the challenges of evolution of constantly changing and running systems. They are based on the experience and research made in RMOD during 12 years. The three axes are interconnected, often in client relationships e.g., profilers requires low-level information provided by virtual machines but virtual machines require advanced profilers. Controlling virtual machines opens the doors of many possibilities both at the level of tools but also language design for isolation or security.

• Axis 1 – Evolution of ever-running systems. This axis is about how to effectively evolve large and complex software. This covers a large spectrum of topics such as visualization, metrics, analysis, ...This includes for example migration from one language to other one or from a library version to another one. This is within this axis that the team will work in partnership with Berger-Levrault. The axis is built around the Moose platform and its current redesign effort.

• Axis 2 – New generation tools for daily tasks. This axis is about how to offer advanced tools for everyday development: it focuses on debuggers, profilers and tools to reverse engineer code. It follows the work around debugging started in RMOD.

• Axis 3 – A generative approach to modular and versatile virtual machines. This axis is about how to improve the building of virtual machines to support their exploration and application to tools, security, green computing, . . . This axis is also providing infrastructure for the other axes. The exploratory action is an important basis for this axis. In addition, interactions with the Pharo consortium engineers and the use of the industry level Pharo virtual machine will naturally take place.


Relations industrielles et internationales

  • VUB – SOFT — E. Boix Gonzalez and Coen De Roover. We collaborate since several years with the Soft team (previously PROG) of the Vrije Universiteit Brussels. We got a large number of exchanges between our two teams. G. Polito co-supervise the PhD of Matteo Mara with E. Boix Gonzales on debugging map reduce applications. The COVID blocked our recent effort to launch a new period.

  • Université du Chili à Santiago — J-P. Sandoval . working on software analyses. 

  • Thales DMS, Brest, France — E. Le Pors. We collaborate with Dr. E. Le Pors, leader of the Thales DMS software prototyping team. His team builds complex industrial systems, source of hard bugs that we study for the design and the empirical evaluation of new debuggers.

  • Montreal. C. Furhman ETS - Y.-G. Guéhéneuc / Columbia. We started to collaborate with several groups in Montreal and the SADPC associated team should have started in 2020 but was postponed due to COVID.

  • NoviSad. G. Rakic and G. Milosavljevic. We started to collaborate with two groups of NoviSad Univer- sity. We hope post COVID will let us restart our efforts.