Automatic Inference of System Software Transformation Rules from Examples - Archive ouverte HAL 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 logicielles

(1)
1

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
main.pdf (821.88 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

tel-03120648 , version 1 (26-01-2021)

Identifiers

  • HAL Id : tel-03120648 , version 1

Cite

Lucas Serrano. Automatic Inference of System Software Transformation Rules from Examples. Software Engineering [cs.SE]. Sorbonne Université, 2020. English. ⟨NNT : ⟩. ⟨tel-03120648⟩
217 View
327 Download

Share

Gmail Facebook Twitter LinkedIn More