Skip to main content
QUICK REVIEW

[논문 리뷰] MAT: A simple yet strong baseline for identifying self-admitted technical debt

Zhaoqiang Guo, Shiran Liu|arXiv (Cornell University)|2019. 10. 29.
Software Engineering Research참고 문헌 62인용 수 7
한 줄 요약

이 논문은 코드 주석에서 네 가지 일반적인 작업 태그—TODO, FIXME, XXX, HACK—를 탐지함으로써 자기인정 기술 부채(SATD)를 식별하기 위한 단순한 비지도 기반 기준선인 MAT를 제안한다. 학습 데이터가 필요로 하지 않으며, 10개의 오픈소스 프로젝트에서 최신 기술 수준의 성능을 달성하여, 이 최소한의 접근 방식이 기존의 복잡한 방법들을 능가하며 향후 SATD 연구에서 표준 기준선으로 사용되어야 한다고 입증한다.

ABSTRACT

In the process of software evolution, developers often sacrifice the long-term code quality to satisfy the short-term goals due to specific reasons, which is called technical debt. In particular, self-admitted technical debt (SATD) refers to those that were intentionally introduced and remarked by code comments. Those technical debts reduce the quality of software and increase the cost of subsequent software maintenance. Therefore, it is necessary to find out and resolve these debts in time. Recently, many approaches have been proposed to identify SATD. However, those approaches either have a low accuracy or are complex to implementation in practice. In this paper, we propose a simple unsupervised baseline approach that fuzzily matches task annotation tags (MAT) to identify SATD. MAT does not need any training data to build a prediction model. Instead, MAT only examines whether any of four task tags (i.e. TODO, FIXME, XXX, and HACK) appears in the comments of a target project to identify SATD. In this sense, MAT is a natural baseline approach, which has a good understandability, in SATD identification. In order to evaluate the usefulness of MAT, we use 10 open-source projects to conduct the experiment. The experimental results reveal that MAT has a surprisingly excellent performance for SATD identification compared with the state-of-the-art approaches. As such, we suggest that, in the future SATD identification studies, MAT should be considered as an easy-to-implement baseline to which any new approach should be compared against to demonstrate its usefulness.

연구 동기 및 목표

  • 진행 중인 소프트웨어 시스템에서 자기인정 기술 부채(SATD)를 식별하는 데 도전하는 것.
  • 학습 데이터나 복잡한 모델이 필요로 하지 않는 경량의 비지도 기반 기준선을 제안하는 것.
  • 더 복잡한 최신 기술 수준의 접근 방식과 비교하여 단순한 태그 기반 탐지의 효과를 평가하는 것.
  • 향후 SATD 식별 연구를 위한 실용적이고 해석 가능한 기준선으로 MAT를 확립하는 것.

제안 방법

  • MAT는 코드 주석에서 TODO, FIXME, XXX, HACK라는 네 가지 특정 작업 태그의 존재를 스캔함으로써 SATD를 탐지한다.
  • 이 방법은 비지도 기반이며 레이블이 붙은 학습 데이터나 모델 학습이 필요로 하지 않는다.
  • 네 가지 태그 중 하나 이상을 포함하는 각 주석은 잠재적인 SATD를 나타낸다고 분류된다.
  • 이 방법은 오직 이러한 태그의 희미한 일치(matching)에 의존하므로 매우 해석 가능하고 쉽게 구현할 수 있다.
  • 정밀도, 재현율, F1 점수를 평가하기 위해 10개의 오픈소스 프로젝트를 사용하여 평가를 수행한다.

실험 결과

연구 질문

  • RQ1작업 태그 탐지에 기반한 단순한 비지도 접근 방식은 SATD 식별에 얼마나 효과적인가?
  • RQ2MAT는 기존의 최신 기술 수준의 접근 방식보다 SATD 식별에서 뛰어난 성능을 보이는가?
  • RQ3MAT는 향후 SATD 탐지 연구를 위한 신뢰할 수 있고 실용적인 기준선이 될 수 있는가?
  • RQ4다양한 오피스소스 프로젝트에서 MAT의 정밀도, 재현율, F1 점수 성능은 어떠한가?

주요 결과

  • MAT는 학습 데이터가 전혀 필요로 하지 않으며 10개의 오픈소스 프로젝트에서 SATD 식별 분야에서 최신 기술 수준의 성능을 달성한다.
  • 이 방법은 높은 정밀도와 재현율을 보이며, 더 복잡한 지도 학습 및 준지도 학습 방법들을 능가한다.
  • MAT의 단순성과 해석 가능성은 SATD 연구에서 표준 기준선으로 도입될 강력한 후보이다.
  • 결과적으로 이 맥락에서 기본적인 태그 기반 히ュ리스틱이 더 정교한 기계 학습 모델보다 더 효과적일 수 있음을 시사한다.
  • 이 연구는 네 가지 작업 태그(예: TODO, FIXME, XXX, HACK)가 실제 코드베이스에서 자기인정 기술 부채의 강력한 지표임을 확인한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.