Dissertations / Theses on the topic 'Compréhension de code'

To see the other types of publications on this topic, follow the link: Compréhension de code.

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 17 dissertations / theses for your research on the topic 'Compréhension de code.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Moretti, Eric. "Conception et mise en oeuvre d'un système informatique de compréhension de code exécutable." Paris 11, 2005. http://www.theses.fr/2005PA112018.

Full text
Abstract:
L'objectif de cette étude est la compréhension de codes exécutables de machines à l'aide d'un système informatique essentiellement automatique. La " compréhension " signifie ici la description des codes exécutables dans un langage plus intelligible pour l'opérateur humain : si le langage cible est un tangage de programmation, on parle alors de décompilation. L'obtention du code source des programmes à partir de leur code exécutable accroît l'expressivité des programmes, ce qui rend plus facile la vérification des propriétés qu'ils sont supposés posséder. Par la décompilation il ne s'agît pas exclusivement de retrouver les informations perdues lors de la compilation, mais il s'agit aussi d'extraire d'autres informations qui ne sont accessibles qu'au niveau machine. Fondamentalement, le principal aboutissement de cette étude est une avancée dans la théorie de la décompilation : Pour l'interprétation de programmes machines nous présentons un langage assembleur générique, potentiellement capable de décrire les programmes de n'importe quel microprocesseur classique. De plus, nous avons généralisé les algorithmes d'analyse de flots de contrôle pour ne plus effectuer la structuration des graphes par des méthodes empiriques, jusque-là basées sur la recherche de formes connues. Nous avons aussi affiné les techniques d'analyse de flots de données, en adaptant des méthodes d'inférence de types afférentes au domaine de la compilation et en les exploitant dans les algorithmes de propagation des données. La théorie que nous avons développé a fait continuellement l'objet d'un déploiement sur un décompilateur prototype dédié à l'analyse de logiciels temps-réel embarqués industriels
The purpose of this study is the understanding of machine codes, using a computer system able to work automatically to a large extent. Here, "comprehension" means description of machine codes in another language which is more comprehensible for a human operator : When the choosed target language is a programming language, this transformation is named decompilation. Production of source code from machine code improves the expressiveness of the programs, giving representations that are suited during the verification process of the expected program properties. Decompilation is not only assumed to permit the recovery of information lost during the program compilation process, but it is also intended to extract a kind of information that is exclusively available at the machine level. Fundamentally, the main outcome of this study is a progress in the field of decompilation theory : Concerning the interpretation of machine codes, we present a generic assembly language, potentially suited for the description of machine programs on any target microprocessor or microcontroller. We also present a generalization of the control-flow analysis algorithms, to avoid graph structuring with the usual empirical methods that rely on pattern-matching of specific cases. Furthermore, we have extended the capabilities of the data-flow analysis techniques, by adapting type inference methods derived from the compilation theory and exploiting them within data propagation algorithms. At all significant stage of this study, our theory has been deployed and tested on a decompiler prototype dedicated to the analysis of industrial embedded real-time software
APA, Harvard, Vancouver, ISO, and other styles
2

Jarrige, Domitille. "Déchiffrer le "code OPR" pour une meilleure compréhension du rôle physiologique des protéines OPR." Electronic Thesis or Diss., Sorbonne université, 2019. http://www.theses.fr/2019SORUS632.

Full text
Abstract:
À la suite de l’endosymbiose, le génome chloroplastique a rétréci et dépend maintenant du génome nucléaire pour son expression. Chez Chlamydomonas reinhardtii, les protéines Octotricopeptide repeat (OPR), codées dans le noyau, contrôlent l’expression d’ARNm chloroplastiques spécifiques. La répétition OPR est un motif dégénéré de 38 acides aminés, qui forme un tandem d’hélices α antiparallèles qui lient l’ARN. Une répétition OPR est prédite pour interagir avec un nucléotide spécifique grâce à des résidus variables à des positions précises. La succession de répétitions permet aux protéines OPR de se lier à une séquence donnée. En partant d’un « code OPR » théorique, j’ai cherché à étudier cette spécificité de reconnaissance. J’ai mute in vivo les cibles chloroplastiques de facteurs OPR pour empêcher l’interaction OPR/ARN, puis j’ai tenté de la restaurer en mutant les résidus conférant la spécificité dans les répétitions correspondantes. Étonnamment, les interactions OPR/ARN sont très résilientes, ce qui a complétement changé notre vision de ces interactions in vivo. Des études fonctionnelles complémentaires que j’ai réalisées sur les facteurs OPR MDB1 and MTHI1 ont révélé que l’expression des gènes chloroplastiques dépend probablement de systèmes de facteurs nucléaires. En coopérant ces facteurs auraient une affinité combinée plus forte et seraient ainsi plus résilients
Following endosymbiosis, the chloroplast genome shrunk and became reliant on the host genome for its expression. In Chlamydomonas reinhardtii, Octotricopeptide repeat proteins (OPR), encoded in the nucleus, control the expression of a specific organellar mRNA. The OPR repeat is a degenerate motif of 38 amino-acids, folding into a tandem of antiparallel α-helices which can bind to RNA. An individual OPR repeat is predicted to interact with one given nucleotide thanks to specificity-conferring residues at defined positions within the repeat. OPR proteins contain tracks of successive OPR motifs, thus they can bind to a specific RNA “target” sequence and act on it. I aimed to study this specificity, called the “OPR code”, starting with a draft code based on known OPR protein/mRNA couples. I mutated in vivo the chloroplast targets of some OPR factors to disrupt the OPR/RNA interaction, and then tried to restore it by mutating the specificity-conferring residues in the corresponding repeats. Surprisingly, OPR/RNA interactions seem very resilient, challenging our view of how the specificity is established in vivo. Complementary functional studies that I performed on the OPR factors MDB1 and MTHI1 revealed that chloroplast gene expression might rely on complex networks of nuclear factors. By cooperating those putative systems would be both more specific and more resilient
APA, Harvard, Vancouver, ISO, and other styles
3

Duruisseau, Mickaël. "Améliorer la compréhension d’un programme à l’aide de diagrammes dynamiques et interactifs." Thesis, Lille 1, 2019. http://www.theses.fr/2019LIL1I042/document.

Full text
Abstract:
Les développeurs occupent une place prépondérante dans le développement logiciel. Dans ce cadre, ils doivent réaliser une succession de tâches élémentaires (analyse, codage, liaison avec le code existant...), mais pour effectuer ces tâches, un développeur doit régulièrement changer de contexte de travail (recherche d’information, lecture de code…) et analyser du code qui n’est pas le sien. Ces actions nécessitent un temps d’adaptation élevé et réduisent l’efficacité du développeur. La modélisation logicielle est une solution à ce type de problème. Elle propose une vue abstraite d’un logiciel, des liens entre ses entités ainsi que des algorithmes utilisés. Cependant, l’Ingénierie Dirigée par les Modèles (IDM) est encore trop peu utilisée en entreprise. Dans cette thèse, nous proposons un outil pour améliorer la compréhension d’un programme à l’aide de diagrammes dynamiques et interactifs. Cet outil se nomme VisUML et est centré sur l’activité principale de codage du développeur. VisUML fournit des vues (sur des pages web ou sur des outils de modélisation) synchronisées avec le code. Les diagrammes UML générés sont interactifs et permettent une navigation rapide avec et dans le code. Cette navigation réduit les pertes de temps et de contextes dues aux changements d’activités en fournissant à tout moment une vue abstraite sous forme de diagramme des éléments actuellement ouverts dans l’outil de codage du développeur. Au final, VisUML a été évalué par vingt développeurs dans le cadre d’une expérimentation qualitative de l’outil afin d’estimer l’utilité d’un tel outil
Developers dominate in software development. In this context, they must perform a succession of elementary tasks (analysis, coding, linking with existing code ...), but in order to perform these tasks, a developer must regularly change his context of work (search information, read code ...) and analyze code that is not his. These actions require a high adaptation time and reduce the efficiency of the developer. Software modeling is a solution to this type of problem. It offers an abstract view of a software, links between its entities as well as algorithms used. However, Model-Driven Engineering (MDE) is still underutilized in business. In this thesis, we propose a tool to improve the understanding of a program using dynamic and interactive diagrams. This tool is called VisUML and focuses on the main coding activity of the developer. VisUML provides views (on web pages or modeling tools) synchronized with the code.The generated UML diagrams are interactive and allow fast navigation with and in the code. This navigation reduces the loss of time and context due to activity changes by providing at any time an abstract diagram view of the elements currently open in the developer’s coding tool. In the end, VisUML was evaluated by twenty developers as part of a qualitative experimentation of the tool to estimate the usefulness of such a tool
APA, Harvard, Vancouver, ISO, and other styles
4

