Show item record

dc.contributor.advisorGueheneuc, Yann-Gael
dc.contributor.advisorAntoniol, Giuliano
dc.contributor.authorAbbes, Marwen
dc.date.accessioned2011-02-18T16:57:59Z
dc.date.availableNO_RESTRICTIONen
dc.date.available2011-02-18T16:57:59Z
dc.date.issued2011-01-06
dc.date.submitted2010-11
dc.identifier.urihttp://hdl.handle.net/1866/4636
dc.subjectAntipatronsen
dc.subjectBloben
dc.subjectSpaghetti Codeen
dc.subjectCompréhension des programmesen
dc.subjectMaintenance des programmesen
dc.subjectÉtude empiriqueen
dc.subjectAntipatternsen
dc.subjectProgram comprehensionen
dc.subjectProgram maintenanceen
dc.subjectEmpirical studyen
dc.subject.otherApplied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)en
dc.titleAn empirical study of the impact of two antipatterns on program comprehensionen
dc.typeThèse ou mémoire / Thesis or Dissertation
etd.degree.disciplineInformatiqueen
etd.degree.grantorUniversité de Montréal (Faculté des arts et des sciences)fr
etd.degree.levelMaîtrise / Master'sen
etd.degree.nameM. Sc.en
dcterms.abstractLes 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.en
dcterms.abstractAntipatterns 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.en
dcterms.languageengen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show item record