Automatic inference of system software transformation rules from examples - TEL - Thèses en ligne Access content directly
Theses Year : 2020

Automatic inference of system software transformation rules from examples

Inférence automatique à partir d'exemples de règles de transformations pour le logiciel d'architecture

Abstract

The Linux kernel is present today in all kinds of computing environments, from smartphones to supercomputers, including both the latest hardware and "ancient" systems. This multiplicity of environments has come at the expense of a large code size, of approximately ten million lines of code, dedicated to device drivers. However, to add new functionalities, or for performance or security reasons, some internal Application Programming Interfaces (APIs) can be redesigned, triggering the need for changes of potentially thousands of drivers using them.This thesis proposes a novel approach, Spinfer, that can automatically perform these API usage updates. This new approach, based on pattern assembly constrained by control-flow relationships, can learn transformation rules from even imperfect examples. Learned rules are suitable for the challenges found in Linux kernel API usage updates.
Le noyau Linux est aujourd'hui présent dans tous les types de systèmes informatiques, des smartphones aux supercalculateurs, comprenant à la fois le matériel le plus récent et les systèmes "anciens". Cette diversité d'environnement a pour conséquence une base de code importante, d'une dizaine de millions de lignes de code, pour les pilotes matériels. Cependant par souci d'introduction de nouvelles fonctionnalités, ou pour des raisons de performance ou de sécurité, certaines interfaces de programmation (APIs) internes doivent être parfois revues, ce qui peut impliquer des changements pour des milliers de pilotes les utilisant.Cette thèse propose une nouvelle approche, Spinfer, permettant d'effectuer ces migrations d'utilisation d'APIs de manière automatique. Cette nouvelle approche, basée sur l'assemblage de motifs en suivant des contraintes de flot de contrôle, est capable d'apprendre à partir d'exemples, même imparfaits, des règles de transformations adaptées aux enjeux des migrations d'utilisations d'APIs dans le noyau Linux.
Fichier principal
Vignette du fichier
SERRANO_Lucas_2020.pdf (821.58 Ko) Télécharger le fichier
Origin : Version validated by the jury (STAR)

Dates and versions

tel-03987546 , version 1 (26-01-2021)
tel-03987546 , version 2 (14-02-2023)

Identifiers

  • HAL Id : tel-03987546 , version 2

Cite

Lucas Serrano. Automatic inference of system software transformation rules from examples. Software Engineering [cs.SE]. Sorbonne Université, 2020. English. ⟨NNT : 2020SORUS425⟩. ⟨tel-03987546v2⟩
321 View
369 Download

Share

Gmail Facebook X LinkedIn More