774 resultados para computer programmes


Relevância:

20.00% 20.00%

Publicador:

Resumo:

Le développement du logiciel actuel doit faire face de plus en plus à la complexité de programmes gigantesques, élaborés et maintenus par de grandes équipes réparties dans divers lieux. Dans ses tâches régulières, chaque intervenant peut avoir à répondre à des questions variées en tirant des informations de sources diverses. Pour améliorer le rendement global du développement, nous proposons d'intégrer dans un IDE populaire (Eclipse) notre nouvel outil de visualisation (VERSO) qui calcule, organise, affiche et permet de naviguer dans les informations de façon cohérente, efficace et intuitive, afin de bénéficier du système visuel humain dans l'exploration de données variées. Nous proposons une structuration des informations selon trois axes : (1) le contexte (qualité, contrôle de version, bogues, etc.) détermine le type des informations ; (2) le niveau de granularité (ligne de code, méthode, classe, paquetage) dérive les informations au niveau de détails adéquat ; et (3) l'évolution extrait les informations de la version du logiciel désirée. Chaque vue du logiciel correspond à une coordonnée discrète selon ces trois axes, et nous portons une attention toute particulière à la cohérence en naviguant entre des vues adjacentes seulement, et ce, afin de diminuer la charge cognitive de recherches pour répondre aux questions des utilisateurs. Deux expériences valident l'intérêt de notre approche intégrée dans des tâches représentatives. Elles permettent de croire qu'un accès à diverses informations présentées de façon graphique et cohérente devrait grandement aider le développement du logiciel contemporain.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La documentation des programmes aide les développeurs à mieux comprendre le code source pendant les tâches de maintenance. Toutefois, la documentation n’est pas toujours disponible ou elle peut être de mauvaise qualité. Le recours à la redocumentation s’avère ainsi nécessaire. Dans ce contexte, nous proposons de faire la redocumentation en générant des commentaires par application de techniques de résumé par extraction. Pour mener à bien cette tâche, nous avons commencé par faire une étude empirique pour étudier les aspects quantitatifs et qualitatifs des commentaires. En particulier, nous nous sommes intéressés à l’étude de la distribution des commentaires par rapport aux différents types d’instructions et à la fréquence de documentation de chaque type. Aussi, nous avons proposé une taxonomie de commentaires pour classer les commentaires selon leur contenu et leur qualité. Suite aux résultats de l’étude empirique, nous avons décidé de résumer les classes Java par extraction des commentaires des méthodes/constructeurs. Nous avons défini plusieurs heuristiques pour déterminer les commentaires les plus pertinents à l’extraction. Ensuite, nous avons appliqué ces heuristiques sur les classes Java de trois projets pour en générer les résumés. Enfin, nous avons comparé les résumés produits (les commentaires produits) à des résumés références (les commentaires originaux) en utilisant la métrique ROUGE.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Thèse numérisée par la Division de la gestion de documents et des archives de l'Université de Montréal

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Mémoire numérisé par la Division de la gestion de documents et des archives de l'Université de Montréal

Relevância:

20.00% 20.00%

Publicador:

Resumo:

