Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Are all code smells harmful? A study of god classes and brain classes in the evolution of three open source systems

: Olbrich, Steffen M.; Cruzes, Daniela S.; Sjoberg, Dag I.K.


IEEE Computer Society:
IEEE International Conference on Software Maintenance, ICSM 2010. Proceedings : 12-18 Sept. 2010, Timisoara
Los Alamitos, Calif.: IEEE Computer Society Press, 2010
ISBN: 978-1-4244-8629-8
ISBN: 978-1-4244-8628-1
ISBN: 978-1-4244-8630-4
10 pp.
International Conference on Software Maintenance (ICSM) <26, 2010, Timisoara>
Conference Paper
Fraunhofer IESE ()
code smell; software evolution; open source

Code smells are particular patterns in object-oriented systems that are perceived to lead to difficulties in the maintenance of such systems. It is held that to improve maintainability, code smells should be eliminated by refactoring. It is claimed that classes that are involved in certain code smells are liable to be changed more frequently and have more defects than other classes in the code. We investigated the extent to which this claim is true for God Classes and Brain Classes, with and without normalizing the effects with respect to the class size. We analyzed historical data from 7 to 10 years of the development of three open-source software systems. The results show that God and Brain Classes were changed more frequently and contained more defects than other kinds of class. However, when we normalized the measured effects with respect to size, then God and Brain Classes were less subject to change and had fewer defects than other classes. Hence, under the assumption that God and Brain Classes contain on average as much functionality per line of code as other classes, the presence of God and Brain Classes is not necessarily harmful; in fact, such classes may be an efficient way of organizing code.