Core Concepts
소프트웨어 리팩토링 프로세스를 지원하기 위해 다양한 딥러닝 기술이 사용되고 있으며, 이는 기존의 수동 설계 휴리스틱에 비해 더 효율적이고 자동화된 접근 방식을 제공한다.
Abstract
이 논문은 딥러닝 기반 소프트웨어 리팩토링에 대한 포괄적인 조사를 제공한다. 연구자들은 딥러닝 기술을 사용하여 코드 냄새 탐지, 리팩토링 솔루션 추천, 엔드-투-엔드 코드 변환, 품질 보증, 리팩토링 마이닝 등 다양한 리팩토링 작업을 지원하는 접근 방식을 제안했다.
코드 냄새 탐지 분야에서는 순차 모델링 기반 접근법, 그래프 기반 접근법, 하이브리드 접근법 등이 제안되었다. 이러한 접근법들은 코드의 구조적, 의미적 특성을 효과적으로 학습하여 코드 냄새를 탐지할 수 있다.
리팩토링 솔루션 추천 분야에서는 코드 메트릭과 텍스트 정보를 활용하여 적절한 리팩토링 솔루션을 제안하는 접근법이 제안되었다.
엔드-투-엔드 코드 변환 분야에서는 코드 구조와 의미를 모두 고려하여 자동으로 리팩토링을 수행하는 접근법이 제안되었다.
품질 보증 분야에서는 아직 딥러닝 기반 접근법이 제안되지 않았다.
리팩토링 마이닝 분야에서는 리팩토링 기록을 자동으로 추출하고 분석하는 접근법이 제안되었다.
이러한 다양한 접근법을 통해 소프트웨어 리팩토링 프로세스를 지원하고자 하는 노력이 이루어지고 있다.
Stats
리팩토링은 소프트웨어 품질(특히 유지보수성)을 향상시키는 데 사용되는 가장 중요한 활동 중 하나이다.
전통적인 리팩토링 접근법은 수동으로 설계된 휴리스틱을 사용하지만, 이는 번거롭고 시간 소모적이며 어려운 경우가 많다.
딥러닝 기술의 발전으로 인해 연구자들은 딥러닝 기술을 소프트웨어 리팩토링에 적용하고자 노력하고 있다.
Quotes
"리팩토링은 소프트웨어 품질(특히 유지보수성)을 향상시키는 데 사용되는 가장 중요한 활동 중 하나이다."
"전통적인 리팩토링 접근법은 수동으로 설계된 휴리스틱을 사용하지만, 이는 번거롭고 시간 소모적이며 어려운 경우가 많다."
"딥러닝 기술의 발전으로 인해 연구자들은 딥러닝 기술을 소프트웨어 리팩토링에 적용하고자 노력하고 있다."