• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 14
  • 14
  • Tagged with
  • 31
  • 31
  • 19
  • 17
  • 12
  • 10
  • 6
  • 6
  • 6
  • 6
  • 5
  • 5
  • 5
  • 5
  • 5
  • 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.
11

Une approche pour la maintenance et la ré-ingénierie globale des logiciels

Favre, Jean-Marie 26 October 1995 (has links) (PDF)
Alors que l'informatique est résolument tournée vers l'avenir, cette thèse se concentre sur le passé ; non pas par nostalgie mais plutôt parce que le futur des logiciels âgés est une question d'actualité. Plus particulièrement trois thèmes sont abordés : la maintenance, la ré-ingénierie et la programmation globale. L'objectif de cette étude est d'explorer l'intersection entre la ré-ingénierie et la programmation globale, domaine que nous avons baptisé ré-ingénierie globale. L'idée principale est de réutiliser des concepts et des techniques de programmation détaillée. En fait nous proposons de définir la programmation globale en distinguant 4 aspects du logiciel : l'architecture, la manufacture, la variation et l'évolution. Un modèle abstrait basé sur des concepts ensemblistes est proposé pour modéliser les différentes entités de programmation globale. La technologie relative à ce domaine est ensuite décrite en considérant aussi bien l'état de l'art que l'état de la pratique. La différence entre ces deux aspects souligne l'intérêt de la ré-ingénierie globale. A titre d'illustration, nous étudions le cas des préprocesseurs en tant qu'outils de programmation globale. Ces outils de bas niveau provenant des années 70 sont traditionnellement utilisés pour décrire des familles de programmes. Pour faciliter la compréhension de tels artefacts nous proposons d'utiliser des techniques comme l'évaluation partielle, l'analyse inter-procédurale de flot de données ou encore le découpage. Ces techniques, définies de manière rigoureuse, s'appuient sur la sémantique dénotationnelle du préprocesseur utilisé. Un prototype montrant leur utilité a été réalisé. Il prouve qu'une approche basée sur des fondements théoriques issus de la programmation détaillée est applicable pour résoudre des problèmes pratiques de programmation globale.
12

A model-based approach for extracting business rules out of legacy information systems / Une approche dirigée par les modéles pour l’extraction de règles métier à partir des systèmes d’informations hérités

Cosentino, Valerio 18 December 2013 (has links)
Le monde des affaires d’aujourd’hui est très dynamique, donc les organisations doivent rapidement adapter leurs politiques commerciales afin de suivre les évolutions du marché. Ces ajustements doivent être propagés à la logique métier présente dans les systèmes d’informations des organisations, qui sont souvent des applications héritées non conçues pour représenter et opérationnaliser la logique métier indépendamment des aspects techniques du langage de programmation utilisé. Par conséquent, la logique métier intégrée au sein du système doit être identifiée et comprise avant d’être modifiée. Malheureusement, ces activités ralentissent la mise à jour du système vers de nouvelles exigences établies dans les politiques de l’organisation et menacent la cohérence des activités commerciales de celle-ci. Afin de simplifier ces activités, nous offrons une approche basée sur les modèles pour extraire et représenter la logique métier, exprimée comme un ensemble de règles de gestion, à partir des parties comportementales et structurelles des systèmes d’information. Nous mettons en œuvre cette approche pour les systèmes écrits en Java et COBOL ainsi que pour les systèmes de gestion de bases de données relationnelles. L’approche proposée est basée sur l’Ingénierie Dirigée par les Modèles, qui fournit une solution générique et modulaire adaptable à différents langages en offrant une représentation abstraite et homogène du système. / Today’s business world is very dynamic and organizations have to quickly adjust their internal policies to follow the market changes. Such adjustments must be propagated to the business logic embedded in the organization’s information systems, that are often legacy applications not designed to represent and operationalize the business logic independently from the technical aspects of the programming language employed. Consequently, the business logic buried in the system must be discovered and understood before being modified. Unfortunately, such activities slow down the modification of the system to new requirements settled in the organization policies and threaten the consistency and coherency of the organization business. In order to simplify these activities, we provide amodel-based approach to extract and represent the business logic, expressed as a set of business rules, from the behavioral and structural parts of information systems. We implement such approach for Java, COBOL and relational database management systems. The proposed approach is based on Model Driven Engineering,that provides a generic and modular solution adaptable to different languages by offering an abstract and homogeneous representation of the system.
13

