An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension

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 occ...

Full description

Saved in:
Bibliographic Details
Published in2011 15th European Conference on Software Maintenance and Reengineering pp. 181 - 190
Main Authors Abbes, M, Khomh, F, Guéhéneuc, Yann-Gaël, Antoniol, G
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.03.2011
Subjects
Online AccessGet full text

Cover

Loading…
Abstract 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, with 24 subjects each, to collect data on the performance of developers on basic tasks related to program comprehension and assessed the impact of two antipatterns and of their combinations: Blob and Spaghetti Code. We measured the developers' performance with: (1) the NASA task load index for their effort, (2) the time that they spent performing their tasks, and, (3) their percentages of correct answers. Collected data show that the occurrence of one antipattern does not significantly decrease developers' performance while the combination of two antipatterns impedes significantly developers. We conclude that developers can cope with one antipattern but that combinations of antipatterns should be avoided possibly through detection and refactorings.
AbstractList 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, with 24 subjects each, to collect data on the performance of developers on basic tasks related to program comprehension and assessed the impact of two antipatterns and of their combinations: Blob and Spaghetti Code. We measured the developers' performance with: (1) the NASA task load index for their effort, (2) the time that they spent performing their tasks, and, (3) their percentages of correct answers. Collected data show that the occurrence of one antipattern does not significantly decrease developers' performance while the combination of two antipatterns impedes significantly developers. We conclude that developers can cope with one antipattern but that combinations of antipatterns should be avoided possibly through detection and refactorings.
Author Abbes, M
Antoniol, G
Khomh, F
Guéhéneuc, Yann-Gaël
Author_xml – sequence: 1
  givenname: M
  surname: Abbes
  fullname: Abbes, M
  email: marwen.abbes@umontreal.ca
  organization: Dept. d'Inf. et de Rech. Operationnelle, Univ. de Montreal, Montréal, QC, Canada
– sequence: 2
  givenname: F
  surname: Khomh
  fullname: Khomh, F
  email: foutse.khomh@queensu.ca
  organization: Dept. of Elec. & Comp. Eng., Queen's Univ., Kingston, ON, Canada
– sequence: 3
  givenname: Yann-Gaël
  surname: Guéhéneuc
  fullname: Guéhéneuc, Yann-Gaël
  email: yann-gael.gueheneuc@polymtl.ca
  organization: SOCCER Lab., Ecole Polytech. de Montreal, Montréal, QC, Canada
– sequence: 4
  givenname: G
  surname: Antoniol
  fullname: Antoniol, G
  email: antoniol@ieee.org
  organization: SOCCER Lab., Ecole Polytech. de Montreal, Montréal, QC, Canada
BookMark eNotjM1OwkAYANeIiYDcvHnZB6C43_62R2xQSTAawcQb2bZfYQ3dbdolhrcXo6fJzGFGZOCDR0Jugc0AWHafr1_eZ5wBzLi8ICNmdKakkOLzkkwyk4IGnkquMj4gQ1BCJkoouCajvv9ijDMJbEh2c08XTes6V9oDXcdjdaKhpnGPdNm0toy_tvkOdO6ja22M2Pl-Sh8OoaDWV3Td2t0eY3Q0DxVOafD0rQu7zjbn0LQd7tH3LvgbclXbQ4-Tf47Jx-Nikz8nq9enZT5fJY5LiEkhTJYxwxQoLKwBY1BBWaFVtoCqFqVOtUaB2kjNsVCmTq09U2WmYKwqxJjc_X0dIm7bzjW2O22VkcA1Ez_KiFnW
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/CSMR.2011.24
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 076954343X
9780769543437
EndPage 190
ExternalDocumentID 5741260
Genre orig-research
GroupedDBID 29F
29G
29O
6IE
6IF
6IK
6IL
6IN
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
RNS
ID FETCH-LOGICAL-i241t-b3799070515eba7177e51cdea5ab1df3c6866e3e67462eb57f8aaeb5597b00db3
IEDL.DBID RIE
ISBN 9781612842592
1612842593
ISSN 1534-5351
IngestDate Wed Aug 27 02:43:18 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i241t-b3799070515eba7177e51cdea5ab1df3c6866e3e67462eb57f8aaeb5597b00db3
PageCount 10
ParticipantIDs ieee_primary_5741260
PublicationCentury 2000
PublicationDate 2011-03
PublicationDateYYYYMMDD 2011-03-01
PublicationDate_xml – month: 03
  year: 2011
  text: 2011-03
