• DocumentCode
    2672308
  • Title

    Are all code smells harmful? A study of God Classes and Brain Classes in the evolution of three open source systems

  • Author

    Olbrich, Steffen M. ; Cruze, Daniela S. ; Sjøberg, Dag I K

  • Author_Institution
    Fraunhofer IESE, Kaiserslautern, Germany
  • fYear
    2010
  • fDate
    12-18 Sept. 2010
  • Firstpage
    1
  • Lastpage
    10
  • Abstract
    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.
  • Keywords
    object-oriented programming; public domain software; software maintenance; brain classes; code smells; god classes; maintainability; object-oriented systems; open source systems; Data analysis; FAA; Instruments; Software; Code smells; change frequency; defects; detection strategies; open source; software evolution;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance (ICSM), 2010 IEEE International Conference on
  • Conference_Location
    Timisoara
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4244-8630-4
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2010.5609564
  • Filename
    5609564