9 resultados para code analysis

em Universit


Relevância:

70.00% 70.00%

Publicador:

Resumo:

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.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Les langages de programmation typés dynamiquement tels que JavaScript et Python repoussent la vérification de typage jusqu’au moment de l’exécution. Afin d’optimiser la performance de ces langages, les implémentations de machines virtuelles pour langages dynamiques doivent tenter d’éliminer les tests de typage dynamiques redondants. Cela se fait habituellement en utilisant une analyse d’inférence de types. Cependant, les analyses de ce genre sont souvent coûteuses et impliquent des compromis entre le temps de compilation et la précision des résultats obtenus. Ceci a conduit à la conception d’architectures de VM de plus en plus complexes. Nous proposons le versionnement paresseux de blocs de base, une technique de compilation à la volée simple qui élimine efficacement les tests de typage dynamiques redondants sur les chemins d’exécution critiques. Cette nouvelle approche génère paresseusement des versions spécialisées des blocs de base tout en propageant de l’information de typage contextualisée. Notre technique ne nécessite pas l’utilisation d’analyses de programme coûteuses, n’est pas contrainte par les limitations de précision des analyses d’inférence de types traditionnelles et évite la complexité des techniques d’optimisation spéculatives. Trois extensions sont apportées au versionnement de blocs de base afin de lui donner des capacités d’optimisation interprocédurale. Une première extension lui donne la possibilité de joindre des informations de typage aux propriétés des objets et aux variables globales. Puis, la spécialisation de points d’entrée lui permet de passer de l’information de typage des fonctions appellantes aux fonctions appellées. Finalement, la spécialisation des continuations d’appels permet de transmettre le type des valeurs de retour des fonctions appellées aux appellants sans coût dynamique. Nous démontrons empiriquement que ces extensions permettent au versionnement de blocs de base d’éliminer plus de tests de typage dynamiques que toute analyse d’inférence de typage statique.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Analyser le code permet de vérifier ses fonctionnalités, détecter des bogues ou améliorer sa performance. L’analyse du code peut être statique ou dynamique. Des approches combinants les deux analyses sont plus appropriées pour les applications de taille industrielle où l’utilisation individuelle de chaque approche ne peut fournir les résultats souhaités. Les approches combinées appliquent l’analyse dynamique pour déterminer les portions à problèmes dans le code et effectuent par la suite une analyse statique concentrée sur les parties identifiées. Toutefois les outils d’analyse dynamique existants génèrent des données imprécises ou incomplètes, ou aboutissent en un ralentissement inacceptable du temps d’exécution. Lors de ce travail, nous nous intéressons à la génération de graphes d’appels dynamiques complets ainsi que d’autres informations nécessaires à la détection des portions à problèmes dans le code. Pour ceci, nous faisons usage de la technique d’instrumentation dynamique du bytecode Java pour extraire l’information sur les sites d’appels, les sites de création d’objets et construire le graphe d’appel dynamique du programme. Nous démontrons qu’il est possible de profiler dynamiquement une exécution complète d’une application à temps d’exécution non triviale, et d’extraire la totalité de l’information à un coup raisonnable. Des mesures de performance de notre profileur sur trois séries de benchmarks à charges de travail diverses nous ont permis de constater que la moyenne du coût de profilage se situe entre 2.01 et 6.42. Notre outil de génération de graphes dynamiques complets, nommé dyko, constitue également une plateforme extensible pour l’ajout de nouvelles approches d’instrumentation. Nous avons testé une nouvelle technique d’instrumentation des sites de création d’objets qui consiste à adapter les modifications apportées par l’instrumentation au bytecode de chaque méthode. Nous avons aussi testé l’impact de la résolution des sites d’appels sur la performance générale du profileur.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

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.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

"Mémoire présenté à la faculté des études supérieures en vue de l'obtention du grade de maîtrise en droit des affaires LLM"

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Ce mémoire propose d’étudier les représentations de la masculinité dans les vidéoclips de musique populaire. Il consiste plus précisément en une analyse textuelle de vidéoclips suivant l’approche sémiologique. La représentation y est entendue comme un processus d’attribution de sens, agissant dans la construction sociale de la masculinité. Selon une méthode qualitative, il est premièrement question de cerner et, ultérieurement, explorer les principaux schémas de la masculinité dans un corpus de 29 vidéoclips sélectionné auprès de la chaîne québécoise Musique Plus. L’observation des codes visuels est centrale à cette entreprise, l’articulation de ces derniers permettant la prolifération d’expressions du genre masculin. Partant du point de vue que des attributs, notamment la force et l’invulnérabilité, apparaissent comme typiquement masculins au sein de certaines représentations, il sera question de confronter cette idée aux trois scénarios majeurs ayant émané du corpus ; l’homme-enfant, l’introspectif et le meneur, indiquant tous trois la récente montée des représentations d’une masculinité vulnérable en musique populaire. Les constats qui résulteront de cette exploration seront finalement recadrés dans l’actuel cadre social, où le masculin et le féminin sont de moins en moins enclos dans les moules traditionnels et tendent à se redéfinir sur une nouvelle matrice.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

