19 resultados para Software Modification
em Université de Montréal, Canada
Resumo:
Publié avec l'aimable autorisation de la Chambre des notaires du Québec
Resumo:
"Mémoire présenté à la faculté des études supérieures en vue de l'obtention du grade de maîtrise en droit (LL.M.) option droit, biotechnologies et société"
Resumo:
Distribués sous des licences permissives qui assurent des droits d'utilisation, de modification et de redistribution aux licenciés, l'élaboration des logiciels libres est fondée sur un modèle de développement décentralisé. Ces caractéristiques posent de nombreux défis au milieu juridique, particulièrement en ce qui a trait à la responsabilité civile. Ainsi, les développeurs se demandent dans quelles circonstances leur responsabilité civile peut être engagée suite à la défaillance de leur logiciel libre. De la même façon, ils questionnent la possibilité d'appliquer cette responsabilité à un nombre important de développeurs dispersés aux quatre coins du globe. L'analyse présentée montre que le droit, tel qu'il existe actuellement, est en mesure de résoudre la majorité des problèmes relatifs à la détermination et l'application de la responsabilité civile en matière de logiciels libres. Les règles de la responsabilité civile représentent donc un risque potentiel pour les développeurs de logiciels libres, même s'ils sont relativement bien protégés par les contextes juridiques et factuels.
Resumo:
Les cadriciels et les bibliothèques sont indispensables aux systèmes logiciels d'aujourd'hui. Quand ils évoluent, il est souvent fastidieux et coûteux pour les développeurs de faire la mise à jour de leur code. Par conséquent, des approches ont été proposées pour aider les développeurs à migrer leur code. Généralement, ces approches ne peuvent identifier automatiquement les règles de modification une-remplacée-par-plusieurs méthodes et plusieurs-remplacées-par-une méthode. De plus, elles font souvent un compromis entre rappel et précision dans leur résultats en utilisant un ou plusieurs seuils expérimentaux. Nous présentons AURA (AUtomatic change Rule Assistant), une nouvelle approche hybride qui combine call dependency analysis et text similarity analysis pour surmonter ces limitations. Nous avons implanté AURA en Java et comparé ses résultats sur cinq cadriciels avec trois approches précédentes par Dagenais et Robillard, M. Kim et al., et Schäfer et al. Les résultats de cette comparaison montrent que, en moyenne, le rappel de AURA est 53,07% plus que celui des autre approches avec une précision similaire (0,10% en moins).
Resumo:
Les polymères amphiphiles sont largement utilisés pour les applications biomédicales et pharmaceutiques. Afin d’améliorer les chances de biocompatibilité des nouveaux polymères que nous voulons développer, nous avons utilisé des composés naturels, les acides biliaires, comme produits de départ dans la synthèse de ces polymères. De nouveaux polymères anioniques amphiphiles dérivés de l’acide cholique ont été préparés par polymérisation radicalaire par transfert d’atomes. Par un contrôle rigoureux des conditions de polymérisation, des bras de poly(acide acrylique) de différentes longueurs ont été greffés sur le squelette de l’acide cholique. L’architecture moléculaire des polymères a été étudiée par spectroscopie 1H RMN et par spectrométrie de masse. Ces polymères en étoile formés par l’acide biliaire modifié sont capables de s’agréger dans l’eau même si les groupements hydroxyles ont été remplacés par des segments plus volumineux. Il a été observé que les liaisons ester entre le polymère et le cœur d’acide cholique sont sensibles à l’hydrolyse en solution aqueuse. Pour remédier au problème de stabilité en solution aqueuse et pour avoir, en même temps, des bras hydrophiles non ioniques et biocompatibles, de l’oxyde d’éthylène a été polymérisé sur l’acide cholique par polymérisation anionique. Les liaisons éther formées entre le polymère et les groupements hydroxyles de l’acide biliaire sont plus stables que les liaisons ester sur le polymère de poly(acide acrylique). Les conditions de réaction de la polymérisation anionique ont été optimisées et ont donné des polymères aux architectures et aux masses molaires contrôlées. Les nouveaux polymères forment des agrégats sphériques tel qu’observé par microscopie électronique à transmission avec des échantillons préparés par la méthode de fracture à froid. Leur morphologie est différente de celle des agrégats cylindriques formés par les acides biliaires. Avec la méthode optimisée pour la polymérisation anionique, l’éther d’allyle et glycidyle a été polymérisé sur un dérivé d’acide cholique, suivi par une thiolation des liaisons doubles pour introduire l’amine ou l’acide sur la chaîne polymère. Cette addition radicalaire est efficace à plus de 90%. Les polymères qui en résultent sont solubles dans l’eau et s’agrègent à une certaine concentration critique. Il est particulièrement intéressant d’observer la thermosensibilité des polymères ayant des groupements amine, laquelle peut être modulée en acétylant partiellement les amines, donnant des points nuages entre 15 et 48°C.
Resumo:
Lors de ces dix dernières années, le coût de la maintenance des systèmes orientés objets s'est accru jusqu' à compter pour plus de 70% du coût total des systèmes. Cette situation est due à plusieurs facteurs, parmi lesquels les plus importants sont: l'imprécision des spécifications des utilisateurs, l'environnement d'exécution changeant rapidement et la mauvaise qualité interne des systèmes. Parmi tous ces facteurs, le seul sur lequel nous ayons un réel contrôle est la qualité interne des systèmes. De nombreux modèles de qualité ont été proposés dans la littérature pour contribuer à contrôler la qualité. Cependant, la plupart de ces modèles utilisent des métriques de classes (nombre de méthodes d'une classe par exemple) ou des métriques de relations entre classes (couplage entre deux classes par exemple) pour mesurer les attributs internes des systèmes. Pourtant, la qualité des systèmes par objets ne dépend pas uniquement de la structure de leurs classes et que mesurent les métriques, mais aussi de la façon dont celles-ci sont organisées, c'est-à-dire de leur conception, qui se manifeste généralement à travers les patrons de conception et les anti-patrons. Dans cette thèse nous proposons la méthode DEQUALITE, qui permet de construire systématiquement des modèles de qualité prenant en compte non seulement les attributs internes des systèmes (grâce aux métriques), mais aussi leur conception (grâce aux patrons de conception et anti-patrons). Cette méthode utilise une approche par apprentissage basée sur les réseaux bayésiens et s'appuie sur les résultats d'une série d'expériences portant sur l'évaluation de l'impact des patrons de conception et des anti-patrons sur la qualité des systèmes. Ces expériences réalisées sur 9 grands systèmes libres orientés objet nous permettent de formuler les conclusions suivantes: • Contre l'intuition, les patrons de conception n'améliorent pas toujours la qualité des systèmes; les implantations très couplées de patrons de conception par exemple affectent la structure des classes et ont un impact négatif sur leur propension aux changements et aux fautes. • Les classes participantes dans des anti-atrons sont beaucoup plus susceptibles de changer et d'être impliquées dans des corrections de fautes que les autres classes d'un système. • Un pourcentage non négligeable de classes sont impliquées simultanément dans des patrons de conception et dans des anti-patrons. Les patrons de conception ont un effet positif en ce sens qu'ils atténuent les anti-patrons. Nous appliquons et validons notre méthode sur trois systèmes libres orientés objet afin de démontrer l'apport de la conception des systèmes dans l'évaluation de la qualité.
Resumo:
Les sociétés modernes dépendent de plus en plus sur les systèmes informatiques et ainsi, il y a de plus en plus de pression sur les équipes de développement pour produire des logiciels de bonne qualité. Plusieurs compagnies utilisent des modèles de qualité, des suites de programmes qui analysent et évaluent la qualité d'autres programmes, mais la construction de modèles de qualité est difficile parce qu'il existe plusieurs questions qui n'ont pas été répondues dans la littérature. Nous avons étudié les pratiques de modélisation de la qualité auprès d'une grande entreprise et avons identifié les trois dimensions où une recherche additionnelle est désirable : Le support de la subjectivité de la qualité, les techniques pour faire le suivi de la qualité lors de l'évolution des logiciels, et la composition de la qualité entre différents niveaux d'abstraction. Concernant la subjectivité, nous avons proposé l'utilisation de modèles bayésiens parce qu'ils sont capables de traiter des données ambiguës. Nous avons appliqué nos modèles au problème de la détection des défauts de conception. Dans une étude de deux logiciels libres, nous avons trouvé que notre approche est supérieure aux techniques décrites dans l'état de l'art, qui sont basées sur des règles. Pour supporter l'évolution des logiciels, nous avons considéré que les scores produits par un modèle de qualité sont des signaux qui peuvent être analysés en utilisant des techniques d'exploration de données pour identifier des patrons d'évolution de la qualité. Nous avons étudié comment les défauts de conception apparaissent et disparaissent des logiciels. Un logiciel est typiquement conçu comme une hiérarchie de composants, mais les modèles de qualité ne tiennent pas compte de cette organisation. Dans la dernière partie de la dissertation, nous présentons un modèle de qualité à deux niveaux. Ces modèles ont trois parties: un modèle au niveau du composant, un modèle qui évalue l'importance de chacun des composants, et un autre qui évalue la qualité d'un composé en combinant la qualité de ses composants. L'approche a été testée sur la prédiction de classes à fort changement à partir de la qualité des méthodes. Nous avons trouvé que nos modèles à deux niveaux permettent une meilleure identification des classes à fort changement. Pour terminer, nous avons appliqué nos modèles à deux niveaux pour l'évaluation de la navigabilité des sites web à partir de la qualité des pages. Nos modèles étaient capables de distinguer entre des sites de très bonne qualité et des sites choisis aléatoirement. Au cours de la dissertation, nous présentons non seulement des problèmes théoriques et leurs solutions, mais nous avons également mené des expériences pour démontrer les avantages et les limitations de nos solutions. Nos résultats indiquent qu'on peut espérer améliorer l'état de l'art dans les trois dimensions présentées. En particulier, notre travail sur la composition de la qualité et la modélisation de l'importance est le premier à cibler ce problème. Nous croyons que nos modèles à deux niveaux sont un point de départ intéressant pour des travaux de recherche plus approfondis.
Resumo:
Les pédiatres intensivistes ont plusieurs éléments disponibles pour guider leurs décisions par rapport à la ventilation mécanique. Par contre, aucune étude prospective ne décrit les éléments auxquels les intensivistes se réfèrent pour modifier les paramètres du respirateur. Objectifs : Décrire la pratique actuelle de la modification des paramètres du respirateur aux soins intensifs du CHU Sainte-Justine, un hôpital pédiatrique tertiaire. Hypothèse : 80% des modifications des paramètres du respirateur influant sur l’épuration du CO2 sont liées à l’analyse de la PCO2 ou du pH et 80% des modifications des paramètres d’oxygénation sont liés à l’analyse de l’oxymétrie de pouls. Méthodes : En se servant d’un logiciel de recueil de données, les soignants ont enregistré un critère de décision primaire et tous les critères de décision secondaires menant à chaque modification de paramètre du respirateur au moment même de la modification. Résultats : Parmi les 194 modifications des paramètres du respirateur influant sur l’épuration du CO2, faites chez vingts patients, 42.3% ±7.0% avaient pour critère primaire la PCO2 ou le pH sanguin. Parmi les 41 modifications de la pression expiratoire positive et les 813 modifications de la fraction d’oxygène inspirée, 34.1% ±14.5% et 84.5% ±2.5% avaient pour critère primaire l’oxymétrie de pouls, respectivement. Conclusion : Les médecins surestiment le rôle de la PCO2 et du pH sanguins et sousestiment le rôle d’autres critères de décision dans la gestion de la ventilation mécanique. L’amélioration de notre compréhension de la pratique courante devrait aider à l’éboration des systèmes d’aide à la décision clinique en assistance respiratoire.
Resumo:
Les logiciels sont en constante évolution, nécessitant une maintenance et un développement continus. Ils subissent des changements tout au long de leur vie, que ce soit pendant l'ajout de nouvelles fonctionnalités ou la correction de bogues dans le code. Lorsque ces logiciels évoluent, leurs architectures ont tendance à se dégrader avec le temps et deviennent moins adaptables aux nouvelles spécifications des utilisateurs. Elles deviennent plus complexes et plus difficiles à maintenir. Dans certains cas, les développeurs préfèrent refaire la conception de ces architectures à partir du zéro plutôt que de prolonger la durée de leurs vies, ce qui engendre une augmentation importante des coûts de développement et de maintenance. Par conséquent, les développeurs doivent comprendre les facteurs qui conduisent à la dégradation des architectures, pour prendre des mesures proactives qui facilitent les futurs changements et ralentissent leur dégradation. La dégradation des architectures se produit lorsque des développeurs qui ne comprennent pas la conception originale du logiciel apportent des changements au logiciel. D'une part, faire des changements sans comprendre leurs impacts peut conduire à l'introduction de bogues et à la retraite prématurée du logiciel. D'autre part, les développeurs qui manquent de connaissances et–ou d'expérience dans la résolution d'un problème de conception peuvent introduire des défauts de conception. Ces défauts ont pour conséquence de rendre les logiciels plus difficiles à maintenir et évoluer. Par conséquent, les développeurs ont besoin de mécanismes pour comprendre l'impact d'un changement sur le reste du logiciel et d'outils pour détecter les défauts de conception afin de les corriger. Dans le cadre de cette thèse, nous proposons trois principales contributions. La première contribution concerne l'évaluation de la dégradation des architectures logicielles. Cette évaluation consiste à utiliser une technique d’appariement de diagrammes, tels que les diagrammes de classes, pour identifier les changements structurels entre plusieurs versions d'une architecture logicielle. Cette étape nécessite l'identification des renommages de classes. Par conséquent, la première étape de notre approche consiste à identifier les renommages de classes durant l'évolution de l'architecture logicielle. Ensuite, la deuxième étape consiste à faire l'appariement de plusieurs versions d'une architecture pour identifier ses parties stables et celles qui sont en dégradation. Nous proposons des algorithmes de bit-vecteur et de clustering pour analyser la correspondance entre plusieurs versions d'une architecture. La troisième étape consiste à mesurer la dégradation de l'architecture durant l'évolution du logiciel. Nous proposons un ensemble de m´etriques sur les parties stables du logiciel, pour évaluer cette dégradation. La deuxième contribution est liée à l'analyse de l'impact des changements dans un logiciel. Dans ce contexte, nous présentons une nouvelle métaphore inspirée de la séismologie pour identifier l'impact des changements. Notre approche considère un changement à une classe comme un tremblement de terre qui se propage dans le logiciel à travers une longue chaîne de classes intermédiaires. Notre approche combine l'analyse de dépendances structurelles des classes et l'analyse de leur historique (les relations de co-changement) afin de mesurer l'ampleur de la propagation du changement dans le logiciel, i.e., comment un changement se propage à partir de la classe modifiée è d'autres classes du logiciel. La troisième contribution concerne la détection des défauts de conception. Nous proposons une métaphore inspirée du système immunitaire naturel. Comme toute créature vivante, la conception de systèmes est exposée aux maladies, qui sont des défauts de conception. Les approches de détection sont des mécanismes de défense pour les conception des systèmes. Un système immunitaire naturel peut détecter des pathogènes similaires avec une bonne précision. Cette bonne précision a inspiré une famille d'algorithmes de classification, appelés systèmes immunitaires artificiels (AIS), que nous utilisions pour détecter les défauts de conception. Les différentes contributions ont été évaluées sur des logiciels libres orientés objets et les résultats obtenus nous permettent de formuler les conclusions suivantes: • Les métriques Tunnel Triplets Metric (TTM) et Common Triplets Metric (CTM), fournissent aux développeurs de bons indices sur la dégradation de l'architecture. La d´ecroissance de TTM indique que la conception originale de l'architecture s’est dégradée. La stabilité de TTM indique la stabilité de la conception originale, ce qui signifie que le système est adapté aux nouvelles spécifications des utilisateurs. • La séismologie est une métaphore intéressante pour l'analyse de l'impact des changements. En effet, les changements se propagent dans les systèmes comme les tremblements de terre. L'impact d'un changement est plus important autour de la classe qui change et diminue progressivement avec la distance à cette classe. Notre approche aide les développeurs à identifier l'impact d'un changement. • Le système immunitaire est une métaphore intéressante pour la détection des défauts de conception. Les résultats des expériences ont montré que la précision et le rappel de notre approche sont comparables ou supérieurs à ceux des approches existantes.
Resumo:
"L’auteure Lucie Guibault aborde la question des ""logiciels libres"" dans le cadre des droits d’auteurs et des brevets. Ces logiciels sont des programmes informatiques qui sont gratuitement distribués au public, dont la modification et la redistribution sont fortement encouragées, mais dont la vente ou la commercialisation est découragée ou même carrément prohibée. Ces caractéristiques particulières distinguent les logiciels libres des ""programmes propriétés"" traditionnels, qui se basent sur le principe que le créateur d’un programme en possède les droits de propriété et qu’il est le seul autorisé à le modifier ou le vendre, sous réserve de sa capacité à faire cession de ces droits. Les logiciels libres sont fondés sur une idéologie de coopération, qui promeut la propagation des idées et des connaissances et qui favorise ainsi la création de meilleurs logiciels. L’auteure présente les grandes caractéristiques des trois principales licences de logiciels libres, soit la ""General Public License"", la licence ""Berkeley Software Distribution"" et la ""Mozilla Public License"". Elle soutient que ces logiciels libres et les régimes normatifs qui les encadrent sont à l’origine d’un changement de paradigme au sein des régimes européens et hollandais de protection des droits d’auteurs et des brevets. La première partie de l’article analyse les régimes des droits d’auteur des trois licences de logiciels libres. L’auteure souligne que ces régimes ont été établis en se basant sur la prémisse qu’il n’y a pas de distinction significative entre les créateurs et les utilisateurs de logiciels libres. Les régimes normatifs reflètent cette situation en prévoyant un ensemble de droits et d’obligations pour les utilisateurs dans le cadre de l’utilisation, de la reproduction, de la modification et de la redistribution gratuite des logiciels libres. L’auteur explique comment ces régimes normatifs s’intègrent au sein de la législation européenne et hollandaise, entre autre au niveau du droit de propriété, du droit commercial, du droit des communications et du droit des obligations. L’auteur démontre que, de façon générale, ces régimes normatifs législatifs semblent s’être adéquatement adaptés aux nouvelles réalités posées par les règles de droits d’auteurs des logiciels libres. La seconde partie aborde la problématique du droit des brevets, tel que défini par la législation européenne et hollandaise. La plupart des utilisateurs et créateurs de logiciels libres s’opposent aux régimes de brevets traditionnels, qui limitent l’innovation et les possibilités de développement techniques. L’auteur décrit les différents régimes alternatifs de brevets offerts par les trois licences de logiciels libres. De plus, l’auteur présente l’encadrement légal pour ces nouveaux brevets, tel que défini par les législations européennes et hollandaises. Elle soutient que cet encadrement légal est inadéquat et qu’il n’est pas adapté aux besoins des utilisateurs de logiciels libres."
Resumo:
Les logiciels sont en constante évolution, nécessitant une maintenance et un développement continus. Ils subissent des changements tout au long de leur vie, que ce soit pendant l'ajout de nouvelles fonctionnalités ou la correction de bogues. Lorsque les logiciels évoluent, leurs architectures ont tendance à se dégrader et deviennent moins adaptables aux nouvelles spécifications des utilisateurs. En effet, les architectures de ces logiciels deviennent plus complexes et plus difficiles à maintenir à cause des nombreuses dépendances entre les artefacts. Par conséquent, les développeurs doivent comprendre les dépendances entre les artefacts des logiciels pour prendre des mesures proactives qui facilitent les futurs changements et ralentissent la dégradation des architectures des logiciels. D'une part, le maintien d'un logiciel sans la compréhension des les dépendances entre ses artefacts peut conduire à l'introduction de défauts. D'autre part, lorsque les développeurs manquent de connaissances sur l'impact de leurs activités de maintenance, ils peuvent introduire des défauts de conception, qui ont un impact négatif sur l'évolution du logiciel. Ainsi, les développeurs ont besoin de mécanismes pour comprendre comment le changement d'un artefact impacte le reste du logiciel. Dans cette thèse, nous proposons trois contributions principales : La spécification de deux nouveaux patrons de changement et leurs utilisations pour fournir aux développeurs des informations utiles concernant les dépendances de co-changement. La spécification de la relation entre les patrons d'évolutions des artefacts et les fautes. La découverte de la relation entre les dépendances des anti-patrons et la prédisposition des différentes composantes d'un logiciel aux fautes.
Resumo:
Thèse réalisée en cotutelle avec l'Institut d’études politiques d'Aix-en-Provence, École doctorale de Sciences Po, Programme doctoral en sciences de l’information et de la communication
Resumo:
Une sonde électrostatique de Langmuir cylindrique a été utilisée pour caractériser une post-décharge d’un plasma d’ondes de surface de N2-O2 par la mesure de la densité des ions et électrons ainsi que la température des électrons dérivée de la fonction de distribution en énergie des électrons (EEDF). Une densité maximale des électrons au centre de la early afterglow de l’ordre de 1013 m-3 a été déterminée, alors que celle-ci a chuté à 1011 m-3 au début de la late afterglow. Tout au long du profil de la post-décharge, une densité des ions supérieure à celle des électrons indique la présence d’un milieu non macroscopiquement neutre. La post-décharge est caractérisée par une EEDF quasi maxwellienne avec une température des électrons de 0.5±0.1 eV, alors qu’elle grimpe à 1.1 ±0.2 eV dans la early afterglow due à la contribution des collisions vibrationnelles-électroniques (V-E) particulièrement importantes. L’ajout d’O2 dans la décharge principale entraîne un rehaussement des espèces chargées et de la température des électrons suivi d’une chute avec l’augmentation de la concentration d’O2. Le changement de la composition électrique de la post-décharge par la création de NO+ au détriment des ions N2+ est à l’origine du phénomène. Le recours à cette post-décharge de N2 pour la modification des propriétés d’émission optique de nanofils purs de GaN et avec des inclusions d’InGaN a été étudié par photoluminescence (PL). Bien que l’émission provenant des nanofils de GaN et de la matrice de GaN recouvrant les inclusions diminue suite à la création de sites de recombinaison non radiatifs, celle provenant des inclusions d’InGaN augmente fortement. Des mesures de PL par excitation indiquent que cet effet n’est pas attribuable à un changement de l’absorption de la surface de GaN. Ceci suggère un recuit dynamique induit par la désexcitation des métastables de N2 suite à leur collision à la surface des nanofils et la possibilité de passiver les défauts de surface tels que des lacunes d’azote par l’action d’atomes de N2 réactifs provenant de la post-décharge. L’incorporation d’O2 induit les mêmes effets en plus d’un décalage vers le rouge de la bande d’émission des inclusions, suggérant l’action des espèces d’O2 au sein même des nanostructures.