De nos jours, les applications de grande taille sont développées à l’aide de nom- breux cadres d’applications (frameworks) et intergiciels (middleware). L’utilisation ex- cessive d’objets temporaires est un problème de performance commun à ces applications. Ce problème est appelé “object churn”. Identifier et comprendre des sources d’“object churn” est une tâche difficile et laborieuse, en dépit des récentes avancées dans les tech- niques d’analyse automatiques. Nous présentons une approche visuelle interactive conçue pour aider les développeurs à explorer rapidement et intuitivement le comportement de leurs applications afin de trouver les sources d’“object churn”. Nous avons implémenté cette technique dans Vasco, une nouvelle plate-forme flexible. Vasco se concentre sur trois principaux axes de con- ception. Premièrement, les données à visualiser sont récupérées dans les traces d’exécu- tion et analysées afin de calculer et de garder seulement celles nécessaires à la recherche des sources d’“object churn”. Ainsi, des programmes de grande taille peuvent être vi- sualisés tout en gardant une représentation claire et compréhensible. Deuxièmement, l’utilisation d’une représentation intuitive permet de minimiser l’effort cognitif requis par la tâche de visualisation. Finalement, la fluidité des transitions et interactions permet aux utilisateurs de garder des informations sur les actions accomplies. Nous démontrons l’efficacité de l’approche par l’identification de sources d’“object churn” dans trois ap- plications utilisant intensivement des cadres d’applications framework-intensive, inclu- ant un système commercial.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Les structures avec des lieurs sont très communes en informatique. Les langages de programmation et les systèmes logiques sont des exemples de structures avec des lieurs. La manipulation de lieurs est délicate, de sorte que l’écriture de programmes qui ma- nipulent ces structures tirerait profit d’un soutien spécifique pour les lieurs. L’environ- nement de programmation Beluga est un exemple d’un tel système. Nous développons et présentons ici un compilateur pour ce système. Parmi les programmes pour lesquels Beluga est spécialement bien adapté, plusieurs peuvent bénéficier d’un compilateur. Par exemple, les programmes pour valider les types (les "type-checkers"), les compilateurs et les interpréteurs tirent profit du soutien spécifique des lieurs et des types dépendants présents dans le langage. Ils nécessitent tous également une exécution efficace, que l’on propose d’obtenir par le biais d’un compilateur. Le but de ce travail est de présenter un nouveau compilateur pour Beluga, qui emploie une représentation interne polyvalente et permet de partager du code entre plusieurs back-ends. Une contribution notable est la compilation du filtrage de Beluga, qui est particulièrement puissante dans ce langage.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Travail d'intégration réalisé dans le cadre du cours PHT-6113.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Un objectif principal du génie logiciel est de pouvoir produire des logiciels complexes, de grande taille et fiables en un temps raisonnable. La technologie orientée objet (OO) a fourni de bons concepts et des techniques de modélisation et de programmation qui ont permis de développer des applications complexes tant dans le monde académique que dans le monde industriel. Cette expérience a cependant permis de découvrir les faiblesses du paradigme objet (par exemples, la dispersion de code et le problème de traçabilité). La programmation orientée aspect (OA) apporte une solution simple aux limitations de la programmation OO, telle que le problème des préoccupations transversales. Ces préoccupations transversales se traduisent par la dispersion du même code dans plusieurs modules du système ou l’emmêlement de plusieurs morceaux de code dans un même module. Cette nouvelle méthode de programmer permet d’implémenter chaque problématique indépendamment des autres, puis de les assembler selon des règles bien définies. La programmation OA promet donc une meilleure productivité, une meilleure réutilisation du code et une meilleure adaptation du code aux changements. Très vite, cette nouvelle façon de faire s’est vue s’étendre sur tout le processus de développement de logiciel en ayant pour but de préserver la modularité et la traçabilité, qui sont deux propriétés importantes des logiciels de bonne qualité. Cependant, la technologie OA présente de nombreux défis. Le raisonnement, la spécification, et la vérification des programmes OA présentent des difficultés d’autant plus que ces programmes évoluent dans le temps. Par conséquent, le raisonnement modulaire de ces programmes est requis sinon ils nécessiteraient d’être réexaminés au complet chaque fois qu’un composant est changé ou ajouté. Il est cependant bien connu dans la littérature que le raisonnement modulaire sur les programmes OA est difficile vu que les aspects appliqués changent souvent le comportement de leurs composantes de base [47]. Ces mêmes difficultés sont présentes au niveau des phases de spécification et de vérification du processus de développement des logiciels. Au meilleur de nos connaissances, la spécification modulaire et la vérification modulaire sont faiblement couvertes et constituent un champ de recherche très intéressant. De même, les interactions entre aspects est un sérieux problème dans la communauté des aspects. Pour faire face à ces problèmes, nous avons choisi d’utiliser la théorie des catégories et les techniques des spécifications algébriques. Pour apporter une solution aux problèmes ci-dessus cités, nous avons utilisé les travaux de Wiels [110] et d’autres contributions telles que celles décrites dans le livre [25]. Nous supposons que le système en développement est déjà décomposé en aspects et classes. La première contribution de notre thèse est l’extension des techniques des spécifications algébriques à la notion d’aspect. Deuxièmement, nous avons défini une logique, LA , qui est utilisée dans le corps des spécifications pour décrire le comportement de ces composantes. La troisième contribution consiste en la définition de l’opérateur de tissage qui correspond à la relation d’interconnexion entre les modules d’aspect et les modules de classe. La quatrième contribution concerne le développement d’un mécanisme de prévention qui permet de prévenir les interactions indésirables dans les systèmes orientés aspect.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