Noureddine, Adel. "Vers une meilleure compréhension de la consommation énergétique des systèmes logiciels." Phd thesis, Université des Sciences et Technologie de Lille - Lille I, 2014. http://tel.archives-ouvertes.fr/tel-00961346.

Full text
Abstract:
Avec l'augmentation de l'utilisation des ordinateurs et des appareils mobiles, et la hausse du prix de l'électricité, la gestion énergétique des logiciels est devenue une nécessité pour des logiciels, appareils et services durables. La consommation énergétique augmente dans les technologies informatiques, notamment à cause de l'augmentation de l'utilisation des services web et distribuée, l'informatique dans les nuages, ou les appareils mobiles. Par conséquent, des approches de gestion de l'énergie ont été développées, de l'optimisation du code des logiciels, à des stratégies d'adaptation basées sur l'utilisation des ressources matérielles. Afin de répondre à ces lacunes, nous présentons dans cette thèse, des modèles énergétiques, approches et outils pour estimer fidèlement la consommation énergétique des logiciels, au niveau de l'application, et au niveau du code, et pour inférer le modèle d'évolution énergétique des méthodes basé sur leurs paramètres d'entrées. Nous proposons aussi Jalen et Jalen Unit, des frameworks énergétiques pour estimer la consommation énergétique de chaque portion de code de l'application, et pour inférer le modèle d'évolution énergétique des méthodes en se basant sur des études et expériences empiriques. En utilisant des modèles énergétiques et d'outils d'estimations logicielles, nous pouvons proposer des informations énergétiques précises sans avoir besoin de wattmètres ou d'investissement de matériels de mesures énergétiques. Les informations énergétiques que nous proposons, offrent aussi aux approches de gestion énergétique des mesures directes et précises pour leurs approches d'adaptations et d'optimisations énergétiques. Ces informations énergétiques établissent aussi un modèle d'évolution énergétique des logiciels en se basant sur leurs paramètres d'entrées. Cela offre aux développeurs une connaissance plus profonde sur l'efficacité énergétique dans les logiciels. Cette connaissance amènera les développeurs à choisir un certain code au lieu d'un autre en se basant sur son efficacité énergétique. Les expérimentations utilisant l'implémentation de nos modèles énergétiques offrent des informations importantes sur comment et où l'énergie est consommée dans les logiciels. Plus particulièrement, nous proposons des comparaisons empiriques des langages de programmation (LP), des implémentations d'algorithmes, du coût de l'utilisation d'une machine virtuelle dans les LP, des options des compilateurs, et des primitives d'entrées/sorties. Nos outils permettent aussi de détecter les hotspots énergétiques dans les logiciels, permettant ainsi de focaliser sur les principaux endroits où davantage d'études sont nécessaires pour l'optimisation énergétique. Finalement, nous démontrons comment notre framework d'étude empirique permet de détecter les modèles d'évolution énergétique en se basant sur les stratégies d'évolution des paramètres d'entrées. Grâce à notre contribution, nous visons d'évoluer la connaissance dans le domaine de la consommation énergétique dans les logiciels, en proposant des modèles, des approches et des outils pour mesurer avec précision la consommation énergétique à des grains plus fins. En un mot, nous avons construit un microscope logiciel et énergétique, et avons mener des expérimentations afin de comprendre comment l'énergie est consommée dans les logiciels, et les chemins à prendre pour produire des logiciels optimisés énergétiquement.
APA, Harvard, Vancouver, ISO, and other styles
5

Ieva, Carlo. "Révéler le contenu latent du code source : à la découverte des topoi de programme." Thesis, Montpellier, 2018. http://www.theses.fr/2018MONTS024/document.

Full text
Abstract:
Le développement de projets open source à grande échelle implique de nombreux développeurs distincts qui contribuent à la création de référentiels de code volumineux. À titre d'exemple, la version de juillet 2017 du noyau Linux (version 4.12), qui représente près de 20 lignes MLOC (lignes de code), a demandé l'effort de 329 développeurs, marquant une croissance de 1 MLOC par rapport à la version précédente. Ces chiffres montrent que, lorsqu'un nouveau développeur souhaite devenir un contributeur, il fait face au problème de la compréhension d'une énorme quantité de code, organisée sous la forme d'un ensemble non classifié de fichiers et de fonctions.Organiser le code de manière plus abstraite, plus proche de l'homme, est une tentative qui a suscité l'intérêt de la communauté du génie logiciel. Malheureusement, il n’existe pas de recette miracle ou bien d’outil connu pouvant apporter une aide concrète dans la gestion de grands bases de code.Nous proposons une approche efficace à ce problème en extrayant automatiquement des topoi de programmes, c'est à dire des listes ordonnées de noms de fonctions associés à un index de mots pertinents. Comment se passe le tri? Notre approche, nommée FEAT, ne considère pas toutes les fonctions comme égales: certaines d'entre elles sont considérées comme une passerelle vers la compréhension de capacités de haut niveau observables d'un programme. Nous appelons ces fonctions spéciales points d’entrée et le critère de tri est basé sur la distance entre les fonctions du programme et les points d’entrée. Notre approche peut être résumée selon ses trois étapes principales : 1) Preprocessing. Le code source, avec ses commentaires, est analysé pour générer, pour chaque unité de code (un langage procédural ou une méthode orientée objet), un document textuel correspondant. En outre, une représentation graphique de la relation appelant-appelé (graphe d'appel) est également créée à cette étape. 2) Clustering. Les unités de code sont regroupées au moyen d’une classification par clustering hiérarchique par agglomération (HAC). 3) Sélection du point d’entrée. Dans le contexte de chaque cluster, les unités de code sont classées et celles placées à des positions plus élevées constitueront un topos de programme.La contribution de cette thèse est triple: 1) FEAT est une nouvelle approche entièrement automatisée pour l'extraction de topoi de programme, basée sur le regroupement d'unités directement à partir du code source. Pour exploiter HAC, nous proposons une distance hybride originale combinant des éléments structurels et sémantiques du code source. HAC requiert la sélection d’une partition parmi toutes celles produites tout au long du processus de regroupement. Notre approche utilise un critère hybride basé sur la graph modularity et la cohérence textuelle pour sélectionner automatiquement le paramètre approprié. 2) Des groupes d’unités de code doivent être analysés pour extraire le programme topoi. Nous définissons un ensemble d'éléments structurels obtenus à partir du code source et les utilisons pour créer une représentation alternative de clusters d'unités de code. L’analyse en composantes principales, qui permet de traiter des données multidimensionnelles, nous permet de mesurer la distance entre les unités de code et le point d’entrée idéal. Cette distance est la base du classement des unités de code présenté aux utilisateurs finaux. 3) Nous avons implémenté FEAT comme une plate-forme d’analyse logicielle polyvalente et réalisé une étude expérimentale sur une base ouverte de 600 projets logiciels. Au cours de l’évaluation, nous avons analysé FEAT sous plusieurs angles: l’étape de mise en grappe, l’efficacité de la découverte de topoi et l’évolutivité de l’approche
During the development of long lifespan software systems, specification documents can become outdated or can even disappear due to the turnover of software developers. Implementing new software releases or checking whether some user requirements are still valid thus becomes challenging. The only reliable development artifact in this context is source code but understanding source code of large projects is a time- and effort- consuming activity. This challenging problem can be addressed by extracting high-level (observable) capabilities of software systems. By automatically mining the source code and the available source-level documentation, it becomes possible to provide a significant help to the software developer in his/her program understanding task.This thesis proposes a new method and a tool, called FEAT (FEature As Topoi), to address this problem. Our approach automatically extracts program topoi from source code analysis by using a three steps process: First, FEAT creates a model of a software system capturing both structural and semantic elements of the source code, augmented with code-level comments; Second, it creates groups of closely related functions through hierarchical agglomerative clustering; Third, within the context of every cluster, functions are ranked and selected, according to some structural properties, in order to form program topoi.The contributions of the thesis is three-fold:1) The notion of program topoi is introduced and discussed from a theoretical standpoint with respect to other notions used in program understanding ;2) At the core of the clustering method used in FEAT, we propose a new hybrid distance combining both semantic and structural elements automatically extracted from source code and comments. This distance is parametrized and the impact of the parameter is strongly assessed through a deep experimental evaluation ;3) Our tool FEAT has been assessed in collaboration with Software Heritage (SH), a large-scale ambitious initiative whose aim is to collect, preserve and, share all publicly available source code on earth. We performed a large experimental evaluation of FEAT on 600 open source projects of SH, coming from various domains and amounting to more than 25 MLOC (million lines of code).Our results show that FEAT can handle projects of size up to 4,000 functions and several hundreds of files, which opens the door for its large-scale adoption for program understanding
APA, Harvard, Vancouver, ISO, and other styles
6

