• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • 1
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

L'analyse formelle de concepts : un cadre structurel pour l'étude de la variabilité de familles de logiciels / Formal concept analysis : a structural framework to study variability in software families

Carbonnel, Jessie 29 October 2018 (has links)
Des familles de logiciels similaires proviennent fréquemment de pratiques de réutilisation de clones de logiciels existants, qui sont ensuite enrichis ou dépouillés de fonctionnalités pour suivre de nouvelles exigences. Avec le temps, ces variantes se multiplient et se complexifient, et il devient difficile de les maintenir, de les faire évoluer. L’ingénierie des lignes de produits logiciels regroupe un ensemble de méthodes visant à faciliter le développement et la gestion de telles collections de logiciels similaires. Documenter la variabilité est le point central de ce paradigme ; on la représente à travers des modèles de variabilité, qui servent de supports à la grande majorité des processus propres à l’ingénierie des lignes de produits. La migration complète ou partielle de ces familles de logiciels vers des approches de type lignes de produits permet la simplification de leur exploitation. La rétro-ingénierie, la modélisation et la gestion de la variabilité sont reconnues comme une phase cruciale et ardue de cette migration. Par conséquent, de nombreuses approches ont été proposées pour étudier des descriptions de familles de logiciels dans ce but. Plusieurs d’entre elles s’appuient sur l’analyse formelle de concepts, un cadre mathématique de groupement hiérarchique qui organise un ensemble d’objets et leurs descriptions dans une structure canonique mettant naturellement en évidence leurs aspects communs et variables.Dans ce manuscrit, nous défendons l'idée que l’analyse formelle de concepts, plus qu’un outil, offre un véritable cadre structurel et réutilisable à l’étude de la variabilité des familles de produits.Dans un premier temps, nous établissons un panorama des informations sur la variabilité qui sont mises en évidence grâce à ce formalisme, et discutons de son spectre d’applicabilité. Nous étudions les points communs entre les structures conceptuelles produites par l’analyse formelle de concepts et les modèles de variabilité. Dans un second temps, nous illustrons l’utilisation originale de ces structures conceptuelles comme support à des opérations de conception et de recherche d’informations. Enfin, nous élargissons notre champ d’étude aux informations plus complexes définies par des modèles de variabilité qui ont été étendus pour en améliorer l’expressivité, et dont la rétro-ingénierie est encore peu étudiée à ce jour. Nous montrons comment certaines propriétés de l’analyse formelle de concepts permettent de généraliser son utilisation à des descriptions de variantes plus complexes, et étudions son application pour la manipulation d’attributs multivalués et de cardinalités, en complément des caractéristiques booléennes traditionnelles. Nous évaluons notre approche sur des données issues de dépôts tels que SPLOT, fork-insight et de matrices de comparaison de produits de wikipedia. / Software families often rise from reuse practices as cloning existing software products which are then enhanced or pruned to fulfill new requirements. With time, these variants grow in number and in complexity, and become more and more complex to maintain. Software product line engineering gathers a set of methods that aims at facilitating the management and development of such collections of existing variants. Documenting variability is the central point of this paradigm; This variability is represented in variability models that support a large part of software product line engineering processes.The partial or complete migration from software families to a product line approach eases their exploitation.Reverse-engineering, modeling and managing variability are known as crucial tasks of the migration: therefore, numerous methods have been proposed to study descriptions of software families for this goal.Some of them are based on formal concept analysis, a mathematical framework for hierarchical clustering which organises set of objects and their descriptions in canonical structures highlighting naturally their commonalities and variability.In this thesis, we defend that formal concept analysis, more than a tool, is a relevant structural, reusable and extensible framework to study variability of software families.First, we propose an overview of variability information which is highlighted thanks to this framework, and we discuss its scope of applicability.We study the common points between the conceptual structures of formal concept analysis and variability models.Then, we show how to use these conceptual structures to support research and modeling operations.Finally, we broaden the scope of this study to take into account more complex information about extended variability.We evaluate our method on data taken from the SPLOT repository, fork-insight and product comparison matrices from wikipedia.
2

Identification d'algorithmes cryptographiques dans du code natif / Identification of cryptographic algorithms in binary programs

Lestringant, Pierre 12 December 2017 (has links)
Cette thèse traite de la conception de méthodes automatisées ou semi-automatisées pour détecter et identifier des algorithmes cryptographiques dans des programmes compilés en langage machine. La première méthode proposée a pour but l'identification de primitives symétriques. L'implémentation en langage machine d'une primitive symétrique, assimilée à une suite d'instructions, est représentée par un graphe. Sous cette forme, le code est modifié à l'aide de règles de réécriture tout en préservant une certaine notion de sémantique lors d'une phase dite de normalisation. L'objectif est de faire émerger des expressions communes à différentes implémentations d'une même primitive. Ces expressions servent alors de base à la création de signatures efficaces. La recherche de ces signatures s'effectue à l'aide d'un algorithme énumérant les isomorphismes de sous-graphe. La seconde méthode, conçue en complément de la première, produit une représentation synthétique facilitant l'identification des modes opératoires. Cette représentation se définit comme le plus petit sous-graphe préservant les distances entre des sous-ensembles de nœuds précédemment identifiés comme étant les paramètres d'entrée et de sortie des primitives impliquées. / This thesis is about the design of automatic or semi-automatic methods to detect and identify cryptographic algorithms inside programs compiled into machine code. Two methods are presented. The objective of the first method is to identify cryptographic primitives. A machine code implementation of a cryptographic primitive, regarded as a sequence of instructions, is represented by a graph structure. During a normalization phase, a set of rewrite rules is used to modify this graph representation while preserving a specific notion of semantics. The goal is to converge towards expressions which are shared across several implementations of the same primitive. We use these expressions as a basis to create efficient signatures. A subgraph isomorphism enumeration algorithm is used to search for signatures. The second method is built on top of the first one. It produces a synthetic representation designed to help in the identification of modes of operation. This synthetic representation is defined as the smallest subgraph which preserve distances between sets of vertices previously identified as the input and output parameters of the primitives involved within the mode of operation.

Page generated in 0.0942 seconds