Abstract

The automatic detection of Design Smells has evolved in parallel to the evolution of automatic refactoring tools. There was a huge rise in research activity regarding Design Smell detection from 2010 to the present. However, it should be noted that the adoption of Design Smell detection in real software development practice is not comparable to the adoption of automatic refactoring tools. On the basis of the assumption that it is the objectiveness of a refactoring operation as opposed to the subjectivity in definition and identification of Design Smells that makes the difference, in this paper, the lack of agreement between different evaluators when detecting Design Smells is empirically studied. To do so, a series of experiments and studies were designed and conducted to analyse the concordance in Design Smell detection of different persons and tools, including a comparison between them. This work focuses on two well known Design Smells : God Class and Feature Envy . Concordance analysis is based on the Kappa statistic for inter-rater agreement (particularly Kappa-Fleiss ). The results obtained show that there is no agreement in detection in general, and, in those cases where a certain agreement appears, it is considered to be a fair or poor degree of agreement, according to a Kappa-Fleiss interpretation scale. This seems to confirm that there is a subjective component which makes the raters evaluate the presence of Design Smells differently. The study also raises the question of a lack of training and experience regarding Design Smells .

Highlights

  • Ward Cunningham introduced the term “Technical Debt” as a metaphor in an experience report presented at OOPSLA’92

  • We focused on God Class and Feature EnvyDesign Smells because they are the most cited smells in the literature according to our systematic mapping of Design Smell detection [9]

  • To answer the research question RQ1, we recall the null hypothesis that we studied in two cases regarding each Design Smell, God Class (GC) and Feature Envy (FE): H0GC : The detection tools do not agree in identifying God Class in the classes of the Apache Lucene 3.1.0 project

Read more

Summary

Introduction

Ward Cunningham introduced the term “Technical Debt” as a metaphor in an experience report presented at OOPSLA’92. 1http://c2.com/cgi/wiki?CodeSmell popularised the terms refactoring and Bad Smells beyond an academic context with their seminal book. This popularisation started in the year 2000. A. THE GOD CLASS AND FEATURE ENVY DESIGN SMELLS. This study focuses on two different kinds of Design Smells: God Class and Feature Envy. God Class is an intra-class Design Smell, i.e., it is sufficient to observe the single class to detect the smell and its scope is the class. A tool detecting Feature Envy should look inside the method details in order to observe how interaction with other classes is achieved. When metrics are involved in the detection, different sets of metrics are relevant to detect each of them

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.