Caserta, Pierre. "Analyse statique et dynamique de code et visualisation des logiciels via la métaphore de la ville : contribution à l'aide à la compréhension des programmes." Phd thesis, Université de Lorraine, 2012. http://tel.archives-ouvertes.fr/tel-00790056.

Full text
Abstract:
Ce travail s'inscrit dans le cadre des recherches menées autour de l'analyse et la visualisation des logiciels, notamment les logiciels à objets, et en particulier Java. Très brièvement, on peut dire que le but de cette thèse revient à tenter de répondre à une question fondamentale: comment faire pour faciliter la compréhension du logiciel par ses développeurs et concepteurs ? Ce travail de recherche est basé en grande partie sur deux axes principaux. Le premier consiste à analyser l'exécution des programmes, non seulement au niveau de la méthode, mais bien au niveau du bloc de base, pour recueillir des données d'exécutions avec un maximum de précision comme par exemple les différents types d'instances sur les sites d'appels. Le second axe considère l'utilisation des informations apportées par notre analyse dynamique de l'exécution pour permettre la visualisation de ces données. En effet, ces informations offrent des détails intéressants sur le fonctionnement du programme et aident à expliquer le comportement du logiciel, aussi bien pour déceler les problèmes de performance que les problèmes de codages. Nous proposons une technique souple et efficace qui effectue une analyse dynamique de l'exécution de programmes Java. Nous introduisons ainsi une nouvelle technique et un nouvel outil permettant de recueillir des informations encore non proposées par d'autres analyseurs. Cette approche trace l'exécution précise des programmes tout en ayant une baisse des performances d'exécution acceptable, laissant le programme final utilisable. De plus, nous proposons et expérimentons une approche basé sur la visualisation des relations au sein d'une représentation du logiciel par une métaphore de ville. Nous introduisons une nouvelle technique de représentation des relations nommée "3D Hierarchical Edge Bundles" qui est basée sur une représentation 2D existante nommée "Hierarchical Edge Bundles". Cette approche conserve la puissance de visualisation du logiciel offerte par la métaphore de la ville tout en ajoutant la représentation des relations, et cela d'une façon lisible. Ces travaux sont validés entre autres par le développement d'un outil d'analyse nommé VITRAIL JBInsTrace et d'un outil de visualisation nommé VITRAIL Visualizer. Ces outils sont la base de nos recherche actuelles sur l'étude de l'exécution des programmes objets.
APA, Harvard, Vancouver, ISO, and other styles
7

Menguy, Grégoire. "Black-box code analysis for reverse engineering through constraint acquisition and program synthesis." Electronic Thesis or Diss., université Paris-Saclay, 2023. http://www.theses.fr/2023UPASG023.

