Enabling white-box reasonings on black-box composition operators in a domain-independent way - TEL - Thèses en ligne
Theses Year : 2019

Enabling white-box reasonings on black-box composition operators in a domain-independent way

Un modèle de raisonnement pour les opérateurs de composition logicielle décrits en boite noire

Abstract

The complexity of software systems made it necessary to split them up and reunite them afterward. Separating concerns is a well-studied challenge and teams separate the work to be done beforehand. Still, separating without considering the recomposition leads to rushed, unsafe, and time-consuming recomposition. The composition should create the right and best system with minimal human effort. Composition operators are often ad-hoc solutions developed by non-specialist development teams. They are not developed using high-level formalism and end up being too complicated or too poorly formalized to support proper reasonings. We call them "black-boxes" as existing techniques requiring knowledge of its internals cannot be applied or reused. However, black-box operators, like others, must ensure guarantees: one must assess their idempotency to use them in a distributed context; provide an average execution time to assess usage in a reactive system; check conflicts to validate that the composed artifact conforms to business properties. Despite the black-box aspect, none of these properties are domain-specific. In this thesis, we present a domain-independent approach that enables (i) reasonings on composition equation, (ii) to compose them safely, (iii) by assessing properties similar to the ones from the state-of-the-art. We validated the approach in heterogeneous application domains: 19 versions of Linux kernel with 54 rewriting rules, fixing 13 antipatterns in 22 Android apps, and validating the efficiency of the approach on the composition of 20k Docker images.
La complexité des systèmes informatiques a rendu nécessaire leur découpage avant de les recomposer. Cette séparation est un défi connu et les développeurs découpent déjà les tâches au préalable. Néanmoins, séparer sans considérer la recomposition finale entraine des réunifications hâtives et chronophages. Cette composition doit mener au bon et meilleur système avec le minimum d'effort humain. Les opérateurs de composition sont souvent ad-hoc et développés par des non-spécialistes. Ils ne respectent pas de formalismes de haut-niveau et deviennent trop complexes ou informels pour pouvoir raisonner. Nous les appelons des "boites-noires": les techniques nécessitant d'en connaitre l'intérieur ne peuvent être appliquées. Or, ces boites noires doivent garantir des propriétés : d'aucun doit vérifier son idempotence pour l'utiliser dans un contexte distribué ; connaitre son temps d'exécution pour des systèmes réactifs ; vérifier des conflits pour le confronter à des règles d'entreprise. Aucun de ces besoins n'est spécifique à un domaine applicatif. Dans cette thèse, nous présentons une approche indépendante du domaine qui permet, sur des opérateurs existants, (i) de raisonner sur des équations de composition pour (ii) les composer en sécurité, en (iii) proposant une vérification de propriétés similaires à celles de l’état de l’art. Nous avons validé cette approche sur des domaines différents : 19 versions du noyau Linux avec 54 règles de réécriture, réparé 13 « antipatrons » dans 22 applications Android et validé son efficacité sur la composition de 20k images Docker.
Fichier principal
Vignette du fichier
2019AZUR4096.pdf (1.94 Mo) Télécharger le fichier
Origin Version validated by the jury (STAR)
Loading...

Dates and versions

tel-02495825 , version 1 (02-03-2020)

Identifiers

  • HAL Id : tel-02495825 , version 1

Cite

Benjamin Benni. Enabling white-box reasonings on black-box composition operators in a domain-independent way. Software Engineering [cs.SE]. COMUE Université Côte d'Azur (2015 - 2019), 2019. English. ⟨NNT : 2019AZUR4096⟩. ⟨tel-02495825⟩
196 View
302 Download

Share

More