An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, On Program Comprehension. Abbes, M., Khomh, F., Gu�h�neuc, Y., & Antoniol, G. In Kanellopoulos, Y. & Mens, T., editors, Proceedings of the 15<sup>th</sup> European Conference on Software Maintenance and Reengineering (CSMR), pages 181–190, March, 2011. IEEE CS Press. 10 pages. \awardBest paper. \awardMost influential paper at SANER'21.
Paper abstract bibtex 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.
@INPROCEEDINGS{Abbes11-CSMR-AntipatternsImpactComprehension,
AUTHOR = {Marwen Abbes and Foutse Khomh and Yann-Ga�l Gu�h�neuc and
Giuliano Antoniol},
BOOKTITLE = {Proceedings of the 15<sup>th</sup> European Conference on Software Maintenance and Reengineering (CSMR)},
TITLE = {An Empirical Study of the Impact of Two Antipatterns,
Blob and Spaghetti Code, On Program Comprehension},
YEAR = {2011},
OPTADDRESS = {},
OPTCROSSREF = {},
EDITOR = {Yiannis Kanellopoulos and Tom Mens},
MONTH = {March},
NOTE = {10 pages. \awardBest paper. \awardMost influential paper at SANER'21.},
OPTNUMBER = {},
OPTORGANIZATION = {},
PAGES = {181--190},
PUBLISHER = {IEEE CS Press},
OPTSERIES = {},
OPTVOLUME = {},
KEYWORDS = {Topic: <b>Code and design smells</b>,
Topic: <b>Program comprehension</b>, Venue: <c>CSMR</c>},
URL = {http://www.ptidej.net/publications/documents/CSMR11a.doc.pdf},
PDF = {http://www.ptidej.net/publications/documents/CSMR11a.ppt.pdf},
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.}
}
Downloads: 0
{"_id":"7REcyHDrcCBA7TBCj","bibbaseid":"abbes-khomh-guhneuc-antoniol-anempiricalstudyoftheimpactoftwoantipatternsblobandspaghetticodeonprogramcomprehension-2011","downloads":0,"creationDate":"2018-01-17T20:29:42.415Z","title":"An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, On Program Comprehension","author_short":["Abbes, M.","Khomh, F.","Gu�h�neuc, Y.","Antoniol, G."],"year":2011,"bibtype":"inproceedings","biburl":"http://www.yann-gael.gueheneuc.net/Work/Publications/Biblio/complete-bibliography.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Marwen"],"propositions":[],"lastnames":["Abbes"],"suffixes":[]},{"firstnames":["Foutse"],"propositions":[],"lastnames":["Khomh"],"suffixes":[]},{"firstnames":["Yann-Ga�l"],"propositions":[],"lastnames":["Gu�h�neuc"],"suffixes":[]},{"firstnames":["Giuliano"],"propositions":[],"lastnames":["Antoniol"],"suffixes":[]}],"booktitle":"Proceedings of the 15<sup>th</sup> European Conference on Software Maintenance and Reengineering (CSMR)","title":"An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, On Program Comprehension","year":"2011","optaddress":"","optcrossref":"","editor":[{"firstnames":["Yiannis"],"propositions":[],"lastnames":["Kanellopoulos"],"suffixes":[]},{"firstnames":["Tom"],"propositions":[],"lastnames":["Mens"],"suffixes":[]}],"month":"March","note":"10 pages. \\awardBest paper. \\awardMost influential paper at SANER'21.","optnumber":"","optorganization":"","pages":"181–190","publisher":"IEEE CS Press","optseries":"","optvolume":"","keywords":"Topic: <b>Code and design smells</b>, Topic: <b>Program comprehension</b>, Venue: <c>CSMR</c>","url":"http://www.ptidej.net/publications/documents/CSMR11a.doc.pdf","pdf":"http://www.ptidej.net/publications/documents/CSMR11a.ppt.pdf","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.","bibtex":"@INPROCEEDINGS{Abbes11-CSMR-AntipatternsImpactComprehension,\r\n AUTHOR = {Marwen Abbes and Foutse Khomh and Yann-Ga�l Gu�h�neuc and \r\n Giuliano Antoniol},\r\n BOOKTITLE = {Proceedings of the 15<sup>th</sup> European Conference on Software Maintenance and Reengineering (CSMR)},\r\n TITLE = {An Empirical Study of the Impact of Two Antipatterns, \r\n Blob and Spaghetti Code, On Program Comprehension},\r\n YEAR = {2011},\r\n OPTADDRESS = {},\r\n OPTCROSSREF = {},\r\n EDITOR = {Yiannis Kanellopoulos and Tom Mens},\r\n MONTH = {March},\r\n NOTE = {10 pages. \\awardBest paper. \\awardMost influential paper at SANER'21.},\r\n OPTNUMBER = {},\r\n OPTORGANIZATION = {},\r\n PAGES = {181--190},\r\n PUBLISHER = {IEEE CS Press},\r\n OPTSERIES = {},\r\n OPTVOLUME = {},\r\n KEYWORDS = {Topic: <b>Code and design smells</b>, \r\n Topic: <b>Program comprehension</b>, Venue: <c>CSMR</c>},\r\n URL = {http://www.ptidej.net/publications/documents/CSMR11a.doc.pdf},\r\n PDF = {http://www.ptidej.net/publications/documents/CSMR11a.ppt.pdf},\r\n ABSTRACT = {Antipatterns are ``poor'' solutions to recurring design \r\n problems which are conjectured in the literature to make \r\n object-oriented systems harder to maintain. However, little \r\n quantitative evidence exists to support this conjecture. We performed \r\n an empirical study to investigate whether the occurrence of \r\n antipatterns does indeed affect the understandability of systems by \r\n developers during comprehension and maintenance tasks. We designed \r\n and conducted three experiments, with 24 subjects each, to collect \r\n data on the performance of developers on basic tasks related to \r\n program comprehension and assessed the impact of two antipatterns and \r\n of their combinations: Blob and Spaghetti Code. We measured the \r\n developers' performance with: (1) the NASA task load index for their \r\n effort; (2) the time that they spent performing their tasks; and, (3) \r\n their percentages of correct answers. Collected data show that the \r\n occurrence of one antipattern does not significantly decrease \r\n developers' performance while the combination of two antipatterns \r\n impedes significantly developers. We conclude that developers can \r\n cope with one antipattern but that combinations of antipatterns \r\n should be avoided possibly through detection and refactorings.}\r\n}\r\n\r\n","author_short":["Abbes, M.","Khomh, F.","Gu�h�neuc, Y.","Antoniol, G."],"editor_short":["Kanellopoulos, Y.","Mens, T."],"key":"Abbes11-CSMR-AntipatternsImpactComprehension","id":"Abbes11-CSMR-AntipatternsImpactComprehension","bibbaseid":"abbes-khomh-guhneuc-antoniol-anempiricalstudyoftheimpactoftwoantipatternsblobandspaghetticodeonprogramcomprehension-2011","role":"author","urls":{"Paper":"http://www.ptidej.net/publications/documents/CSMR11a.doc.pdf"},"keyword":["Topic: <b>Code and design smells</b>","Topic: <b>Program comprehension</b>","Venue: <c>CSMR</c>"],"metadata":{"authorlinks":{"gu�h�neuc, y":"https://bibbase.org/show?bib=http%3A%2F%2Fwww.yann-gael.gueheneuc.net%2FWork%2FPublications%2FBiblio%2Fcomplete-bibliography.bib&msg=embed","guéhéneuc, y":"https://bibbase.org/show?bib=http://www.yann-gael.gueheneuc.net/Work/BibBase/guehene%20(automatically%20cleaned).bib"}},"downloads":0},"search_terms":["empirical","study","impact","two","antipatterns","blob","spaghetti","code","program","comprehension","abbes","khomh","gu�h�neuc","antoniol"],"keywords":["topic: <b>code and design smells</b>","topic: <b>program comprehension</b>","venue: <c>csmr</c>"],"authorIDs":["AfJhKcg96muyPdu7S","xkviMnkrGBneANvMr"],"dataSources":["Sed98LbBeGaXxenrM","8vn5MSGYWB4fAx9Z4"]}