Dans un contexte où les virus informatiques présentent un risque sérieux pour les réseaux à travers le globe, il est impératif de retenir la responsabilité des compagnies qui n’y maintiennent pas une sécurité adéquate. À ce jour, les tribunaux québécois n’ont pas encore été saisis d’affaires en responsabilité pour des virus informatiques. Cet article brosse un portrait général de la responsabilité entourant les virus informatiques en fonction des principes généraux de responsabilité civile en vigueur au Québec. L’auteur propose des solutions pour interpréter les trois critères traditionnels ­ la faute, le dommage et le lien causal ­ en mettant l’accent sur l’obligation de précaution qui repose sur les épaules de l’administrateur de réseau. Ce joueur clé pourrait bénéficier de l’adoption de dispositions générales afin de limiter sa responsabilité. De plus, les manufacturiers et les distributeurs peuvent également partager une partie de la responsabilité en proportion de la gravité de leur faute. Les entreprises ont un devoir légal de s’assurer que leurs systèmes sont sécuritaires afin de protéger les intérêts de leurs clients et des tiers.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

L’utilisation d’Internet prend beaucoup d’ampleur depuis quelques années et le commerce électronique connaît une hausse considérable. Nous pouvons présentement acheter facilement via Internet sans quitter notre domicile et avons accès à d’innombrables sources d’information. Cependant, la navigation sur Internet permet également la création de bases de données détaillées décrivant les habitudes de chaque utilisateur, informations ensuite utilisées par des tiers afin de cerner le profil de leur clientèle cible, ce qui inquiète plusieurs intervenants. Les informations concernant un individu peuvent être récoltées par l’interception de données transactionnelles, par l’espionnage en ligne, ainsi que par l’enregistrement d’adresses IP. Afin de résoudre les problèmes de vie privée et de s’assurer que les commerçants respectent la législation applicable en la matière, ainsi que les exigences mises de l’avant par la Commission européenne, plusieurs entreprises comme Zero-knowledge Systems Inc. et Anonymizer.com offrent des logiciels permettant la protection de la vie privée en ligne (privacy-enhancing technologies ou PETs). Ces programmes utilisent le cryptage d’information, une méthode rendant les données illisibles pour tous à l’exception du destinataire. L’objectif de la technologie utilisée a été de créer des systèmes mathématiques rigoureux pouvant empêcher la découverte de l’identité de l’auteur même par le plus déterminé des pirates, diminuant ainsi les risques de vol d’information ou la divulgation accidentelle de données confidentielles. Malgré le fait que ces logiciels de protection de la vie privée permettent un plus grand respect des Directives européennes en la matière, une analyse plus approfondie du sujet témoigne du fait que ces technologies pourraient être contraires aux lois concernant le cryptage en droit canadien, américain et français.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