Automatic reconstruction and analysis of security policies from deployed security components / Analyse et reconstruction automatique de politiques de sécurité de composants de sécurité déployés

Martinez, Salvador 30 June 2014 (has links)
La sécurité est une préoccupation essentielle pour tout système d’information. Propriétés de sécurité telles que la confidentialité, l’intégrité et la disponibilité doivent être appliquées afin de rendre les systèmes sures. Dans les environnements complexes, où les systèmes d’information sont composés par un certain nombre de sous-systèmes hétérogènes, chaque sous-système joue un rôle clé dans la sécurité globale du système. Dans le cas spécifique du contrôle d’accès, politiques de contrôle d’accès peuvent être trouvées dans différents composants (bases de données, réseaux, etc.), ces derniers étant sensés travailler ensemble. Néanmoins , puisque la plupart de ces politiques ont été mises en œuvre manuellement et / ou évolué séparément ils deviennent facilement incompatibles. Dans ce contexte, la découverte et compréhension des politiques de sécurité appliquées par le système d’information devient une nécessité critique. Le principal défi à résoudre est de combler le fossé entre les caractéristiques de sécurité dépendant du fournisseur et une représentation de plus haut niveau que exprime ces politiques d’une manière faisant abstraction des spécificités de composants concrètes, et donc, plus facile à comprendre et à raisonner avec. Cette représentation de haut niveau nous permettrait également de mettre en œuvre tous les opérations de évolution / refactoring / manipulation sur les politiques de sécurité d’une manière réutilisable. Dans ce travail, nous proposons un tel mécanisme de rétro-ingénierie et d’intégration des politiques de contrôle d’accès. Nous comptons sur les technologies de l’ingénierie dirigée par les modèles pour atteindre cet objectif . / Security is a critical concern for any information system. Security properties such as confidentiality, integrity and availability need to be enforced in order to make systems safe. In complex environments, where information systems are composed by a number of heterogeneous subsystems, each subsystem plays a key role in the global system security. For the specific case of access-control, access-control policies may be found in several components (databases, networksand applications) all, supposedly, working together. Nevertheless since most times these policies have been manually implemented and/or evolved separately they easily become inconsistent. In this context, discovering and understanding which security policies are actually being enforced by the information system comes out as a critical necessity. The main challenge to solve is bridging the gap between the vendor-dependent security features and a higher-level representation that express these policies in a way that abstracts from the specificities of concrete system components, and thus, it´s easier to understand and reason with. This high-level representation would also allow us to implement all evolution/refactoring/manipulation operations on the security policies in a reusable way. In this work we propose such a reverse engineering and integration mechanism for access-control policies. We rely on model-driven technologies to achieve this goal.
14

Formal Approaches for Automatic Deobfuscation and Reverse-engineering of Protected Codes / Approches formelles de désobfuscation automatique et de rétro-ingénierie de codes protégés

