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...
Saved in:
Published in | 2011 15th European Conference on Software Maintenance and Reengineering pp. 181 - 190 |
---|---|
Main Authors | , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.03.2011
|
Subjects | |
Online Access | Get 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 |