L'interface cerveau-ordinateur (ICO) décode les signaux électriques du cerveau requise par l’électroencéphalographie et transforme ces signaux en commande pour contrôler un appareil ou un logiciel. Un nombre limité de tâches mentales ont été détectés et classifier par différents groupes de recherche. D’autres types de contrôle, par exemple l’exécution d'un mouvement du pied, réel ou imaginaire, peut modifier les ondes cérébrales du cortex moteur. Nous avons utilisé un ICO pour déterminer si nous pouvions faire une classification entre la navigation de type marche avant et arrière, en temps réel et en temps différé, en utilisant différentes méthodes. Dix personnes en bonne santé ont participé à l’expérience sur les ICO dans un tunnel virtuel. L’expérience fut a était divisé en deux séances (48 min chaque). Chaque séance comprenait 320 essais. On a demandé au sujets d’imaginer un déplacement avant ou arrière dans le tunnel virtuel de façon aléatoire d’après une commande écrite sur l'écran. Les essais ont été menés avec feedback. Trois électrodes ont été montées sur le scalp, vis-à-vis du cortex moteur. Durant la 1re séance, la classification des deux taches (navigation avant et arrière) a été réalisée par les méthodes de puissance de bande, de représentation temporel-fréquence, des modèles autorégressifs et des rapports d’asymétrie du rythme β avec classificateurs d’analyse discriminante linéaire et SVM. Les seuils ont été calculés en temps différé pour former des signaux de contrôle qui ont été utilisés en temps réel durant la 2e séance afin d’initier, par les ondes cérébrales de l'utilisateur, le déplacement du tunnel virtuel dans le sens demandé. Après 96 min d'entrainement, la méthode « online biofeedback » de la puissance de bande a atteint une précision de classification moyenne de 76 %, et la classification en temps différé avec les rapports d’asymétrie et puissance de bande, a atteint une précision de classification d’environ 80 %.

Relevância:

20.00% 20.00%

Publicador:

Resumo:

La maladie des artères périphériques (MAP) se manifeste par une réduction (sténose) de la lumière de l’artère des membres inférieurs. Elle est causée par l’athérosclérose, une accumulation de cellules spumeuses, de graisse, de calcium et de débris cellulaires dans la paroi artérielle, généralement dans les bifurcations et les ramifications. Par ailleurs, la MAP peut être causée par d`autres facteurs associés comme l’inflammation, une malformation anatomique et dans de rares cas, au niveau des artères iliaques et fémorales, par la dysplasie fibromusculaire. L’imagerie ultrasonore est le premier moyen de diagnostic de la MAP. La littérature clinique rapporte qu’au niveau de l’artère fémorale, l’écho-Doppler montre une sensibilité de 80 à 98 % et une spécificité de 89 à 99 % à détecter une sténose supérieure à 50 %. Cependant, l’écho-Doppler ne permet pas une cartographie de l’ensemble des artères des membres inférieurs. D’autre part, la reconstruction 3D à partir des images échographiques 2D des artères atteintes de la MAP est fortement opérateur dépendant à cause de la grande variabilité des mesures pendant l’examen par les cliniciens. Pour planifier une intervention chirurgicale, les cliniciens utilisent la tomodensitométrie (CTA), l’angiographie par résonance magnétique (MRA) et l’angiographie par soustraction numérique (DSA). Il est vrai que ces modalités sont très performantes. La CTA montre une grande précision dans la détection et l’évaluation des sténoses supérieures à 50 % avec une sensibilité de 92 à 97 % et une spécificité entre 93 et 97 %. Par contre, elle est ionisante (rayon x) et invasive à cause du produit de contraste, qui peut causer des néphropathies. La MRA avec injection de contraste (CE MRA) est maintenant la plus utilisée. Elle offre une sensibilité de 92 à 99.5 % et une spécificité entre 64 et 99 %. Cependant, elle sous-estime les sténoses et peut aussi causer une néphropathie dans de rares cas. De plus les patients avec stents, implants métalliques ou bien claustrophobes sont exclus de ce type d`examen. La DSA est très performante mais s`avère invasive et ionisante. Aujourd’hui, l’imagerie ultrasonore (3D US) s’est généralisée surtout en obstétrique et échocardiographie. En angiographie il est possible de calculer le volume de la plaque grâce à l’imagerie ultrasonore 3D, ce qui permet un suivi de l’évolution de la plaque athéromateuse au niveau des vaisseaux. L’imagerie intravasculaire ultrasonore (IVUS) est une technique qui mesure ce volume. Cependant, elle est invasive, dispendieuse et risquée. Des études in vivo ont montré qu’avec l’imagerie 3D-US on est capable de quantifier la plaque au niveau de la carotide et de caractériser la géométrie 3D de l'anastomose dans les artères périphériques. Par contre, ces systèmes ne fonctionnent que sur de courtes distances. Par conséquent, ils ne sont pas adaptés pour l’examen de l’artère fémorale, à cause de sa longueur et de sa forme tortueuse. L’intérêt pour la robotique médicale date des années 70. Depuis, plusieurs robots médicaux ont été proposés pour la chirurgie, la thérapie et le diagnostic. Dans le cas du diagnostic artériel, seuls deux prototypes sont proposés, mais non commercialisés. Hippocrate est le premier robot de type maitre/esclave conçu pour des examens des petits segments d’artères (carotide). Il est composé d’un bras à 6 degrés de liberté (ddl) suspendu au-dessus du patient sur un socle rigide. À partir de ce prototype, un contrôleur automatisant les déplacements du robot par rétroaction des images échographiques a été conçu et testé sur des fantômes. Le deuxième est le robot de la Colombie Britannique conçu pour les examens à distance de la carotide. Le mouvement de la sonde est asservi par rétroaction des images US. Les travaux publiés avec les deux robots se limitent à la carotide. Afin d’examiner un long segment d’artère, un système robotique US a été conçu dans notre laboratoire. Le système possède deux modes de fonctionnement, le mode teach/replay (voir annexe 3) et le mode commande libre par l’utilisateur. Dans ce dernier mode, l’utilisateur peut implémenter des programmes personnalisés comme ceux utilisés dans ce projet afin de contrôler les mouvements du robot. Le but de ce projet est de démontrer les performances de ce système robotique dans des conditions proches au contexte clinique avec le mode commande libre par l’utilisateur. Deux objectifs étaient visés: (1) évaluer in vitro le suivi automatique et la reconstruction 3D en temps réel d’une artère en utilisant trois fantômes ayant des géométries réalistes. (2) évaluer in vivo la capacité de ce système d'imagerie robotique pour la cartographie 3D en temps réel d'une artère fémorale normale. Pour le premier objectif, la reconstruction 3D US a été comparée avec les fichiers CAD (computer-aided-design) des fantômes. De plus, pour le troisième fantôme, la reconstruction 3D US a été comparée avec sa reconstruction CTA, considéré comme examen de référence pour évaluer la MAP. Cinq chapitres composent ce mémoire. Dans le premier chapitre, la MAP sera expliquée, puis dans les deuxième et troisième chapitres, l’imagerie 3D ultrasonore et la robotique médicale seront développées. Le quatrième chapitre sera consacré à la présentation d’un article intitulé " A robotic ultrasound scanner for automatic vessel tracking and three-dimensional reconstruction of B-mode images" qui résume les résultats obtenus dans ce projet de maîtrise. Une discussion générale conclura ce mémoire. L’article intitulé " A 3D ultrasound imaging robotic system to detect and quantify lower limb arterial stenoses: in vivo feasibility " de Marie-Ange Janvier et al dans l’annexe 3, permettra également au lecteur de mieux comprendre notre système robotisé. Ma contribution dans cet article était l’acquisition des images mode B, la reconstruction 3D et l’analyse des résultats pour le patient sain.