Code smells are indicators of design flaws or problems in the source code. Various tools and techniques have been proposed for detecting code smells. These tools generally detect a large number of code smells, so approaches have also been developed for prioritizing and filtering code smells. However, lack of empirical data detailing how developers filter and prioritize code smells hinders improvements to these approaches. In this study, we investigated ten professional developers to determine the factors they use for filtering and prioritizing code smells in an open source project under the condition that they complete a list of five tasks. In total, we obtained 69 responses for code smell filtration and 50 responses for code smell prioritization from the ten professional developers. We found that Task relevance and Smell severity were most commonly considered during code smell filtration, while Module importance and Task relevance were employed most often for code smell prioritization. These results may facilitate further research into code smell detection, prioritization, and filtration to better focus on the actual needs of developers.
Natthawute SAE-LIM
Tokyo Institute of Technology
Shinpei HAYASHI
Tokyo Institute of Technology
Motoshi SAEKI
Tokyo Institute of Technology
The copyright of the original papers published on this site belongs to IEICE. Unauthorized use of the original or translated papers is prohibited. See IEICE Provisions on Copyright for details.
Copy
Natthawute SAE-LIM, Shinpei HAYASHI, Motoshi SAEKI, "An Investigative Study on How Developers Filter and Prioritize Code Smells" in IEICE TRANSACTIONS on Information,
vol. E101-D, no. 7, pp. 1733-1742, July 2018, doi: 10.1587/transinf.2017KBP0006.
Abstract: Code smells are indicators of design flaws or problems in the source code. Various tools and techniques have been proposed for detecting code smells. These tools generally detect a large number of code smells, so approaches have also been developed for prioritizing and filtering code smells. However, lack of empirical data detailing how developers filter and prioritize code smells hinders improvements to these approaches. In this study, we investigated ten professional developers to determine the factors they use for filtering and prioritizing code smells in an open source project under the condition that they complete a list of five tasks. In total, we obtained 69 responses for code smell filtration and 50 responses for code smell prioritization from the ten professional developers. We found that Task relevance and Smell severity were most commonly considered during code smell filtration, while Module importance and Task relevance were employed most often for code smell prioritization. These results may facilitate further research into code smell detection, prioritization, and filtration to better focus on the actual needs of developers.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.2017KBP0006/_p
Copy
@ARTICLE{e101-d_7_1733,
author={Natthawute SAE-LIM, Shinpei HAYASHI, Motoshi SAEKI, },
journal={IEICE TRANSACTIONS on Information},
title={An Investigative Study on How Developers Filter and Prioritize Code Smells},
year={2018},
volume={E101-D},
number={7},
pages={1733-1742},
abstract={Code smells are indicators of design flaws or problems in the source code. Various tools and techniques have been proposed for detecting code smells. These tools generally detect a large number of code smells, so approaches have also been developed for prioritizing and filtering code smells. However, lack of empirical data detailing how developers filter and prioritize code smells hinders improvements to these approaches. In this study, we investigated ten professional developers to determine the factors they use for filtering and prioritizing code smells in an open source project under the condition that they complete a list of five tasks. In total, we obtained 69 responses for code smell filtration and 50 responses for code smell prioritization from the ten professional developers. We found that Task relevance and Smell severity were most commonly considered during code smell filtration, while Module importance and Task relevance were employed most often for code smell prioritization. These results may facilitate further research into code smell detection, prioritization, and filtration to better focus on the actual needs of developers.},
keywords={},
doi={10.1587/transinf.2017KBP0006},
ISSN={1745-1361},
month={July},}
Copy
TY - JOUR
TI - An Investigative Study on How Developers Filter and Prioritize Code Smells
T2 - IEICE TRANSACTIONS on Information
SP - 1733
EP - 1742
AU - Natthawute SAE-LIM
AU - Shinpei HAYASHI
AU - Motoshi SAEKI
PY - 2018
DO - 10.1587/transinf.2017KBP0006
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E101-D
IS - 7
JA - IEICE TRANSACTIONS on Information
Y1 - July 2018
AB - Code smells are indicators of design flaws or problems in the source code. Various tools and techniques have been proposed for detecting code smells. These tools generally detect a large number of code smells, so approaches have also been developed for prioritizing and filtering code smells. However, lack of empirical data detailing how developers filter and prioritize code smells hinders improvements to these approaches. In this study, we investigated ten professional developers to determine the factors they use for filtering and prioritizing code smells in an open source project under the condition that they complete a list of five tasks. In total, we obtained 69 responses for code smell filtration and 50 responses for code smell prioritization from the ten professional developers. We found that Task relevance and Smell severity were most commonly considered during code smell filtration, while Module importance and Task relevance were employed most often for code smell prioritization. These results may facilitate further research into code smell detection, prioritization, and filtration to better focus on the actual needs of developers.
ER -