Full text
Abstract:
Les logiciels sont de plus en plus grands et complexes. Ainsi, certaines tâches comme le test et la vérification de code, ou la compréhension de code, sont de plus en plus difficiles à réaliser pour un humain. D'où la nécessité de développer des méthodes d'analyse automatique. Celles-ci sont usuellement en boîte blanche, utilisant la syntaxe du code pour déduire ses propriétés. Elles sont très efficaces mais présentent certaines limitations: le code source est nécessaire, la taille et la complexité syntaxique du code (accentuée par des optimisations et de l'obfuscation) impactent leur efficacité. Cette thèse explore comment les méthodes en boîte noire peuvent inférer des propriétés utiles pour la rétro-ingénierie. Nous étudions, tout d'abord, l'inférence de contrat de fonction qui tente d'apprendre sur quelles entrées une fonction peut être exécutée pour obtenir les sorties souhaitées. Nous adaptons l'acquisition de contraintes, en résolvant une de ses principales limitations: la dépendance à un être humain. En ressort PreCA, la première approche totalement boîte noire offrant des garanties claires de correction. PreCA est ainsi particulièrement approprié pour l'aide au développement. Nous étudions ensuite la déobfuscation, qui vise à simplifier du code obfusqué. Nous proposons Xyntia qui synthétise, via des S-métaheuristiques, une version compréhensible de blocs de code. Xyntia est plus rapide et robuste que l'état de l'art. De plus, nous proposons les deux premières protections contre la déobfuscation en boîte noire
Software always becomes larger and more complex, making crucial tasks like code testing, verification, or code understanding highly difficult for humans. Hence the need for methods to reason about code automatically. These are usually white-box, and use the code syntax to deduce its properties. While they have proven very powerful, they also show limitations: they need the source code, the code size and the data structures' complexity degrade their efficiency, they are highly impacted by syntactic code complexity amplified by optimizations obfuscations. This thesis explores how black-box code analysis can infer valuable properties for reverse engineering through data-driven learning. First, we consider the function contracts inference problem, which aims to infer over which inputs a code function can be executed to get good behaviors only. We extend the constraint acquisition learning framework, notably solving one of its major flaws: the dependency on a human user. It leads to PreCA, the first black-box approach enjoying clear theoretical guarantees. It makes PreCA especially suitable for development uses. Second, we consider the deobfuscation problem, which aims to simplify obfuscated code. Our proposal, Xyntia, synthesizes code block semantics through S-metaheuristics to offer an understandable version of the code. Xyntia significantly improves the state-of-the-art in terms of robustness and speed. In addition, we propose the two first protections efficient against black-box deobfuscation
APA, Harvard, Vancouver, ISO, and other styles
8

Furgeaud, Clarisse. "Effets cinétique et chimique lors des premiers stades de croissance de films minces métalliques : compréhension multi-échelle par une approche expérimentale et modélisation numérique." Thesis, Poitiers, 2019. http://www.theses.fr/2019POIT2298.

Full text
Abstract:
Cette thèse est consacrée au suivi de la dynamique de croissance de films minces métalliques par pulvérisation magnétron et sa corrélation avec les propriétés des films, telles que les contraintes résiduelles, la microstructure et la morphologie de surface. Différents outils de diagnostic in situ et en temps réel (courbure du substrat-MOSS, spectroscopie de réflectivité optique de surface-SDRS, diffraction (DRX) et réflectivité (XRR) des rayons X et résistivité électrique) couplés à des caractérisations ex situ (HRTEM, STEM, DRX, XRR, EBSD) ont permis d’appréhender l’influence des effets cinétiques et chimiques (réactivité interfaciale, effet d’alliage) sur les premiers stades de croissance (percolation et continuité) et l’évolution structurale et morphologique de films métalliques de haute (Cu, Ag) et faible (W) mobilité. Cette approche est couplée à des simulations atomistiques par Monte Carlo cinétique (kMC) donnant accès aux mécanismes élémentaires de croissance dans le cas du Cu. Ce code, construit et développé pour modéliser la croissance des films minces par pulvérisation magnétron, tient compte des spécificités de cette technique : distribution angulaire et énergétique du flux incident, dépôt d’énergie en (sub-)surface et évolution des contraintes aux joints de grains. Ce couplage expérimental et numérique a mis en évidence une interdépendance complexe de la vitesse de dépôt et du dépôt d’énergie sur la morphologie de croissance et les contraintes intrinsèques des films de Cu et Ag. La génération de contraintes dans ces systèmes résulte de la compétition de différents mécanismes atomiques. Le code kMC montre que la contrainte de compression due à la diffusion des adatomes dans les joints de grains diminue avec la vitesse de dépôt en l’absence de particules énergétiques. De plus, les effets chimiques étudiés comparativement dans les systèmes Cu/Ge et Ag/Ge ont mis en évidence une compétition entre énergie d’interface, réactivité chimique et ségrégation du Ge lors de la croissance. Si les mécanismes de croissance sont différents pour les deux métaux, la présence de Ge (en co-dépôt ou en sous-couche) mène aux mêmes conséquences microstructurales, à savoir une amélioration de la texture (111) et une diminution de la taille des grains et de la rugosité de surface. Enfin, cette méthodologie appliquée à la croissance d’alliages W-Si a montré une dépendance de l’épaisseur critique de la transition amorphe/cristal et de la compétition entre nucléation de la phase et en fonction de la teneur de Si
This thesis deals with the growth dynamics of thin metal films by magnetron sputtering and their correlation with film properties, such as residual stress, microstructure and surface morphology. Various in situ and real-time diagnostic tools (substrate curvature-MOSS, Optical surface reflectivity spectroscopy-SDRS, X-ray diffraction (XRD), X-ray reflectivity (XRR) and electrical resistivity) were implemented. Coupling these investigations with ex situ characterization (HRTEM, STEM, DRX, XRR, EBSD) allows to understand the influence of kinetic and chemical effects (interfacial reactivity, alloying effect) on the early stages of growth (percolation and continuity) but also on the structural and morphological evolutions of high (Cu, Ag) and low (W) mobility metal films. A modeling approach was used for the case of Cu growth, where kinetic Monte Carlo atomistic simulations (kMC) give access to elementary growth mechanisms. This code, developed in-house to model the growth of thin films by magnetron sputtering, takes into account the specificities of this technique: angular and energetic distribution of the incident flux, energy deposition in (sub-)surface and evolution of the stress at grain boundaries. This coupling of experiments and modelling has demonstrated a complex interdependence of the deposition rate and energy deposition on the growth morphology and the intrinsic stress of Cu and Ag films. The stress level in these systems results from the competition of different atomic mechanisms. The kMC code shows that, in the absence of energetic particles, the compressive stress due to the diffusion of adatoms in the grain boundaries decreases with the deposition rate.In addition, the chemical effects studied comparatively in the Cu/Ge and Ag/Ge systems revealed a competition between interface energy, chemical reactivity and Ge segregation during growth. The growth mechanisms are different for both metals however, the presence of Ge (co-deposited or sublayer) leads to the same microstructural consequences, namely an improvement of the texture (111) and a decrease of grain size and surface roughness.Finally, this methodology applied to the growth of W-Si alloys showed that the critical thickness of the amorphous / crystal transition and the nucleation of either the or the phase strongly depends on the Si content
APA, Harvard, Vancouver, ISO, and other styles
9

Saturnino, David. "Compréhension de la relation entre la structure physico-chimique et l’activité des catalyseurs d’HDS vieillis." Thesis, Lyon 1, 2014. http://www.theses.fr/2014LYO10070.

Full text
Abstract:
L'hydrodésulfuration (HDS) est un procédé majeur du raffinage pétrolier pour enlever le soufre des charges, typiquement avec un catalyseur CoMoS/Al2O3. Pendant un cycle du procédé d'HDS, la désactivation du catalyseur est due à trois causes principales : dépôt de coke, dépôt de métaux et ségrégation de la phase active. L'objectif de ce travail a été l'étude de l'effet du cokage et modifications de la phase active sur la désactivation du catalyseur d'HDS (de type CoMoS/Al2O3) appliqué à l'HDS des gazoles et la recherche des paramètres clés pour l'obtention d'un catalyseur usé comparable à celui issu de raffinerie. Des tests de vieillissement accéléré ont été réalisés avec différentes charges (différentes teneurs en aromatiques), couverture en hydrogène, durée et un pré-traitement de réduction. Après chaque test, les catalyseurs ont été caractérisés en termes de texture (méthodes BET et BJH), coke (Raman, IR, TPO, RPE, ToF-SIMS) et phase active (MET/EDX, XPS, TPR). En termes de texture et coke, une teneur élevée en aromatiques dans la charge et une couverture en hydrogène faible favorisent la formation de coke. Pour augmenter l'organisation du coke par rapport au catalyseur industriel, nous avons proposé un test plus long. En termes de phase active, une longue durée, couverture en hydrogène élevée et une pré-réduction favorisent plus d'hétérogénéité des teneurs en soufre et cobalt de la phase active et la formation d'agglomérats de sulfure de cobalt. La pré-réduction semble être efficace pour simuler l'exposition à des températures élevées pendant un cycle d'HDS, ce qui conduit à la ségrégation de la phase active, une caractéristique d'un catalyseur usé industriellement
Hydrodesulfurization (HDS) is a major process of petroleum refining for sulphur removal, where CoMoS/Al2O3 is the typical catalyst. During the cycle of a HDS process, deactivation of the catalyst is attributed to three main causes: coke deposition (with loss of pore volume), metals deposition and segregation of the active phase. The aim of this work was to study the effect of coking and active phase changes on the deactivation of the HDS catalyst (of CoMoS/Al2O3 type) applied to the HDS of a diesel feed and find the key operating conditions to obtain a spent catalyst comparable to the industrial one. Accelerated aging tests have been performed with different feedstocks (different amounts of aromatics), hydrogen to oil ratio, duration and a pre-reduction treatment. After each test, catalysts have been characterized in terms of texture (BET and BJH methods), coke (Raman, IR, TPO, EPR, ToF-SIMS) and active phase (TEM/EDX, XPS, TPR). In terms of texture and coke, a high amount of aromatics on the feedstock and low hydrogen to oil ratio favor the formation of coke. In order to increase the organization of graphitic coke, we have proposed a longer test. In terms of active phase, a long duration, high hydrogen to oil ratio and a pre-reduction treatment favor loss of dispersion of sulphur and cobalt contents of the active phase and formation of cobalt sulfide agglomerates. Pre-reduction seems to be an effective treatment to simulate the exposure to high temperatures during a HDS cycle which results in segregation of the active phase, a fingerprint of an industrial spent HDS catalyst
APA, Harvard, Vancouver, ISO, and other styles
10

Al-Msie'Deen, Ra'Fat. "Construction de lignes de produits logiciels par rétro-ingénierie de modèles de caractéristiques à partir de variantes de logiciels: l'approche REVPLINE." Phd thesis, Université Montpellier II - Sciences et Techniques du Languedoc, 2014. http://tel.archives-ouvertes.fr/tel-01015102.

Full text
Abstract:
La mise en place d'une ligne de produits logiciels permet de construire et de maintenir une famille de produits logiciels similaires en mettant en œuvre des principes de réutilisation. Ces principes favorisent la réduction de l'effort de développement et de maintenance, raccourcissent le temps de mise sur le marché et améliorent la qualité globale du logiciel. La migration de produits logiciels similaires vers une ligne de produits demande de comprendre leurs similitudes et leurs différences qui s'expriment sous forme de caractéristiques (features) offertes. Dans cette thèse, nous nous intéressons au problème de la construction d'une ligne de produits à partir du code source de ses produits et de certains artefacts complémentaires comme les diagrammes de cas d'utilisation, quand ils existent. Nous proposons des contributions sur l'une des étapes principales dans cette construction, qui consiste à extraire et à organiser un modèle de caractéristiques (feature model) dans un mode automatisé. La première contribution de cette thèse consiste à extraire des caractéristiques dans le code source de variantes de logiciels écrits dans le paradigme objet. Trois techniques sont mises en œuvre pour parvenir à cet objectif : l'Analyse Formelle de Concepts, l'Indexation Sémantique Latente et l'analyse des dépendances structurelles dans le code. Elles exploitent les parties communes et variables au niveau du code source. La seconde contribution s'attache à documenter une caractéristique extraite par un nom et une description. Elle exploite le code source mais également les diagrammes de cas d'utilisation, qui contiennent, en plus de l'organisation logique des fonctionnalités externes, des descriptions textuelles de ces mêmes fonctionnalités. En plus des techniques précédentes, elle s'appuie sur l'Analyse Relationnelle de Concepts afin de former des groupes d'entités d'après leurs relations. Dans la troisième contribution, nous proposons une approche visant à organiser les caractéristiques, une fois documentées, en un modèle de caractéristiques. Ce modèle de caractéristiques est un arbre étiqueté par des opérations et muni d'expressions logiques qui met en valeur les caractéristiques obligatoires, les caractéristiques optionnelles, des groupes de caractéristiques (groupes ET, OU, OU exclusif), et des contraintes complémentaires textuelles sous forme d'implications ou d'exclusions mutuelles. Ce modèle est obtenu en exploitant une structure obtenue par Analyse Formelle de Concepts appliquée à la description des variantes par les caractéristiques. L'approche est validée sur trois cas d'étude principaux : ArgoUML-SPL, Health complaint-SPL et Mobile media. Ces cas d'études sont déjà des lignes de produits constituées. Nous considérons plusieurs produits issus de ces lignes comme s'ils étaient des variantes de logiciels, nous appliquons notre approche, puis nous évaluons son efficacité par comparaison entre des modèles de caractéristiques extraits automatiquement par l'approche présentée et les modèles de caractéristiques initiaux (conçus par les développeurs des lignes de produits analysées).
APA, Harvard, Vancouver, ISO, and other styles
11

Lesieur, Vincent. "Invasion de la punaise américaine Leptoglossus occidentalis en Europe : une contribution à la compréhension des invasions fulgurantes." Thesis, Orléans, 2014. http://www.theses.fr/2014ORLE2045/document.

Full text
Abstract:
Les dernières décennies représentent un tournant majeur concernant les invasions biologiques avec une augmentation sans précédent de leur rythme et de leur ampleur, en lien direct avec les activités humaines, en particulier la mondialisation. Certains invasifs se propagent à une vitesse très rapide dans leur nouveau milieu. L’invasion européenne de la punaise Leptoglossus occidentalis, illustre parfaitement ce phénomène et offre un modèle d’étude particulièrement intéressant. Cette thèse a pour but de tester des hypothèses permettant d’expliquer la rapidité de cette invasion. Pour répondre à cet objectif, nous avons choisi d’utiliser une approche pluridisciplinaire combinant des études de génétique des populations (natives et introduites) à des études de biologie et d’écologie des populations invasives. Grâce à l’utilisation de marqueurs moléculaires et de méthodes Bayésiennes (ABC), nous démontrons que l’invasion en Europe suit un scénario " tête de pont ", au sens où la population invasive de l’Est de l’Amérique du Nord a servi de source pour l’invasion européenne. Nos résultats confirment les soupçons d’introductions multiples dans des zones géographiquement déconnectées. En outre, l’étude de génétique des populations, associée aux mesures expérimentales des capacités de vol, indique que les capacités intrinsèques de dispersion de cette espèce sont particulièrement élevées. Les conditions rencontrées en Europe par les populations introduites ne sont pas un frein à l’invasion. L’espèce s’accommode parfaitement des nouvelles essences de conifères rencontrées sur le continent. La polyphagie observée dans la zone native est confirmée dans la zone d’introduction européenne, constituant un atout pour l’établissement des populations. De plus, cette étude révèle les risques écologiques que cette espèce représente pour la flore native européenne. Les dégâts occasionnés semblent s’additionner à ceux des ravageurs natifs, diminuant ainsi le potentiel de régénération naturelle. L’ensemble de ces résultats constitue une contribution à la connaissance des mécanismes sous-tendant les invasions biologiques, notamment sur la rapidité de propagation de certains invasifs, et met l’accent sur des phénomènes sous-estimés il y a encore peu de temps comme le scénario d’invasion " tête de pont "
During the last decades, biological invasions were observed to increase exponentially, at an unprecedented rate and magnitude, in direct relation with the human activities, especially globalization. In this context, some invasive species spread very quickly in the area of introduction. The European invasion of Leptoglossus occidentalis is a good example of this phenomenon. This study aimed at testing some hypotheses to explain the rapidity of this invasion. To reach this goal, we used a multidisciplinary approach combining population genetics (analyzing samples from native and invaded areas) with a study of biological and ecological characteristics of the invasive populations. Through the use of molecular markers and Bayesian methods (ABC), we confirmed previous suspicions and demonstrated that the European invasion proceeded from multiple introductions in distant geographic areas. Our results also indicated that a primarily invaded area of Eastern North America acted as a bridgehead for the invasion in Europe. Moreover, population genetics, combined with an experimental measurement of the bug flight capabilities using flight mills, revealed that the intrinsic capacities of dispersion of this species are particularly high. The environmental conditions of the newly invaded areas in Europe did not constitute a barrier to the invasion of L. occidentalis. Its high degree of polyphagy was confirmed on European conifers, quite all species being susceptible to be exploited, thus favoring population establishment. . Furthermore, this study highlights the ecological threat represented by this insect which can affect the native flora in Europe. Actually, bug damage which can be important, seems to be additive to those of native insects exploiting cone and seed resources, thus decreasing the potential of natural regeneration. This work contributes to improve knowledge on biological invasions, especially to understand the reasons underlying the rapid spread observed in some invasive species, and highlights phenomenon underestimated until recently such as the Bridgehead scenario
APA, Harvard, Vancouver, ISO, and other styles
12

Lahdhiri, Ameni. "Compréhension des processus biologiques dans les bioréacteurs à membrane : choix d'un outil simplifié de simulation et identification des critères déterminant le contrôle des processus." Thesis, Montpellier, 2015. http://www.theses.fr/2015MONTS109.

Full text
Abstract:
Les bioréacteurs à membranes (BRM), combinant l’épuration biologique des eaux usées à une étape de séparation membranaire, ont montré de très bonnes performances en matière d’élimination de la pollution organique et azotée. Cependant, cette technologie présente des surcoûts de fonctionnement liés essentiellement à l’énergie dépensée pour fournir l’aération nécessaire à l’activité biologique mais utilisée aussi pour lutter contre les phénomènes de colmatage membranaire. Afin de réduire ces besoins énergétiques, un BRM dit autotrophe a été mis en place. Il est caractérisé par une alimentation à une charge organique faible, dont plus de 60% est éliminé par un traitement physico-chimique préalable. De ce fait, le BRM autotrophe assure principalement le traitement d’azote, qui peut être affecté par la limitation en carbone organique nécessaire à la réaction de dénitrification. Ce travail a pour objectif d’étudier le comportement d’un tel système et d’identifier les paramètres déterminants. L’étude a été conduite expérimentalement et par modélisation. Deux campagnes expérimentales ont été réalisées en régime permanent à des charges organiques et des âges de boues différents, suivies d’une expérimentation en régime transitoire provoqué par une montée de la charge en azote ammoniacal. Les résultats des campagnes ont montré qu’il est possible de baisser le rapport de DCO/N jusqu’à 4,5 et l’âge des boues à 40j sans pour autant perturber la dénitrification. Ces résultats ont été appuyés par une modélisation dynamique s’appuyant sur un modèle ASM3s-SMP qui a été développé ensuite calibré sur l’ensemble des résultats expérimentaux. L’analyse du phénomène du colmatage de la membrane au cours de l’expérimentation a montré une tendance au colmatage relativement faible par rapport aux BRM opérant dans des conditions usuelles (DCO/N>10). L’effet du nettoyage mécanique induit par l’ajout d’un matériau granulaire dans le module membranaire s’est avéré peu important dans les conditions étudiées. Une modélisation en régime permanent a permis de développer les expressions des grandeurs caractéristiques du fonctionnement du BRM. Après avoir été validées par des simulations conduites en utilisant le logiciel GPS-X®Hydromantis, ces équations ont permis, au moyen d’approches de modélisation différentes (modèle simple, ASM1 et ASM3), de repérer les paramètres opératoires et cinétiques les plus influents et de déterminer par des expressions analytiques le rapport DCO/N minimal requis pour une réaction de dénitrification complète
Membrane Bioreactors (MBR) as a combination of biological wastewater treatment and a membrane separation step, showed high performances for organic and nitrogen compounds removal. However, this technology has high running costs linked to energy consumption for aeration. The latter has to be provided for the biological activity and for the membrane scouring that reduces membrane fouling phenomena. In order to decrease these expenses, an MBR called autotrophic was set. It is marked by low organic loading rates due to a physicochemical treatment removing more than 60% of the initial organic matter amount. Mainly, the autotrophic MBR is dedicated to nitrogen removal that can be influenced by the shortage of the organic substrate, needed to achieve the denitrification process. The aim of this work is the investigation of the behavior of such system and the identification of most determining parameters. Experimental and modeling studies were carried out. Two steady state experimental campaigns were performed at different organic loading rates and solid retention times. They were followed by an experiment at transient state induced by the nitrogen loading rate rise. Obtained results proved that operation at a COD/N ratio as low as 4.5 did not hamper the denitrification efficiency. Those results were reinforced by a dynamic modeling study based on a model called ASM3s-SMP that was developed and calibrated using the experimental results. Membrane fouling analysis during experimental campaigns showed low fouling propensities compared to MBR operating at more common conditions (COD/N>10). The mechanical cleaning effect due to the addition of a granular material to the membrane module was found insignificant in the case of these operating conditions.A steady state modeling study helped determining mathematical expressions of different variables, yields and rates describing the system operation. After a validation step based on simulations with the use of the GPS-X®Hydromantis software, these expressions associated to different modeling approaches (simple model, ASM1 and ASM3) allowed pointing out the critical operating and kinetic criteria in addition to the minimum COD/N ratio required for a complete denitrification reaction
APA, Harvard, Vancouver, ISO, and other styles
13

André, Laura. "Étude de verrous scientifiques et technologiques pour la compréhension et l’optimisation du procédé de méthanisation voie sèche discontinu de sous-produits d’origine agricole." Thesis, Compiègne, 2016. http://www.theses.fr/2016COMP2279/document.

Full text
Abstract:
La digestion anaérobie en voie sèche représente une opportunité de développement de la méthanisation sur le territoire français au vu des gisements agricoles disponibles sur le territoire. Toutefois, l’importance des verrous scientifiques et technologiques de par leur nombre et leur complexité rend cette technologie non mature et peu développée sur le territoire français. Dans ces travaux de thèse, il a été étudié dans un premier axe la mise au point de la détermination de la demande chimique en oxygène (DCO) pour des substrats solides avec un kit commercial rendant celle-ci utilisable sans dilution des déchets et utilisant une faible quantité de réactifs. Cette méthode est un outil de suivi des installations. Un deuxième axe d’étude qui s’est attaché à l’étude de la phase d’acidification, verrou majeur de la méthanisation phase sèche, a démontré l’impact de la conservation et de l’origine des inocula sur leur capacité à gérer une phase d’acidification en présence de déchets facilement hydrolysables. L’inoculum est un paramètre majeur de la méthanisation voie sèche et est pourtant peu étudié. Un troisième axe de cette thèse concerne l’étude des transferts hydriques sur des substrats d’origine agricole par une méthodologie de traçage et de modélisation via le modèle à deux régions d’eau mobile et immobile. L’évolution des transferts hydriques a été étudiée au cours de la digestion anaérobie de fumier bovin en digesteur 60 L montrant une diminution de la perméabilité du massif après le deuxième pic de production de méthane. Par conséquent, tout l’inoculum recirculé passe par les côtés et non au sein du massif solide. Deux fréquences de recirculation ont été testées permettant d’obtenir une amélioration de la production de méthane d’environ 20 %. La caractérisation des transferts hydriques obtenus pour ces deux modalités sont identiques après 32 jours de dégradation anaérobie. Le gain de méthane obtenu se fait donc jusqu’au deuxième pic de production de biogaz par la recirculation. Les bilans hydriques et massiques effectués sur ces digesteurs 60 L démontrent que 36 % de la matière organique sont retrouvés dans le digestat montrant un procédé non optimisé. Le quatrième axe d’étude a été de comprendre et d’étudier la dynamique des populations méthanogènes au sein de digesteurs de méthanisation voie sèche de 60 L selon deux configurations. Des expérimentations modulant l’immersion du massif solide ont conduit à obtenir une amélioration de 13 % de production de méthane pour la condition favorisant l’immersion. Cette augmentation de production de méthane est induite par une plus forte quantité de Methanosarcinaceae. La dynamique des populations méthanogènes a été étudiée dans la phase solide et liquide au cours de la digestion anaérobie montrant un transfert microbien de la phase liquide à solide pour un ordre des bactéries hydrogénotrophes, une hiérarchie de ces « hydrogénotrophes » dans le milieu et un fort développement des « acétotrophes » dans le milieu solide servant de support. Dans un cinquième axe, la mise en oeuvre de la tomographie électrique sur un digesteur de 30 m3 a permis de valider son utilisation pour localiser la phase liquide, les zones de potentiels méthane et les zones dégradées dans un container en fonction des protocoles de remplissage et de vidange du digesteur. Cette méthode est disponible pour localiser les zones mortes et donc pour optimiser le procédé de méthanisation en voie sèche type batch. A travers ces expérimentations menées à différentes échelles et avec différentes problématiques, des méthodologies ont été adaptées pour la compréhension des mécanismes et le suivi du procédé de méthanisation par voie sèche
The dry anaerobic digestion (AD) process is an opportunity to develop the methanization in France. Agricultural waste is abundant in France. However, many scientific and technical locks are complex and must be solved to develop the dry anaerobic digestion process in France. In this work, the chemical oxygen demand (COD) method was adapted for solid waste no implying waste dilution or a high quantity of reagent. This COD method was available to monitor and manage the dry AD process. The study of acidification phase, a major lock of the dry AD process, showed that the storage condition and the origin of inoculum influence the capacity to manage this phase. The inoculum is a major parameter of the dry AD process. But, the inoculum is few studied.On another part of experiments concerned the water transfers studied on agricultural waste with a tracing method. The modeling of the elution curves to determine the diffusion and the convective transfers was made with a model with two Mobile-Immobile regions. The evolution of water transfers was studied during the AD cycle showing a decrease about the permeability of solid phase after the second peak of methane production. Thus, the inoculum passes on the board of solid phase. Two recirculations were tested allowing to obtain an improvement the methane production about 20 % after the AD cycle. The water transfers of these two recirculations modalities were identical after the AD cycle. The improvement of methane production occurred after the second peak of the methane production. Water and mass balances made showing that 36 % of organic matter was find in the digestat. Consequently, the process was not optimized. Others experiments modulating the immerged part of solid phase showed an improvement of the methane production about 13 % with the increasing of immerged part. This methane improvement was induced by the development of Methanosarcinaceae. The methanogens dynamics were studied in the liquid and solid phases during the AD process showing (i) a population transfer between the liquid phase to the solid phase, (ii) a hierarchy of hydrogenotrophs methanogens in the media, and (iii) a strong development of acetotrophs methanogens in the solid phase. In the final part, the electrical tomography was implemented in a dry AD batch at full scale (30 m3). This method was adapted to localize the liquid phase, the zones of methane potential and the degraded zones according to filling and the emptying protocols. This method can detect the “dead” zones of process in dry AD process.Though, experiments carried out at different scales and with different problematic and several methodologies were adapted to understand the dry AD process. Moreover, the optimization of dry AD process was finding to increase the methane production
APA, Harvard, Vancouver, ISO, and other styles
14

Jridi, Jamel Eddine. "Formulation interactive des requêtes pour l’analyse et la compréhension du code source." Thèse, 2010. http://hdl.handle.net/1866/4856.

Full text
Abstract:
Nous proposons une approche basée sur la formulation interactive des requêtes. Notre approche sert à faciliter des tâches d’analyse et de compréhension du code source. Dans cette approche, l’analyste utilise un ensemble de filtres de base (linguistique, structurel, quantitatif, et filtre d’interactivité) pour définir des requêtes complexes. Ces requêtes sont construites à l’aide d’un processus interactif et itératif, où des filtres de base sont choisis et exécutés, et leurs résultats sont visualisés, changés et combinés en utilisant des opérateurs prédéfinis. Nous avons évalués notre approche par l’implantation des récentes contributions en détection de défauts de conception ainsi que la localisation de fonctionnalités dans le code. Nos résultats montrent que, en plus d’être générique, notre approche aide à la mise en œuvre des solutions existantes implémentées par des outils automatiques.
We propose an interactive querying approach for program analysis and comprehension tasks. In our approach, an analyst uses a set of basic filters (linguistic, structural, quantitative, and user selection) to define complex queries. These queries are built following an interactive and iterative process where basic filters are selected and executed, and their results displayed, changed, and combined using predefined operators. We evaluated our querying approach by implementing recent state-of-the-art contributions on feature location and design defect detection. Our results show that, in addition to be generic; our approach helps improving existing solutions implemented by fully-automated tools.
APA, Harvard, Vancouver, ISO, and other styles
15

Abbes, Marwen. "An empirical study of the impact of two antipatterns on program comprehension." Thèse, 2010. http://hdl.handle.net/1866/4636.

Full text
Abstract:
Les antipatrons sont de “mauvaises” solutions à des problèmes récurrents de conception logicielle. Leur apparition est soit due à de mauvais choix lors de la phase de conception soit à des altérations et des changements continus durant l’implantation des programmes. Dans la littérature, il est généralement admis que les antipatrons rendent la compréhension des programmes plus difficile. Cependant, peu d’études empiriques ont été menées pour vérifier l’impact des antipatrons sur la compréhension. Dans le cadre de ce travail de maîtrise, nous avons conçu et mené trois expériences, avec 24 sujets chacune, dans le but de recueillir des données sur la performance des sujets lors de tâches de compréhension et d’évaluer l’impact de l’existence de deux antipatrons, Blob et Spaghetti Code, et de leurs combinaisons sur la compréhension des programmes. Nous avons mesuré les performances des sujets en terme : (1) du TLX (NASA task load index) pour l’éffort ; (2) du temps consacré à l’exécution des tâches ; et, (3) de leurs pourcentages de réponses correctes. Les données recueillies montrent que la présence d’un antipatron ne diminue pas sensiblement la performance des sujets alors que la combinaison de deux antipatrons les entrave de façon significative. Nous concluons que les développeurs peuvent faire face à un seul antipatron, alors que la combinaison de plusieurs antipatrons devrait être évitée, éventuellement par le biais de détection et de réusinage.
Antipatterns are “poor” solutions to recurring design problems which are conjectured in the literature to make object-oriented systems harder to maintain. However, little quantitative evidence exists to support this conjecture. We performed an empirical study to investigate whether the occurrence of antipatterns does indeed affect the understandability of systems by developers during comprehension and maintenance tasks. We designed and conducted three experiments, each with 24 subjects, to collect data on the performance of these subjects on basic tasks related to program comprehension and assess the impact of two antipatterns and their combinations: Blob and Spaghetti Code. We measured the subjects’ performance with: (1) TLX (NASA task load index) for their effort; (2) the time that they spent performing their tasks; and, (3) their percentages of correct answers. The collected data shows that the occurrence of one antipattern does not significantly decrease developers’ performance while the combination of two antipatterns impedes developers significantly. We conclude that developers can cope with one antipattern but that combinations thereof should be avoided possibly through detection and refactorings.
APA, Harvard, Vancouver, ISO, and other styles
16

Maiga, Abdou. "Impacts and Detection of Design Smells." Thèse, 2012. http://hdl.handle.net/1866/8878.

Full text
Abstract:
Les changements sont faits de façon continue dans le code source des logiciels pour prendre en compte les besoins des clients et corriger les fautes. Les changements continus peuvent conduire aux défauts de code et de conception. Les défauts de conception sont des mauvaises solutions à des problèmes récurrents de conception ou d’implémentation, généralement dans le développement orienté objet. Au cours des activités de compréhension et de changement et en raison du temps d’accès au marché, du manque de compréhension, et de leur expérience, les développeurs ne peuvent pas toujours suivre les normes de conception et les techniques de codage comme les patrons de conception. Par conséquent, ils introduisent des défauts de conception dans leurs systèmes. Dans la littérature, plusieurs auteurs ont fait valoir que les défauts de conception rendent les systèmes orientés objet plus difficile à comprendre, plus sujets aux fautes, et plus difficiles à changer que les systèmes sans les défauts de conception. Pourtant, seulement quelques-uns de ces auteurs ont fait une étude empirique sur l’impact des défauts de conception sur la compréhension et aucun d’entre eux n’a étudié l’impact des défauts de conception sur l’effort des développeurs pour corriger les fautes. Dans cette thèse, nous proposons trois principales contributions. La première contribution est une étude empirique pour apporter des preuves de l’impact des défauts de conception sur la compréhension et le changement. Nous concevons et effectuons deux expériences avec 59 sujets, afin d’évaluer l’impact de la composition de deux occurrences de Blob ou deux occurrences de spaghetti code sur la performance des développeurs effectuant des tâches de compréhension et de changement. Nous mesurons la performance des développeurs en utilisant: (1) l’indice de charge de travail de la NASA pour leurs efforts, (2) le temps qu’ils ont passé dans l’accomplissement de leurs tâches, et (3) les pourcentages de bonnes réponses. Les résultats des deux expériences ont montré que deux occurrences de Blob ou de spaghetti code sont un obstacle significatif pour la performance des développeurs lors de tâches de compréhension et de changement. Les résultats obtenus justifient les recherches antérieures sur la spécification et la détection des défauts de conception. Les équipes de développement de logiciels doivent mettre en garde les développeurs contre le nombre élevé d’occurrences de défauts de conception et recommander des refactorisations à chaque étape du processus de développement pour supprimer ces défauts de conception quand c’est possible. Dans la deuxième contribution, nous étudions la relation entre les défauts de conception et les fautes. Nous étudions l’impact de la présence des défauts de conception sur l’effort nécessaire pour corriger les fautes. Nous mesurons l’effort pour corriger les fautes à l’aide de trois indicateurs: (1) la durée de la période de correction, (2) le nombre de champs et méthodes touchés par la correction des fautes et (3) l’entropie des corrections de fautes dans le code-source. Nous menons une étude empirique avec 12 défauts de conception détectés dans 54 versions de quatre systèmes: ArgoUML, Eclipse, Mylyn, et Rhino. Nos résultats ont montré que la durée de la période de correction est plus longue pour les fautes impliquant des classes avec des défauts de conception. En outre, la correction des fautes dans les classes avec des défauts de conception fait changer plus de fichiers, plus les champs et des méthodes. Nous avons également observé que, après la correction d’une faute, le nombre d’occurrences de défauts de conception dans les classes impliquées dans la correction de la faute diminue. Comprendre l’impact des défauts de conception sur l’effort des développeurs pour corriger les fautes est important afin d’aider les équipes de développement pour mieux évaluer et prévoir l’impact de leurs décisions de conception et donc canaliser leurs efforts pour améliorer la qualité de leurs systèmes. Les équipes de développement doivent contrôler et supprimer les défauts de conception de leurs systèmes car ils sont susceptibles d’augmenter les efforts de changement. La troisième contribution concerne la détection des défauts de conception. Pendant les activités de maintenance, il est important de disposer d’un outil capable de détecter les défauts de conception de façon incrémentale et itérative. Ce processus de détection incrémentale et itérative pourrait réduire les coûts, les efforts et les ressources en permettant aux praticiens d’identifier et de prendre en compte les occurrences de défauts de conception comme ils les trouvent lors de la compréhension et des changements. Les chercheurs ont proposé des approches pour détecter les occurrences de défauts de conception, mais ces approches ont actuellement quatre limites: (1) elles nécessitent une connaissance approfondie des défauts de conception, (2) elles ont une précision et un rappel limités, (3) elles ne sont pas itératives et incrémentales et (4) elles ne peuvent pas être appliquées sur des sous-ensembles de systèmes. Pour surmonter ces limitations, nous introduisons SMURF, une nouvelle approche pour détecter les défauts de conception, basé sur une technique d’apprentissage automatique — machines à vecteur de support — et prenant en compte les retours des praticiens. Grâce à une étude empirique portant sur trois systèmes et quatre défauts de conception, nous avons montré que la précision et le rappel de SMURF sont supérieurs à ceux de DETEX et BDTEX lors de la détection des occurrences de défauts de conception. Nous avons également montré que SMURF peut être appliqué à la fois dans les configurations intra-système et inter-système. Enfin, nous avons montré que la précision et le rappel de SMURF sont améliorés quand on prend en compte les retours des praticiens.
Changes are continuously made in the source code to take into account the needs of the customers and fix the faults. Continuous change can lead to antipatterns and code smells, collectively called “design smells” to occur in the source code. Design smells are poor solutions to recurring design or implementation problems, typically in object-oriented development. During comprehension and changes activities and due to the time-to-market, lack of understanding, and the developers’ experience, developers cannot always follow standard designing and coding techniques, i.e., design patterns. Consequently, they introduce design smells in their systems. In the literature, several authors claimed that design smells make object-oriented software systems more difficult to understand, more fault-prone, and harder to change than systems without such design smells. Yet, few of these authors empirically investigate the impact of design smells on software understandability and none of them authors studied the impact of design smells on developers’ effort. In this thesis, we propose three principal contributions. The first contribution is an empirical study to bring evidence of the impact of design smells on comprehension and change. We design and conduct two experiments with 59 subjects, to assess the impact of the composition of two Blob or two Spaghetti Code on the performance of developers performing comprehension and change tasks. We measure developers’ performance using: (1) the NASA task load index for their effort; (2) the time that they spent performing their tasks; and, (3) their percentages of correct answers. The results of the two experiments showed that two occurrences of Blob or Spaghetti Code design smells impedes significantly developers performance during comprehension and change tasks. The obtained results justify a posteriori previous researches on the specification and detection of design smells. Software development teams should warn developers against high number of occurrences of design smells and recommend refactorings at each step of the development to remove them when possible. In the second contribution, we investigate the relation between design smells and faults in classes from the point of view of developers who must fix faults. We study the impact of the presence of design smells on the effort required to fix faults, which we measure using three metrics: (1) the duration of the fixing period; (2) the number of fields and methods impacted by fault-fixes; and, (3) the entropy of the fault-fixes in the source code. We conduct an empirical study with 12 design smells detected in 54 releases of four systems: ArgoUML, Eclipse, Mylyn, and Rhino. Our results showed that the duration of the fixing period is longer for faults involving classes with design smells. Also, fixing faults in classes with design smells impacts more files, more fields, and more methods. We also observed that after a fault is fixed, the number of occurrences of design smells in the classes involved in the fault decreases. Understanding the impact of design smells on development effort is important to help development teams better assess and forecast the impact of their design decisions and therefore lead their effort to improve the quality of their software systems. Development teams should monitor and remove design smells from their software systems because they are likely to increase the change efforts. The third contribution concerns design smells detection. During maintenance and evolution tasks, it is important to have a tool able to detect design smells incrementally and iteratively. This incremental and iterative detection process could reduce costs, effort, and resources by allowing practitioners to identify and take into account occurrences of design smells as they find them during comprehension and change. Researchers have proposed approaches to detect occurrences of design smells but these approaches have currently four limitations: (1) they require extensive knowledge of design smells; (2) they have limited precision and recall; (3) they are not incremental; and (4) they cannot be applied on subsets of systems. To overcome these limitations, we introduce SMURF, a novel approach to detect design smells, based on a machine learning technique—support vector machines—and taking into account practitioners’ feedback. Through an empirical study involving three systems and four design smells, we showed that the accuracy of SMURF is greater than that of DETEX and BDTEX when detecting design smells occurrences. We also showed that SMURF can be applied in both intra-system and inter-system configurations. Finally, we reported that SMURF accuracy improves when using practitioners’ feedback.
APA, Harvard, Vancouver, ISO, and other styles
17

Beaudry, Marie-Christine. "Recherche théorique sur le rôle de l'interprétation dans la lecture littéraire en contexte scolaire." Thèse, 2007. http://hdl.handle.net/1866/18267.

Full text
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography