Smells are sensitive to developers! on the efficiency of (un) guided customized detection

M Hozano, A Garcia, N Antunes… - 2017 IEEE/ACM 25th …, 2017 - ieeexplore.ieee.org
2017 IEEE/ACM 25th International Conference on Program …, 2017ieeexplore.ieee.org
Code smells indicate poor implementation choices that may hinder program comprehension
and maintenance. Their informal definition allows developers to follow different heuristics to
detect smells in their projects. Machine learning has been used to customize smell detection
according to the developer's perception. However, such customization is not guided (ie
constrained) to consider alternative heuristics used by developers when detecting smells. As
a result, their customization might not be efficient, requiring a considerable effort to reach …
Code smells indicate poor implementation choices that may hinder program comprehension and maintenance. Their informal definition allows developers to follow different heuristics to detect smells in their projects. Machine learning has been used to customize smell detection according to the developer's perception. However, such customization is not guided (i.e. constrained) to consider alternative heuristics used by developers when detecting smells. As a result, their customization might not be efficient, requiring a considerable effort to reach high effectiveness. In fact, there is no empirical knowledge yet about the efficiency of such unguided approaches for supporting developer-sensitive smell detection. This paper presents Histrategy, a guided customization technique to improve the efficiency on smell detection. Histrategy considers a limited set of detection strategies, produced from different detection heuristics, as input of a customization process. The output of the customization process consists of a detection strategy tailored to each developer. The technique was evaluated in an experimental study with 48 developers and four types of code smells. The results showed that Histrategy is able to outperform six widely adopted machine learning algorithms - used in unguided approaches - both in effectiveness and efficiency. It was also confirmed that most developers benefit from using alternative heuristics to: (i) build their tailored detection strategies, and (ii) achieve efficient smell detection.
ieeexplore.ieee.org