The Experts below are selected from a list of 36 Experts worldwide ranked by ideXlab platform
Giuliano Antoniol - One of the best experts on this subject based on the ideXlab platform.
-
an empirical study of the impact of two antipatterns blob and Spaghetti Code on program comprehension
Conference on Software Maintenance and Reengineering, 2011Co-Authors: Marwen Abbes, Foutse Khomh, Yanngael Gueheneuc, Giuliano AntoniolAbstract: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.
Marwen Abbes - One of the best experts on this subject based on the ideXlab platform.
-
an empirical study of the impact of two antipatterns blob and Spaghetti Code on program comprehension
Conference on Software Maintenance and Reengineering, 2011Co-Authors: Marwen Abbes, Foutse Khomh, Yanngael Gueheneuc, Giuliano AntoniolAbstract: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.
Maiga A. - One of the best experts on this subject based on the ideXlab platform.
-
A large scale empirical study of the impact of Spaghetti Code and Blob anti-patterns on program comprehension
'Elsevier BV', 2020Co-Authors: Politowski C., Khomh F., Romano S., Scanniello G., Petrillo F., Gueheneuc Y. -g., Maiga A.Abstract:Context: Several studies investigated the impact of anti-patterns (i.e., “poor” solutions to recurring design problems) during maintenance activities and reported that anti-patterns significantly affect the developers’ effort required to edit files. However, before developers edit files, they must understand the source Code of the systems. This source Code must be easy to understand by developers. Objective: In this work, we provide a complete assessment of the impact of two instances of two anti-patterns, Blob or Spaghetti Code, on program comprehension. Method: We analyze the impact of these two anti-patterns through three empirical studies conducted at Polytechnique Montré al (Canada) with 24 participants; at Carlton University (Canada) with 30 participants; and at University Basilicata (Italy) with 79 participants. Results: We collect data from 372 tasks obtained thanks to 133 different participants from the three universities. We use three metrics to assess the developers’ comprehension of the source Code: (1) the duration to complete each task; (2) their percentage of correct answers; and, (3) the NASA task load index for their effort. Conclusions: We report that, although single occurrences of Blob or Spaghetti Code anti-patterns have little effect on Code comprehension, two occurrences of either Blob or Spaghetti Code significantly increases the developers’ time spent in their tasks, reduce their percentage of correct answers, and increase their effort. Hence, we recommend that developers act on both anti-patterns, which should be refactored out of the source Code whenever possible. We also recommend further studies on combinations of anti-patterns rather than on single anti-patterns one at a time
Maiga Abdou - One of the best experts on this subject based on the ideXlab platform.
-
A Large Scale Empirical Study of the Impact of Spaghetti Code and Blob Anti-patterns on Program Comprehension
'Elsevier BV', 2020Co-Authors: Politowski Cristiano, Khomh Foutse, Romano Simone, Scanniello Giuseppe, Petrillo Fabio, Guéhéneuc Yann-gaël, Maiga AbdouAbstract:Context: Several studies investigated the impact of anti-patterns (i.e., "poor" solutions to recurring design problems) during maintenance activities and reported that anti-patterns significantly affect the developers' effort required to edit files. However, before developers edit files, they must understand the source Code of the systems. This source Code must be easy to understand by developers. Objective: In this work, we provide a complete assessment of the impact of two instances of two anti-patterns, Blob or Spaghetti Code, on program comprehension. Method: We analyze the impact of these two anti-patterns through three empirical studies conducted at Polytechnique Montr\'eal (Canada) with 24 participants; at Carlton University (Canada) with 30 participants; and at University Basilicata (Italy) with 79 participants. Results: We collect data from 372 tasks obtained thanks to 133 different participants from the three universities. We use three metrics to assess the developers' comprehension of the source Code: (1) the duration to complete each task; (2) their percentage of correct answers; and, (3) the NASA task load index for their effort. Conclusions: We report that, although single occurrences of Blob or Spaghetti Code anti-patterns have little effect on Code comprehension, two occurrences of either Blob or Spaghetti Code significantly increases the developers' time spent in their tasks, reduce their percentage of correct answers, and increase their effort. Hence, we recommend that developers act on both anti-patterns, which should be refactored out of the source Code whenever possible. We also recommend further studies on combinations of anti-patterns rather than on single anti-patterns one at a time
Yanngael Gueheneuc - One of the best experts on this subject based on the ideXlab platform.
-
an empirical study of the impact of two antipatterns blob and Spaghetti Code on program comprehension
Conference on Software Maintenance and Reengineering, 2011Co-Authors: Marwen Abbes, Foutse Khomh, Yanngael Gueheneuc, Giuliano AntoniolAbstract: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.