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
소프트웨어 분석 가능성을 향상시키는 중요한 단계는 유지 관리 단계에서 리팩토링을 적용하여 악취, 특히 장기 악취를 제거하는 것입니다. 롱 메소드 악취는 가장 빈번하게 발생하며, 다른 악취의 근본 원인이기도 합니다. 그러나 소프트웨어 분석 가능성을 줄이지 않고 모든 장기 방법의 악취가 완전히 제거될 때까지 리팩토링 식별, 제안 및 적용을 반복하는 접근 방식을 제안한 연구는 없습니다. 본 논문에서는 코드 분석성을 저하시키지 않으면서 리팩토링 기회를 식별하고 롱 메소드 악취를 완벽하게 제거할 수 있는 효과적인 리팩토링 세트를 제안하는 효과적인 접근 방식을 제안합니다. LMR(Long Method Remover)이라고 하는 이 접근 방식은 프로그램 분석 및 코드 메트릭을 기반으로 한 리팩토링 활성화 조건을 사용하여 네 가지 리팩토링 기술을 식별하고 JDeodorant에 내장된 기술을 사용하여 추출 방법을 식별합니다. 효과적인 리팩토링 세트 제안을 위해 LMR은 코드 분석 수준과 리팩토링의 영향을 받는 명령문 수라는 두 가지 기준을 사용합니다. LMR은 또한 부작용 분석을 사용하여 행동 보존을 보장합니다. LMR을 평가하기 위해 실제 Java 애플리케이션의 핵심 패키지에 적용합니다. 우리의 평가 기준은 1) 코드 기능성 유지, 2) 긴 메소드 특성 제거율, 3) 분석성 향상입니다. 그 결과, 제안된 리팩토링 세트를 적용한 방법은 장기 방법의 악취를 완전히 제거할 수 있으면서도 행위 보존성을 유지하며 분석 가능성을 저하시키지 않는 것으로 나타났습니다. LMR은 거의 모든 클래스에서 목표를 달성하는 것으로 결론지어졌습니다. 또한 평가 중에 발견한 문제에 대해 교훈을 얻어 논의했습니다.
Panita MEANANEATRA
Thammasat University
Songsakdi RONGVIRIYAPANISH
Thammasat University
Taweesup APIWATTANAPONG
National Science and Technology Development Agency
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.
부
Panita MEANANEATRA, Songsakdi RONGVIRIYAPANISH, Taweesup APIWATTANAPONG, "Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability" in IEICE TRANSACTIONS on Information,
vol. E101-D, no. 7, pp. 1766-1779, July 2018, doi: 10.1587/transinf.2017KBP0026.
Abstract: An important step for improving software analyzability is applying refactorings during the maintenance phase to remove bad smells, especially the long method bad smell. Long method bad smell occurs most frequently and is a root cause of other bad smells. However, no research has proposed an approach to repeating refactoring identification, suggestion, and application until all long method bad smells have been removed completely without reducing software analyzability. This paper proposes an effective approach to identifying refactoring opportunities and suggesting an effective refactoring set for complete removal of long method bad smell without reducing code analyzability. This approach, called the long method remover or LMR, uses refactoring enabling conditions based on program analysis and code metrics to identify four refactoring techniques and uses a technique embedded in JDeodorant to identify extract method. For effective refactoring set suggestion, LMR uses two criteria: code analyzability level and the number of statements impacted by the refactorings. LMR also uses side effect analysis to ensure behavior preservation. To evaluate LMR, we apply it to the core package of a real world java application. Our evaluation criteria are 1) the preservation of code functionality, 2) the removal rate of long method characteristics, and 3) the improvement on analyzability. The result showed that the methods that apply suggested refactoring sets can completely remove long method bad smell, still have behavior preservation, and have not decreased analyzability. It is concluded that LMR meets the objectives in almost all classes. We also discussed the issues we found during evaluation as lesson learned.
URL: https://global.ieice.org/en_transactions/information/10.1587/transinf.2017KBP0026/_p
부
@ARTICLE{e101-d_7_1766,
author={Panita MEANANEATRA, Songsakdi RONGVIRIYAPANISH, Taweesup APIWATTANAPONG, },
journal={IEICE TRANSACTIONS on Information},
title={Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability},
year={2018},
volume={E101-D},
number={7},
pages={1766-1779},
abstract={An important step for improving software analyzability is applying refactorings during the maintenance phase to remove bad smells, especially the long method bad smell. Long method bad smell occurs most frequently and is a root cause of other bad smells. However, no research has proposed an approach to repeating refactoring identification, suggestion, and application until all long method bad smells have been removed completely without reducing software analyzability. This paper proposes an effective approach to identifying refactoring opportunities and suggesting an effective refactoring set for complete removal of long method bad smell without reducing code analyzability. This approach, called the long method remover or LMR, uses refactoring enabling conditions based on program analysis and code metrics to identify four refactoring techniques and uses a technique embedded in JDeodorant to identify extract method. For effective refactoring set suggestion, LMR uses two criteria: code analyzability level and the number of statements impacted by the refactorings. LMR also uses side effect analysis to ensure behavior preservation. To evaluate LMR, we apply it to the core package of a real world java application. Our evaluation criteria are 1) the preservation of code functionality, 2) the removal rate of long method characteristics, and 3) the improvement on analyzability. The result showed that the methods that apply suggested refactoring sets can completely remove long method bad smell, still have behavior preservation, and have not decreased analyzability. It is concluded that LMR meets the objectives in almost all classes. We also discussed the issues we found during evaluation as lesson learned.},
keywords={},
doi={10.1587/transinf.2017KBP0026},
ISSN={1745-1361},
month={July},}
부
TY - JOUR
TI - Refactoring Opportunity Identification Methodology for Removing Long Method Smells and Improving Code Analyzability
T2 - IEICE TRANSACTIONS on Information
SP - 1766
EP - 1779
AU - Panita MEANANEATRA
AU - Songsakdi RONGVIRIYAPANISH
AU - Taweesup APIWATTANAPONG
PY - 2018
DO - 10.1587/transinf.2017KBP0026
JO - IEICE TRANSACTIONS on Information
SN - 1745-1361
VL - E101-D
IS - 7
JA - IEICE TRANSACTIONS on Information
Y1 - July 2018
AB - An important step for improving software analyzability is applying refactorings during the maintenance phase to remove bad smells, especially the long method bad smell. Long method bad smell occurs most frequently and is a root cause of other bad smells. However, no research has proposed an approach to repeating refactoring identification, suggestion, and application until all long method bad smells have been removed completely without reducing software analyzability. This paper proposes an effective approach to identifying refactoring opportunities and suggesting an effective refactoring set for complete removal of long method bad smell without reducing code analyzability. This approach, called the long method remover or LMR, uses refactoring enabling conditions based on program analysis and code metrics to identify four refactoring techniques and uses a technique embedded in JDeodorant to identify extract method. For effective refactoring set suggestion, LMR uses two criteria: code analyzability level and the number of statements impacted by the refactorings. LMR also uses side effect analysis to ensure behavior preservation. To evaluate LMR, we apply it to the core package of a real world java application. Our evaluation criteria are 1) the preservation of code functionality, 2) the removal rate of long method characteristics, and 3) the improvement on analyzability. The result showed that the methods that apply suggested refactoring sets can completely remove long method bad smell, still have behavior preservation, and have not decreased analyzability. It is concluded that LMR meets the objectives in almost all classes. We also discussed the issues we found during evaluation as lesson learned.
ER -