[논문 리뷰] A Bug or a Suggestion? An Automatic Way to Label Issues
이 논문은 다양한 이슈 추적 시스템(ITS)에서 버그 또는 비버그로 자동 분류하는 데 사용할 수 있는 주목적 기반 양방향 LSTM(ABLSTM) 모델과 k-NN 기반 오분류 보정 기법을 조합하여 제안한다. Jira와 GitHub에서 유저가 레이블링한 120만 건 이상의 이슈 데이터로 훈련된 이 접근법은 F-측정치 85.6%를 기록하며, 이질적인 ITS 플랫폼 간 버그 식별 정확도에서 기존 최고 수준의 방법들을 크게 앞서 간다.
More and more users and developers are using Issue Tracking Systems (ITSs) to report issues, including bugs, feature requests, enhancement suggestions, etc. Different information, however, is gathered from users when issues are reported on different ITSs, which presents considerable challenges for issue classification tools to work effectively across the ITSs. Besides, bugs often take higher priority when it comes to classifying the issues, while existing approaches to issue classification seldom focus on distinguishing bugs and the other non-bug issues, leading to suboptimal accuracy in bug identification. In this paper, we propose a deep learning-based approach to automatically identify bug-reporting issues across various ITSs. The approach implements the k-NN algorithm to detect and correct misclassifications in data extracted from the ITSs, and trains an attention-based bi-directional long short-term memory (ABLSTM) network using a dataset of over 1.2 million labelled issues to identify bug reports. Experimental evaluation shows that our approach achieved an F-measure of 85.6\% in distinguishing bugs and other issues, significantly outperforming the other benchmark and state-of-the-art approaches examined in the experiment.
연구 동기 및 목표
- 다양한 이슈 추적 시스템(ITS) 간 일관성 없고 노이즈가 많은 이슈 레이블링, 특히 잘못 분류된 버그 문제를 해결하기 위해.
- 기존 접근법에서 자주 간과되는 이슈 분류에서의 버그 식별 정확도 향상을 위해.
- 이슈 제목만을 입력으로 요구하는 것으로도 다양한 ITS 플랫폼에 넓게 적용 가능한 교차 플랫폼 및 확장 가능한 솔루션을 개발하기 위해.
- k-NN를 활용해 대규모 이슈 데이터셋의 오분류를 보정함으로써 모델의 강인성과 분류 능력을 향상시키기 위해.
제안 방법
- Jira(Apache, JBoss, Spring)와 고품질 GitHub 프로젝트 23개에서 170만 건 이상의 레이블링된 이슈를 포함한 대규모 데이터셋을 수집한다.
- k-NN 알고리즘을 적용하여 데이터셋 내 오분류된 이슈를 탐지하고 보정함으로써 노이즈를 감소시키고 훈련 데이터의 품질을 향상시킨다.
- 청소된 데이터셋을 기반으로 주목적 기반 양방향 LSTM(ABLSTM) 네트워크를 훈련시켜 이슈를 '버그' 또는 '비버그'로 분류한다.
- 이론적으로는 이슈 제목만을 입력 특성으로 사용하여, 구조적 메타데이터가 필요 없이 다양한 ITS 플랫폼 간 일반화를 가능하게 한다.
- 두 단계로 구성된 파ip라인을 활용한다: (1) k-NN를 통한 데이터 청소, (2) ABLSTM를 이용한 엔드 투 엔드 딥 러닝 분류.
- Jira와 GitHub의 통합 데이터셋을 대상으로 성능을 검증하며, 벤치마크 및 최고 수준의 방법들과의 성능을 비교한다.
실험 결과
연구 질문
- RQ1딥 러닝 모델은 이질적인 이슈 추적 시스템 간에서 버그 보고서와 비버그 이슈를 효과적으로 구분할 수 있는가?
- RQ2k-NN 기반 오분류 보정 기법은 이슈 분류를 위한 훈련 데이터의 품질 향상에 얼마나 효과적인가?
- RQ3ABLSTM 모델은 기존 최고 수준의 방법 및 전통적인 머신러닝 접근법보다 버그 식별 F-측정치에서 뛰어나게 성능을 발휘하는가?
- RQ4이슈 제목만으로 훈련된 모델이 다양한 ITS 플랫폼에서 높은 성능을 달성할 수 있는 정도는 어느 정도인가?
주요 결과
- 제안된 ABLSTM 모델은 버그와 비버그 이슈를 구분하는 데 F-측정치 85.6%를 달성하였으며, 벤치마크 및 최고 수준의 방법들보다 뚜렷이 뛰어난 성능을 보였다.
- k-NN 기반 오분류 보정 단계는 훈련 데이터의 노이즈를 효과적으로 감소시켜 모델의 분류 능력 향상과 일반화 능력 향상에 기여하였다.
- 모델는 강력한 교차 플랫폼 일반화 능력을 보였으며, 이론적으로는 이슈 제목만을 입력으로 요구함으로써 Jira와 GitHub의 ITS 모두에서 잘 작동하였다.
- 복잡한 특징 공학 또는 보고자 배경, 이슈 심각도와 같은 추가 메타데이터를 사용한 이전 연구들에 비해 본 연구의 접근법이 뛰어난 성능을 달성하였다.
- 실증적 평가를 통해 모델의 성능이 다양한 프로젝트 유형과 이슈 레이블링 품질에 관계없이 강인하고 일관되게 유지됨을 확인하였다.
- 본 연구는 이슈 분류에서 데이터 품질의 중요성을 강조하며, 잘못 레이블링된 이슈를 보정하는 것이 F-측정치 향상에 실질적인 기여를 한다는 점을 입증하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.