PublicationDecade 2010
PublicationTitle 2011 15th European Conference on Software Maintenance and Reengineering
PublicationTitleAbbrev csmr
PublicationYear 2011
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0020410
ssib015832454
ssj0000669565
Score 2.2695036
Snippet Antipatterns are "poor" solutions to recurring design problems which are conjectured in the literature to make object-oriented systems harder to maintain....
SourceID ieee
SourceType Publisher
StartPage 181
SubjectTerms Analysis of variance
Antipatterns
Blob
Empirical Software Engineering
Indexes
Java
Maintenance engineering
NASA
Program Comprehension
Program Maintenance
Programming
Spaghetti Code
Time measurement
Title An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, on Program Comprehension
URI https://ieeexplore.ieee.org/document/5741260
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwELUKE1P5KOJbHhib0tSxk4ylAhWkIkRBYkN2fIEKsKuSCsGv5y5JC0IMTIkzxIl19t3Z771j7NhqadPMJgHmHoYoOd3AZDoPDDpTI9GGbEoE59GVGt5Fl_fyvsHaSy4MAJTgM-jQbXmWb302p60yTN6jEOPvFbaCiVvF1VrYTijRNKPaNVarsMLQ_1t3rxtVygRSRIEUMiSSl6LFGeN_UWs_Ldq9JUI-PRmMRzeV0ieR4n9UYCkd0HmTjRafXuFOnjvzwnSyz1-qjv_9t3XW-qb68eulE9tgDXCbrLmo9cDrqb_FHvuOn71OJ6WiCCf04Qf3OcfwkV-UREtq3b573ncFobRpn_GtzU9fvOHaWT7GhesJimLCB95Cm3tH3RI0jFNnM3giJL13LXZ3fnY7GAZ1kYZggs6_CIyI0aHFVCoGjMbkMAYZZha01Ca0uchUohQIUHGkemBknCda4xUTGZzx1ohttuq8gx3Gba4ldDUGYVpEWWyTrk4zkeMbVZpAnu6yLRq3h2mlw_FQD9ne34_32Vq1_0t4sQO2WszmcIgBRGGOSsv5Av4ivWw
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwELYKDDDxKIg3Hhib0tSxk4xQgVqgFYIisVV2fKEVkCBIheDXc5dHixADU-IMcWKdfXf2933H2LHV0oaRDRzMPQxRclqOiXTsGHSmRqIN2ZAIzv2B6t57lw_yocYaMy4MAOTgM2jSbX6Wb9NoSltlmLx7LsbfC2wJ_b50C7ZWZT2uROP0SudYrMMKg_-58l7LK7QJpPAcKaRLNC9FyzNmAKJUf6ra7RlGPjzp3PVvC61PosX_qMGSu6CLVdavPr5Anjw1p5lpRl-_dB3_-3drbHNO9uM3Mze2zmqQbLDVqtoDLyd_nT2eJvz85XWSa4pwwh9-8jTmGEDyXk61pNbwI-WnSUY4bdppfG_ws-fUcJ1YfodL1xiybMI7qYUGTxPqlsBhnDp7gzFh6dNkk91fnA87Xacs0-BM0P1njhE-ujSfisWA0Zge-iDdyIKW2rg2FpEKlAIByvdUG4z040BrvGIqg3PeGrHFFpM0gW3GbawltDSGYVp4kW-Dlg4jEeMbVRhAHO6wOo3b6LVQ4hiVQ7b79-Mjttwd9q9H173B1R5bKXaDCT22zxaztykcYDiRmcPcir4BFa_AtQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2011+15th+European+Conference+on+Software+Maintenance+and+Reengineering&rft.atitle=An+Empirical+Study+of+the+Impact+of+Two+Antipatterns%2C+Blob+and+Spaghetti+Code%2C+on+Program+Comprehension&rft.au=Abbes%2C+M&rft.au=Khomh%2C+F&rft.au=Gue%CC%81he%CC%81neuc%2C+Yann-Gae%CC%88l&rft.au=Antoniol%2C+G&rft.date=2011-03-01&rft.pub=IEEE&rft.isbn=9781612842592&rft.issn=1534-5351&rft.spage=181&rft.epage=190&rft_id=info:doi/10.1109%2FCSMR.2011.24&rft.externalDocID=5741260
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1534-5351&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1534-5351&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1534-5351&client=summon