DocumentCode
2266244
Title
The evolution and impact of code smells: A case study of two open source systems
Author
Olbrich, Steffen ; Cruzes, Daniela S. ; Basili, Victor ; Zazworka, Nico
Author_Institution
Dept. of Comput. Sci., Univ. of Appl. Sci., Mannheim, Germany
fYear
2009
fDate
15-16 Oct. 2009
Firstpage
390
Lastpage
400
Abstract
Code smells are design flaws in object-oriented designs that may lead to maintainability issues in the further evolution of the software system. This study focuses on the evolution of code smells within a system and their impact on the change behavior (change frequency and size). The study investigates two code smells, God Class and Shotgun Surgery, by analyzing the historical data over several years of development of two large scale open source systems. The detection of code smells in the evolution of those systems was performed by the application of an automated approach using detection strategies. The results show that we can identify different phases in the evolution of code smells during the system development and that code smell infected components exhibit a different change behavior. This information is useful for the identification of risk areas within a software system that need refactoring to assure a future positive evolution.
Keywords
object-oriented programming; public domain software; software maintenance; God Class; Shotgun Surgery; code smells; design flaws; detection strategies; object-oriented designs; open source systems; software system evolution; Data analysis; Educational institutions; Error probability; Open source software; Software engineering; Software maintenance; Software measurement; Software performance; Software systems; Surgery;
fLanguage
English
Publisher
ieee
Conference_Titel
Empirical Software Engineering and Measurement, 2009. ESEM 2009. 3rd International Symposium on
Conference_Location
Lake Buena Vista, FL
ISSN
1938-6451
Print_ISBN
978-1-4244-4842-5
Electronic_ISBN
1938-6451
Type
conf
DOI
10.1109/ESEM.2009.5314231
Filename
5314231
Link To Document