Traditionnellement, les applications orientées objets légataires intègrent différents aspects fonctionnels. Ces aspects peuvent être dispersés partout dans le code. Il existe différents types d’aspects : • des aspects qui représentent des fonctionnalités métiers ; • des aspects qui répondent à des exigences non fonctionnelles ou à d’autres considérations de conception comme la robustesse, la distribution, la sécurité, etc. Généralement, le code qui représente ces aspects chevauche plusieurs hiérarchies de classes. Plusieurs chercheurs se sont intéressés à la problématique de la modularisation de ces aspects dans le code : programmation orientée sujets, programmation orientée aspects et programmation orientée vues. Toutes ces méthodes proposent des techniques et des outils pour concevoir des applications orientées objets sous forme de composition de fragments de code qui répondent à différents aspects. La séparation des aspects dans le code a des avantages au niveau de la réutilisation et de la maintenance. Ainsi, il est important d’identifier et de localiser ces aspects dans du code légataire orienté objets. Nous nous intéressons particulièrement aux aspects fonctionnels. En supposant que le code qui répond à un aspect fonctionnel ou fonctionnalité exhibe une certaine cohésion fonctionnelle (dépendances entre les éléments), nous proposons d’identifier de telles fonctionnalités à partir du code. L’idée est d’identifier, en l’absence des paradigmes de la programmation par aspects, les techniques qui permettent l’implémentation des différents aspects fonctionnels dans un code objet. Notre approche consiste à : • identifier les techniques utilisées par les développeurs pour intégrer une fonctionnalité en l’absence des techniques orientées aspects • caractériser l’empreinte de ces techniques sur le code • et développer des outils pour identifier ces empreintes. Ainsi, nous présentons deux approches pour l’identification des fonctionnalités existantes dans du code orienté objets. La première identifie différents patrons de conception qui permettent l’intégration de ces fonctionnalités dans le code. La deuxième utilise l’analyse formelle de concepts pour identifier les fonctionnalités récurrentes dans le code. Nous expérimentons nos deux approches sur des systèmes libres orientés objets pour identifier les différentes fonctionnalités dans le code. Les résultats obtenus montrent l’efficacité de nos approches pour identifier les différentes fonctionnalités dans du code légataire orienté objets et permettent de suggérer des cas de refactorisation.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

La révision du code est un procédé essentiel quelque soit la maturité d'un projet; elle cherche à évaluer la contribution apportée par le code soumis par les développeurs. En principe, la révision du code améliore la qualité des changements de code (patches) avant qu'ils ne soient validés dans le repertoire maître du projet. En pratique, l'exécution de ce procédé n'exclu pas la possibilité que certains bugs passent inaperçus. Dans ce document, nous présentons une étude empirique enquétant la révision du code d'un grand projet open source. Nous investissons les relations entre les inspections des reviewers et les facteurs, sur les plans personnel et temporel, qui pourraient affecter la qualité de telles inspections.Premiérement, nous relatons une étude quantitative dans laquelle nous utilisons l'algorithme SSZ pour détecter les modifications et les changements de code favorisant la création de bogues (bug-inducing changes) que nous avons lié avec l'information contenue dans les révisions de code (code review information) extraites du systéme de traçage des erreurs (issue tracking system). Nous avons découvert que les raisons pour lesquelles les réviseurs manquent certains bogues était corrélées autant à leurs caractéristiques personnelles qu'aux propriétés techniques des corrections en cours de revue. Ensuite, nous relatons une étude qualitative invitant les développeurs de chez Mozilla à nous donner leur opinion concernant les attributs favorables à la bonne formulation d'une révision de code. Les résultats de notre sondage suggèrent que les développeurs considèrent les aspects techniques (taille de la correction, nombre de chunks et de modules) autant que les caractéristiques personnelles (l'expérience et review queue) comme des facteurs influant fortement la qualité des revues de code.

Relevância:

30.00% 30.00%

Publicador:

Resumo:

L’objectif de cette thèse est d’analyser et de comprendre la dynamique de la controverse autour de l’adoption en 2009 du code des personnes et de la famille au Mali. Elle s’intéresse particulièrement aux principaux enjeux, c'est-à-dire aux questions à l’origine de cette controverse ainsi qu’aux stratégies mises en place par les différents acteurs sociaux (les organisations islamiques et leurs alliés, d’une part, et d’autre part, les organisations féminines et les leurs) afin d’infléchir le processus. En plus du pourquoi et du comment de cette controverse, notre recherche visait à comprendre le bilan du processus tiré par les acteurs eux-mêmes, le sentiment qui les anime à l’issu de ce long processus, leur appréciation de leur expérience, et leur vision de l’avenir. Pour étudier cette problématique, nous avons choisi l’approche de l’action collective protestataire, laquelle s’inspire à la fois des théories de l’action collective, et de celles des mouvements sociaux et des dynamiques contestataires. Afin d’analyser les enjeux au cœur de cette controverse, les stratégies utilisées par les acteurs ainsi que leur bilan du processus, nous avons opté pour une démarche qualitative. En plus de la littérature grise, des articles de presse, documents audio et audiovisuels sur le sujet, notre travail de terrain de quatre mois dans la capitale malienne nous a permis de réaliser plusieurs entrevues auprès des acteurs impliqués dans ce processus. S’étendant de 1996 à 2011, soit seize ans, l’élaboration du code des personnes et de la famille au Mali fut un processus long, complexe, inhabituel et controversé. Les résultats de notre recherche révèlent que plusieurs enjeux, notamment sociaux, étaient au cœur de cette controverse : le «devoir d’obéissance » de la femme à son mari, la légalisation du mariage religieux, l’« égalité » entre fille et garçon en matière d’héritage et de succession et la reconnaissance de l’enfant naturel ont été les questions qui ont suscité le plus de débats. Si durant tout le processus, les questions relatives à l’égalité de genre, au respect des droits de la femme et de l’enfant, étaient les arguments défendus par les organisations féminines et leurs alliés, celles relatives au respect des valeurs religieuses (islamiques), sociétales ou socioculturelles maliennes étaient, par contre, mises de l’avant par les organisations islamiques et leurs alliés. Ainsi, si le discours des OSC féminines portait essentiellement sur le « respect de l’égalité des sexes » conformément aux engagements internationaux signés par le Mali, celui des OSC islamiques s’est, en revanche, centré sur le « respect des valeurs islamiques et socioculturelles » du Mali. Quant aux canaux de communication, les OSC féminines se sont focalisées sur les canaux classiques comme la presse, les radios, les conférences, entre autres. Les OSC islamiques ont également utilisé ces canaux, mais elles se sont distinguées des OSC féminines en utilisant aussi les prêches. Organisés généralement dans les mosquées et autres espaces désignés à cet effet, ces prêches ont consacré la victoire des OSC islamiques. Les radios islamiques ont joué elles aussi un rôle important dans la transmission de leurs messages. Pour ce qui est des stratégies d’actions, l’action collective qui a changé la donne en faveur des OSC islamiques (renvoi du code en seconde lecture, prise en compte de leurs idées), a été le meeting du 22 août 2009 à Bamako, précédé de marches de protestation dans la capitale nationale et toutes les capitales régionales du pays. Quant aux OSC féminines, elles n’ont mené que quelques actions classiques (ou habituelle) comme les pétitions, le plaidoyer-lobbying, les conférences-débats, au point que certains observateurs ont parlé de « stratégie d’inaction » chez elles. L’analyse a également révélé l’utilisation de stratégies inusitées de menaces et d’intimidation par certains acteurs du camp des OSC islamiques à l’endroit des partisans du code. Si chaque groupe d’acteurs a noué des alliances avec des acteurs locaux, les OSC féminines sont les seules à reconnaitre des alliances avec les acteurs extérieurs. Aujourd’hui, si la plupart des membres des OSC islamiques ne cachent pas leur satisfaction face à leur « victoire » et se présentent en « sauveur de la nation malienne », la plupart des membres des OSC féminines se disent, quant à elles, très « déçues » et « indignées » face à l’adoption du code actuel. Elles ne comprennent pas pourquoi d’un « code progressiste », le Mali s’est retrouvé avec un « code rétrograde et discriminatoire » envers les femmes. La thèse confirme non seulement la difficile conciliation entre droit coutumier, loi islamique et droit « moderne », mais également l’idée que le droit demeure l’expression des rapports de pouvoir et de domination. Enfin, notre recherche confirme la désormais incontournable influence des acteurs religieux sur le processus d’élaboration des politiques publiques au Mali.