• DocumentCode
    2824884
  • Title

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

  • Author

    Abbes, Marwen ; Khomh, Foutse ; Guëhéneuc, Yann-Gaël ; Antoniol, Giuliano

  • Author_Institution
    Dept. d´´Inf. et de Rech. Operationnelle, Univ. de Montreal, Montréal, QC, Canada
  • fYear
    2011
  • fDate
    1-4 March 2011
  • Firstpage
    181
  • Lastpage
    190
  • 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.
  • Keywords
    object-oriented programming; software maintenance; NASA task load index; antipatterns; blob; maintenance tasks; object-oriented systems; program comprehension; recurring design problems; spaghetti code; Analysis of variance; Indexes; Java; Maintenance engineering; NASA; Programming; Time measurement; Antipatterns; Blob; Empirical Software Engineering; Program Comprehension; Program Maintenance; Spaghetti Code;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on
  • Conference_Location
    Oldenburg
  • ISSN
    1534-5351
  • Print_ISBN
    978-1-61284-259-2
  • Type

    conf

  • DOI
    10.1109/CSMR.2011.24
  • Filename
    5741260