Analyzing the Impact of Antipatterns on Change-Proneness Using Fine-Grained Source Code Changes

Uložené v:
Podrobná bibliografia
Názov: Analyzing the Impact of Antipatterns on Change-Proneness Using Fine-Grained Source Code Changes
Autori: Romano, D. (author), Raila, P. (author), Pinzger, M. (author), Khomh, F. (author)
Informácie o vydavateľovi: Delft University of Technology, Software Engineering Research Group, 2012.
Rok vydania: 2012
Predmety: change-proneness, empirical software engineering, fine-grained source code changes, antipatterns
Popis: Preprint of paper published in: WCRE 2012 - Proceedings of the 19th Working Conference on Reverse Engineering, 15-18 October 2012; doi:10.1109/WCRE.2012.53 Antipatterns are poor solutions to design and implementation problems which are claimed to make object oriented systems hard to maintain. Our recent studies showed that classes with antipatterns change more frequently than classes without antipatterns. In this paper, we detail these analyses by taking into account fine-grained source code changes (SCC) extracted from 16 Java open source systems. In particular we investigate: whether classes with antipatterns are more change-prone (in terms of SCC) than classes without; (2) whether the type of antipattern impacts the change-proneness of Java classes; and (3) whether certain types of changes are performed more frequently in classes affected by a certain antipattern. Our results show that: 1) the number of SCC performed in classes affected by antipatterns is statistically greater than the number of SCC performed in classes with no antipattern; 2) classes participating in the three antipatterns ComplexClass, SpaghettiCode, and SwissArmyKnife are more change-prone than classes affected by other antipatterns; and 3) certain types of changes are more likely to be performed in classes affected by certain antipatterns, such as API changes are likely to be performed in classes affected by the ComplexClass, SpaghettiCode, and SwissArmyKnife antipatterns.
Electrical Engineering, Mathematics and Computer Science
Software Computer Technology
Druh dokumentu: Report
Jazyk: English
Prístupová URL adresa: http://resolver.tudelft.nl/uuid:063e5504-cdbb-4ec9-9efc-3d727115a41e
Prístupové číslo: edsair.dedup.wf.002..49d604e90304e895f9b2f58c7f1fc063
Databáza: OpenAIRE
Popis
Abstrakt:Preprint of paper published in: WCRE 2012 - Proceedings of the 19th Working Conference on Reverse Engineering, 15-18 October 2012; doi:10.1109/WCRE.2012.53 Antipatterns are poor solutions to design and implementation problems which are claimed to make object oriented systems hard to maintain. Our recent studies showed that classes with antipatterns change more frequently than classes without antipatterns. In this paper, we detail these analyses by taking into account fine-grained source code changes (SCC) extracted from 16 Java open source systems. In particular we investigate: whether classes with antipatterns are more change-prone (in terms of SCC) than classes without; (2) whether the type of antipattern impacts the change-proneness of Java classes; and (3) whether certain types of changes are performed more frequently in classes affected by a certain antipattern. Our results show that: 1) the number of SCC performed in classes affected by antipatterns is statistically greater than the number of SCC performed in classes with no antipattern; 2) classes participating in the three antipatterns ComplexClass, SpaghettiCode, and SwissArmyKnife are more change-prone than classes affected by other antipatterns; and 3) certain types of changes are more likely to be performed in classes affected by certain antipatterns, such as API changes are likely to be performed in classes affected by the ComplexClass, SpaghettiCode, and SwissArmyKnife antipatterns.<br />Electrical Engineering, Mathematics and Computer Science<br />Software Computer Technology