The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. ex. Some numerals are expressed as "XNUMX".
Copyrights notice
The original paper is in English. Non-English content has been machine-translated and may contain typographical errors or mistranslations. Copyrights notice
소스 코드 측정항목을 기반으로 코드 냄새를 감지하는 정적 분석기와 같은 도구를 사용하여 코드 냄새를 감지할 수 있습니다. 개발자는 이러한 탐지 도구의 결과를 바탕으로 소스 코드 품질을 향상시키기 위해 리팩토링 활동을 수행합니다. 그러나 그러한 접근 방식은 다음과 같이 간주될 수 있습니다. 반응형 리팩토링즉, 개발자는 코드 냄새가 발생한 후 이에 반응합니다. 이는 개발자가 코드 냄새 해결을 시작하기 전에 먼저 품질이 낮은 소스 코드의 영향을 받는다는 것을 의미합니다. 이 연구에서 우리는 다음에 중점을 둡니다. 사전 리팩토링즉, 냄새가 나기 전에 소스 코드를 리팩토링하는 것입니다. 이 접근 방식을 통해 개발자는 코드 냄새의 영향을 받지 않고도 소스 코드 품질을 유지할 수 있습니다. 사전 리팩토링 프로세스를 지원하기 위해 우리는 탐지 기술을 제안합니다. 부패하는 모듈, 냄새가 나기 직전의 무취 모듈입니다. 우리는 소멸되는 모듈의 특성을 연구하기 위한 목적으로 오픈소스 프로젝트에 대한 실증적 연구를 제시합니다. 또한 개발자의 리팩토링 계획 프로세스를 촉진하기 위해 기계 학습 기술을 사용하여 붕괴 모듈을 예측하고 고려 중인 모델의 성능에 가장 크게 기여하는 요소를 보고하는 방법에 대한 연구를 수행합니다.
Natthawute SAE-LIM
Tokyo Institute of Technology
Shinpei HAYASHI
Tokyo Institute of Technology
Motoshi SAEKI
Nanzan University
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.
부
Natthawute SAE-LIM, Shinpei HAYASHI, Motoshi SAEKI, "Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their Prediction" in IEICE TRANSACTIONS on Information,
vol. E104-D, no. 10, pp. 1601-1615, October 2021, doi: 10.1587/transinf.2020EDP7255.
Abstract: Code smells can be detected using tools such as a static analyzer that detects code smells based on source code metrics. Developers perform refactoring activities based on the result of such detection tools to improve source code quality. However, such an approach can be considered as reactive refactoring, i.e., developers react to code smells after they occur. This means that developers first suffer the effects of low-quality source code before they start solving code smells. In this study, we focus on proactive refactoring, i.e., refactoring source code before it becomes smelly. This approach would allow developers to maintain source code quality without having to suffer the impact of code smells. To support the proactive refactoring process, we propose a technique to detect decaying modules, which are non-smelly modules that are about to become smelly. We present empirical studies on open source projects with the aim of studying the characteristics of decaying modules. Additionally, to facilitate developers in the refactoring planning process, we perform a study on using a machine learning technique to predict decaying modules and report a factor that contributes most to the performance of the model under consideration.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.2020EDP7255/_p
부
@ARTICLE{e104-d_10_1601,
author={Natthawute SAE-LIM, Shinpei HAYASHI, Motoshi SAEKI, },
journal={IEICE TRANSACTIONS on Information},
title={Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their Prediction},
year={2021},
volume={E104-D},
number={10},
pages={1601-1615},
abstract={Code smells can be detected using tools such as a static analyzer that detects code smells based on source code metrics. Developers perform refactoring activities based on the result of such detection tools to improve source code quality. However, such an approach can be considered as reactive refactoring, i.e., developers react to code smells after they occur. This means that developers first suffer the effects of low-quality source code before they start solving code smells. In this study, we focus on proactive refactoring, i.e., refactoring source code before it becomes smelly. This approach would allow developers to maintain source code quality without having to suffer the impact of code smells. To support the proactive refactoring process, we propose a technique to detect decaying modules, which are non-smelly modules that are about to become smelly. We present empirical studies on open source projects with the aim of studying the characteristics of decaying modules. Additionally, to facilitate developers in the refactoring planning process, we perform a study on using a machine learning technique to predict decaying modules and report a factor that contributes most to the performance of the model under consideration.},
keywords={},
doi={10.1587/transinf.2020EDP7255},
ISSN={1745-1361},
month={October},}
부
TY - JOUR
TI - Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their Prediction
T2 - IEICE TRANSACTIONS on Information
SP - 1601
EP - 1615
AU - Natthawute SAE-LIM
AU - Shinpei HAYASHI
AU - Motoshi SAEKI
PY - 2021
DO - 10.1587/transinf.2020EDP7255
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E104-D
IS - 10
JA - IEICE TRANSACTIONS on Information
Y1 - October 2021
AB - Code smells can be detected using tools such as a static analyzer that detects code smells based on source code metrics. Developers perform refactoring activities based on the result of such detection tools to improve source code quality. However, such an approach can be considered as reactive refactoring, i.e., developers react to code smells after they occur. This means that developers first suffer the effects of low-quality source code before they start solving code smells. In this study, we focus on proactive refactoring, i.e., refactoring source code before it becomes smelly. This approach would allow developers to maintain source code quality without having to suffer the impact of code smells. To support the proactive refactoring process, we propose a technique to detect decaying modules, which are non-smelly modules that are about to become smelly. We present empirical studies on open source projects with the aim of studying the characteristics of decaying modules. Additionally, to facilitate developers in the refactoring planning process, we perform a study on using a machine learning technique to predict decaying modules and report a factor that contributes most to the performance of the model under consideration.
ER -