핵심 개념
개발자가 명시적으로 인정한 하위 최적 코드 품질 또는 설계 결함을 자동으로 탐지하는 다양한 접근법을 조사하고 평가한다.
초록
이 연구는 기술 부채(TD) 탐지를 위한 자동화된 접근법에 대한 체계적 문헌 고찰을 수행했다. 연구팀은 2002년부터 2022년까지 발표된 53개의 관련 연구 논문을 분석했다.
주요 결과는 다음과 같다:
자동화된 TD 탐지 접근법은 크게 세 가지 그룹으로 구분된다: 순수 NLP 기반, NLP와 기계 학습 결합, NLP와 딥 러닝 결합. 이 중 NLP와 딥 러닝 결합 접근법이 가장 우수한 성능을 보였다.
특징 추출 기법은 텍스트 패턴, 빈도 기반 임베딩, 단어 임베딩, 사전 학습 임베딩으로 분류된다. 사전 학습 임베딩이 가장 높은 정확도, 재현율, F1-점수를 달성했다.
TD 유형은 소프트웨어 개발 활동(요구사항, 설계, 구현, 테스트, 유지보수)과 매핑되었다. 각 개발 활동에 가장 적합한 특징 추출 기법과 알고리즘이 식별되었다.
이 연구 결과는 연구자와 실무자에게 TD 탐지 기술 발전을 위한 시사점을 제공한다.
통계
기술 부채는 개발 일정과 자원 제한으로 인해 발생한다.
기술 부채는 소프트웨어 유지보수와 향후 개발 노력을 저해할 수 있다.
개발자가 명시적으로 인정한 기술 부채(SATD)는 중요한 정보를 제공한다.
인용구
"기술 부채는 소프트웨어 개발 프로젝트에서 언제든 발생할 수 있으며, 다양한 요인으로 인해 발생할 수 있다."
"SATD 탐지의 중요성은 향후 발생할 수 있는 문제를 사전에 해결하고, 기술 부채를 관리 가능하게 하며, 발생 건수를 통제할 수 있다는 데 있다."