David, Robin 06 January 2017 (has links)
L’analyse de codes malveillants est un domaine de recherche en pleine expansion de par la criticité des infrastructures touchées et les coûts impliqués de plus en plus élevés. Ces logiciels utilisent fréquemment différentes techniques d’évasion visant à limiter la détection et ralentir les analyses. Parmi celles-ci, l’obfuscation permet de cacher le comportement réel d’un programme. Cette thèse étudie l’utilité de l’Exécution Symbolique Dynamique (DSE) pour la rétro-ingénierie. Tout d’abord, nous proposons deux variantes du DSE plus adaptées aux codes protégés. La première est une redéfinition générique de la phase de calcul de prédicat de chemin basée sur une manipulation flexible des concrétisations et symbolisations tandis que la deuxième se base sur un algorithme d’exécution symbolique arrière borné. Ensuite, nous proposons différentes combinaisons avec d’autres techniques d’analyse statique afin de tirer le meilleur profit de ces algorithmes. Enfin tous ces algorithmes ont été implémentés dans différents outils, Binsec/se, Pinsec et Idasec, puis testés sur différents codes malveillants et packers. Ils ont permis de détecter et contourner avec succès les obfuscations ciblées dans des cas d’utilisations réels tel que X-Tunnel du groupe APT28/Sednit. / Malware analysis is a growing research field due to the criticity and variety of assets targeted as well as the increasing implied costs. These softwares frequently use evasion tricks aiming at hindering detection and analysis techniques. Among these, obfuscation intent to hide the program behavior. This thesis studies the potential of Dynamic Symbolic Execution (DSE) for reverse-engineering. First, we propose two variants of DSE algorithms adapted and designed to fit on protected codes. The first is a flexible definition of the DSE path predicate computation based on concretization and symbolization. The second is based on the definition of a backward-bounded symbolic execution algorithm. Then, we show how to combine these techniques with static analysis in order to get the best of them. Finally, these algorithms have been implemented in different tools Binsec/se, Pinsec and Idasec interacting alltogether and tested on several malicious codes and commercial packers. Especially, they have been successfully used to circumvent and remove the obfuscation targeted in real-world malwares like X-Tunnel from the famous APT28/Sednit group.
15

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.
16

Analyse et détection dynamique de codes viraux dans un contexte cryptographique

Josse, Sébastien 10 April 2009 (has links) (PDF)
Cette thèse est consacrée à la problématique de l'évaluation des produits antivirus. L'utilisateur final d'un produit antivirus ne sait pas toujours quelle confiance il peut placer dans son produit antivirus pour parer convenablement la menace virale. Pour répondre à cette question, il est nécessaire de formuler la problématique de sécurité à laquelle doit répondre un tel produit et de disposer d'outils et de critères méthodologiques, techniques et théoriques permettant d'évaluer la robustesse des fonctions de sécurité et la pertinence des choix de conception au regard d'une menace virale identifiée. Je concentre mon analyse de la menace virale sur quelques mécanismes (mécanismes cryptographiques, transformations de programme) adaptés au contexte boîte blanche, i.e. permettant à un virus de protéger ses données critiques en confidentialité et de masquer son fonctionnement dans un environnement complètement maîtrisé par l'attaquant. Une première étape incontournable avant toute organisation d'une ligne de défense consiste à analyser les virus, afin d'en comprendre le fonctionnement et les effets sur le système. Les méthodes et techniques de la rétro-ingénierie logicielle occupent ici - au côté des techniques de cryptanalyse - une place centrale. J'ai pris le parti de focaliser sur les méthodes dynamiques d'extraction d'information fondées sur une émulation du matériel supportant le système d'exploitation. L'évaluation d'un moteur de détection selon des critères objectifs requiert un effort de modélisation. J'étudie quelques modèles utilisés actuellement (grammaires formelles, interprétation abstraite, statistique). Chacun de ces modèles permet de formaliser certains aspects du problème de la détection virale. Je m'attache à l'étude des critères qu'il est possible de définir dans chacun de ces cadres formels et à leur utilisation pour partie des travaux d'évaluation d'un moteur de détection. Mes travaux m'ont conduit à la mise en oeuvre d'une approche méthodologique et d'une plate-forme de tests pour l'analyse de robustesse des fonctions et mécanismes d'un produit anti-virus. J'ai développé un outil d'analyse de code viral, appelé VxStripper, dont les fonctionnalités sont utiles à la réalisation de plusieurs des tests. Les outils formels sont utilisés pour qualifier en boîte blanche - ou sur la base des documents de conception détaillée - la conformité et l'efficacité d'un moteur de détection.
17

