Liens externes
  • Directories
  • Faculties
  • Libraries
  • Campus maps
  • Sites A to Z
  • My UdeM
    • Mon portail UdeM
    • My email
    • StudiUM
Dessin du pavillon Roger Gaudry/Sketch of Roger Gaudry Building
University Home pageUniversity Home pageUniversity Home page
Papyrus : Institutional Repository
Papyrus
Institutional Repository
Papyrus
    • français
    • English
  • English 
    • français
    • English
  • Login
  • English 
    • français
    • English
  • Login
View Item 
  •   Home
  • Faculté des arts et des sciences
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • View Item
  •   Home
  • Faculté des arts et des sciences
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

My Account

To submit an item or subscribe to email alerts.
Login
New user?

Browse

All of PapyrusCommunities and CollectionsTitlesIssue DatesAuthorsAdvisorsSubjectsDisciplinesAffiliationTitles indexThis CollectionTitlesIssue DatesAuthorsAdvisorsSubjectsDisciplinesAffiliationTitles index

Statistics

View Usage Statistics
Show metadata
Permalink: http://hdl.handle.net/1866/4636

An empirical study of the impact of two antipatterns on program comprehension

Thesis or Dissertation
Thumbnail
Abbes_Marwen_2010_memoire.pdf (630.8Kb)
2010-11 (degree granted: 2011-01-06)
Author(s)
Abbes, Marwen
Advisor(s)
Gueheneuc, Yann-Gael
Antoniol, Giuliano
Level
Master's
Discipline
Informatique
Keywords
  • Antipatrons
  • Blob
  • Spaghetti Code
  • Compréhension des programmes
  • Maintenance des programmes
  • Étude empirique
  • Antipatterns
  • Program comprehension
  • Program maintenance
  • Empirical study
  • Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
Abstract(s)
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.
Collections
  • Thèses et mémoires électroniques de l’Université de Montréal [17173]
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires [732]

DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback
Certificat SSL / SSL Certificate
les bibliothéques/UdeM
  • Emergency
  • Private life
  • Careers
  • My email
  • StudiUM
  • iTunes U
  • Contact us
  • Facebook
  • YouTube
  • Twitter
  • University RSS
 

 


DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback
Certificat SSL / SSL Certificate
les bibliothéques/UdeM
  • Emergency
  • Private life
  • Careers
  • My email
  • StudiUM
  • iTunes U
  • Contact us
  • Facebook
  • YouTube
  • Twitter
  • University RSS