• DocumentCode
    3385328
  • Title

    Investigating the Evolution of Bad Smells in Object-Oriented Code

  • Author

    Chatzigeorgiou, Alexander ; Manakos, Anastasios

  • Author_Institution
    Dept. of Appl. Inf., Univ. of Macedonia, Thessaloniki, Greece
  • fYear
    2010
  • fDate
    Sept. 29 2010-Oct. 2 2010
  • Firstpage
    106
  • Lastpage
    115
  • Abstract
    Software design problems are known and perceived under many different terms such as bad smells, flaws, non-compliance to design principles, violation of heuristics, excessive metric values and antipatterns, signifying the importance of handling them in the construction and maintenance of software. Once a design problem is identified, it can be removed by applying an appropriate refactoring, improving in most cases several aspects of quality such as maintainability, comprehensibility and reusability. This paper, taking advantage of recent advances and tools in the identification of non-trivial bad smells, explores the presence and evolution of such problems by analyzing past versions of code. Several interesting questions can be investigated such as whether the number of problems increases with the passage of software generations, whether problems vanish by time or only by targeted human intervention, whether bad smells occur in the course of evolution of a module or exist right from the beginning and whether refactorings targeting at smell removal are frequent. In contrast to previous studies that investigate the application of refactorings in the history of a software project, we attempt to study the subject from the point of view of the problems themselves distinguishing deliberate maintenance activities from the removal of design problems as a side effect of software evolution. Results are discussed for two open-source systems and three bad smells.
  • Keywords
    object-oriented programming; software maintenance; software reusability; bad smells; comprehensibility; maintainability; object-oriented code; open-source systems; reusability; software design; software evolution; software generations; software maintenance; software project; History; Java; Maintenance engineering; Measurement; Open source software; Software systems; bad smell; evolution; refactoring; software history; software repositories;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Quality of Information and Communications Technology (QUATIC), 2010 Seventh International Conference on the
  • Conference_Location
    Porto
  • Print_ISBN
    978-1-4244-8539-0
  • Electronic_ISBN
    978-0-7695-4241-6
  • Type

    conf

  • DOI
    10.1109/QUATIC.2010.16
  • Filename
    5654794