Alimentation d'un dépôt de code source pour l'analyse détaillée de systèmes de taille industrielle

Bédard, Jean-François January 2002 (has links)
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.
18

Evolution d'applications de bases de données relationnelles : Méthodes et Outils|Evolution of relational databases applications: Methods and Tools

Hick, Jean-Marc H. G. G. 26 September 2001 (has links)
Si les nouvelles technologies en matière de SGBD envisagent le problème de l'évolution du schéma d'une base de données, les systèmes d'information actuels posent des problèmes particulièrement ardus lors des phases d'évolution. Ce travail étudie ces problèmes dans un contexte pratique tel qu'il est vécu actuellement par les développeurs. Il propose une typologie complète des modifications possibles ainsi qu’une analyse du phénomène de l'évolution et de son impact sur les structures de données, les données et les programmes d'application au travers de stratégies typiques. Le document décrit ensuite l'environnement de génie logiciel DB-Main avec lequel a été construit un prototype d'outil d'aide à l'évolution. Cet outil permet notamment de générer automatiquement les programmes de conversion de la base de données à partir de la trace des opérations de modification des schémas conceptuel ou logique de la base de données. Il aide aussi le programmeur à modifier les programmes d'application en conséquence.| If the recent DBMS technologies consider the problem of databases schema evolution, standard Information Systems in use raise hard problems when evolution is concerned. This work studies these problems in the current developer context. It gives a complete typology of modifications and analyses the evolution of systems and its impact on the data structures, data and programs through typical strategies. The document introduces the DB-Main CASE environment, with which an evolution tool prototype has been developed. This tool can automatically generate the conversion programs for the database from the operational trace of the conceptual and logical schema modifications. It can also help the programmer to modify the application programs.
19

Rétro-ingénierie des diagrammes de séquence par visualisation interactive

Grati, Hassen 08 1900 (has links)
Nous proposons une approche semi-automatique pour la rétro-ingénierie des diagrammes de séquence d’UML. Notre approche commence par un ensemble de traces d'exécution qui sont automatiquement alignées pour déterminer le comportement commun du système. Les diagrammes de séquence sont ensuite extraits avec l’aide d’une visualisation interactive, qui permet la navigation dans les traces d'exécution et la production des opérations d'extraction. Nous fournissons une illustration concrète de notre approche avec une étude de cas, et nous montrons en particulier que nos diagrammes de séquence générés sont plus significatifs et plus compacts que ceux qui sont obtenus par les méthodes automatisées. / We propose a semi-automated approach for the reverse engineering of UML sequence diagrams. Our approach starts with a set of execution traces that are automatically aligned to determine the common behavior. Sequence diagrams are then extracted with the help of an interactive visualization, which allows navigating though execution traces and performing extraction operations. We provide a concrete illustration of our approach with a case study, and show in particular that the resulting diagrams are more meaningful and more compact than those extracted by automated approaches.
20

Génération automatique de configurations et de scénarios d'utilisation d'outils de visualisation à partir de spécifications de tâches d'analyse de logiciels

Sfayhi, Ahmed 04 1900 (has links)
Nous proposons une approche qui génère des scénarios de visualisation à partir des descriptions de tâches d'analyse de code. La dérivation de scénario est considérée comme un processus d'optimisation. Dans ce contexte, nous évaluons différentes possibilités d'utilisation d'un outil de visualisation donnée pour effectuer la tâche d'analyse, et sélectionnons le scénario qui nécessite le moins d'effort d'analyste. Notre approche a été appliquée avec succès à diverses tâches d'analyse telles que la détection des défauts de conception. / We propose an approach that derives interactive visualization scenarios from descriptions of code analysis tasks. The scenario derivation is treated as an optimization process. In this context, we evaluate different possibilities of using a given visualization tool to perform the analysis task, and select the scenario that requires the least effort from the analyst. Our approach was applied successfully to various analysis tasks such as design defect detection and feature location.

Page generated in 0.0737 seconds