향상된 데이터셋을 활용하여 자바 소스 코드의 기술적 부채 검출 개선

Improving the detection of technical debt in Java source code with an enriched dataset

November 8, 2024
저자: Nam Le Hai, Anh M. T. Bui, Phuong T. Nguyen, Davide Di Ruscio, Rick Kazman
cs.AI

초록

기술 부채(TD)는 개발자가 문제에 대해 빠르고 쉬운 해결책을 선택한 경우에 발생하는 추가 작업 및 비용을 설명하는 용어입니다. 이는 더 효과적이고 잘 설계된 시간 소모적인 접근 방식보다 선택한 경우에 나타납니다. 자가 인정 기술 부채(SATD)는 개발자가 일반적으로 텍스트 코멘트를 통해 의도적으로 문서화하고 인정하는 특정 유형의 기술 부채입니다. 이러한 자가 인정 코멘트는 기술 부채를 식별하는 데 유용한 도구이지만, 기존의 대부분의 접근 방식은 TD의 다양한 범주에 연관된 중요한 토큰을 캡처하는 데 초점을 맞추고 소스 코드 자체에 내재된 풍부한 정보를 무시합니다. 최근 연구는 소스 코드에 포함된 코멘트를 분석하여 SATD를 감지하는 데 중점을 두었으며, 소스 코드에 포함된 기술 부채를 다루는 연구는 거의 없었습니다. 이러한 공백을 채우기 위해 본 연구에서는 Stack 코퍼스에 호스팅된 974개의 Java 프로젝트에서 코멘트 및 관련 소스 코드를 분석함으로써, 코드 코멘트로 식별된 TD의 최초 데이터셋을 정리했습니다. 경험적 평가를 통해, 결과 데이터셋의 코멘트가 최첨단 SATD 감지 모델의 예측 성능을 향상시키는 데 도움이 되는 것을 발견했습니다. 더 중요한 것은 분류된 소스 코드를 포함하면 다양한 유형의 기술 부채를 예측하는 정확도가 크게 향상된다는 것입니다. 이러한 측면에서 본 연구는 이중으로 이루어져 있습니다: (i) 우리의 데이터셋이 기술 부채 인식과 관련된 다양한 연구 문제에 영감을 주어 향후 연구를 촉진할 것으로 믿습니다; (ii) 제안된 분류기는 정리된 데이터셋을 통해 TD 감지에 대한 다른 연구의 기준으로 기능할 수 있습니다.
English
Technical debt (TD) is a term used to describe the additional work and costs that emerge when developers have opted for a quick and easy solution to a problem, rather than a more effective and well-designed, but time-consuming approach. Self-Admitted Technical Debts (SATDs) are a specific type of technical debts that developers intentionally document and acknowledge, typically via textual comments. While these self-admitted comments are a useful tool for identifying technical debts, most of the existing approaches focus on capturing crucial tokens associated with various categories of TD, neglecting the rich information embedded within the source code itself. Recent research has focused on detecting SATDs by analyzing comments embedded in source code, and there has been little work dealing with technical debts contained in the source code. To fill such a gap, in this study, through the analysis of comments and their associated source code from 974 Java projects hosted in the Stack corpus, we curated the first ever dataset of TD identified by code comments, coupled with its associated source code. Through an empirical evaluation, we found out that the comments of the resulting dataset help enhance the prediction performance of state-of-the-art SATD detection models. More importantly, including the classified source code significantly improves the accuracy in predicting various types of technical debt. In this respect, our work is two-fold: (i) We believe that our dataset will catalyze future work in the domain, inspiring various research issues related to the recognition of technical debt; (ii) The proposed classifiers may serve as baselines for other studies on the detection of TD by means of the curated dataset.

Summary

AI-Generated Summary

PDF23November 14, 2024