[논문 리뷰] Towards Developing and Analysing Metric-Based Software Defect Severity Prediction Model
이 논문은 결정 트리를 사용하여 소프트웨어 모듈의 결함 심각도를 예측하는 자기학습 준지도 학습 모델을 제안한다. 라벨이 부여된 데이터와 라벨이 부여되지 않은 데이터를 모두 활용하여, 반복적으로 높은 신뢰도의 가짜 라벨을 라벨이 부여되지 않은 인스턴스에 할당함으로써 예측 성능을 향상시키며, 이는 시스템 위험과 나머지 서비스 시간을 감소시킨다. 새로운 프로젝트별 메트릭을 통해 실질적인 프로젝트 수준의 이점을 입증하였다.
In a critical software system, the testers have to spend an enormous amount of time and effort to maintain the software due to the continuous occurrence of defects. Among such defects, some severe defects may adversely affect the software. To reduce the time and effort of a tester, many machine learning models have been proposed in the literature, which use the documented defect reports to automatically predict the severity of the defective software modules. In contrast to the traditional approaches, in this work we propose a metric-based software defect severity prediction (SDSP) model that uses a self-training semi-supervised learning approach to classify the severity of the defective software modules. The approach is constructed on a mixture of unlabelled and labelled defect severity data. The self-training works on the basis of a decision tree classifier to assign the pseudo-class labels to the unlabelled instances. The predictions are promising since the self-training successfully assigns the suitable class labels to the unlabelled instances. On the other hand, numerous research studies have covered proposing prediction approaches as well as the methodological aspects of defect severity prediction models, the gap in estimating project attributes from the prediction model remains unresolved. To bridge the gap, we propose five project specific measures such as the Risk-Factor (RF), the Percent of Saved Budget (PSB), the Loss in the Saved Budget (LSB), the Remaining Service Time (RST) and Gratuitous Service Time (GST) to capture project outcomes from the predictions. Similar to the traditional measures, these measures are also calculated from the observed confusion matrix. These measures are used to analyse the impact that the prediction model has on the software project.
연구 동기 및 목표
- 결함 심각도 예측 모델의 프로젝트별 결과를 평가하는 데 있어 격차를 해소하기 위해.
- 자기학습 준지도 학습을 사용한 메트릭 기반 소프트웨어 결함 심각도 예측(SDSP) 모델을 개발하기 위해.
- ADASYN 오버샘플링을 통해 불균형한 결함 심각도 데이터에서의 예측 성능을 향상시키기 위해.
- 예측의 실제 영향을 평가하기 위해 다섯 가지 새로운 프로젝트별 평가 지표(RF, PSB, LSB, RST, GST)를 도입하기 위해.
- 실제 소프트웨어 시스템에서 모델을 경험적으로 검증하기 위해 AEEEM 레포지토리의 네 가지 소스 코드를 활용하기 위해.
제안 방법
- 모델은 기저 분류기로 결정 트리를 사용한 자기학습 준지도 학습 프레임워크를 활용한다.
- 라벨이 부여되지 않은 인스턴스는 모델의 신뢰도 기반으로 가짜 라벨이 할당되며, 높은 신뢰도 예측을 선택하기 위해 임계값(Γ = 0.99)이 사용된다.
- 결함 심각도 카테고리의 클래스 불균형을 해결하기 위해 라벨이 부여된 데이터셋은 ADASYN 오버샘플링을 통해 균형을 맞춘다.
- 반복 과정에서 라벨이 부여된 데이터와 가짜 라벨이 부여된 데이터를 결합하여 각 반복에서 분류기를 재학습한다.
- 기존 메트릭(정확도, F-측정치)과 혼동 행렬에서 유도된 새로운 프로젝트별 메트릭을 사용해 성능을 평가한다.
- 527개의 라벨이 부여되지 않은 인스턴스를 사용하여 AEEEM 레포지토리의 네 개의 오픈소스 소프트웨어 시스템에서 접근법을 평가한다.
실험 결과
연구 질문
- RQ1자기학습 준지도 학습 모델은 라벨이 부여된 데이터와 라벨이 부여되지 않은 데이터의 조합을 사용하여 소프트웨어 결함 심각도를 효과적으로 분류할 수 있는가?
- RQ2불균형한 결함 심각도 데이터에서 전통적인 지도 학습 접근법과 비교해 본다면, 제안된 모델의 예측 성능은 어떻게 되는가?
- RQ3제안된 프로젝트별 메트릭(RF, PSB, LSB, RST, GST)은 결함 심각도 예측의 실제 영향을 어느 정도 반영하는가?
- RQ4수용 임계값(Γ)의 선택은 모델의 성능과 일반화 능력에 어떤 영향을 미치는가?
- RQ5제안된 모델은 소프트웨어 유지보수에서 시스템 위험과 서비스 시간을 줄이고 예산 효율성을 향상시킬 수 있는가?
주요 결과
- 자기학습 모델은 라벨이 부여되지 않은 인스턴스에 적절한 가짜 라벨을 성공적으로 할당하여 분류 성능을 향상시켰다.
- 평균적으로 모델은 시스템 장애 위험과 결함 해결을 위한 나머지 서비스 시간을 감소시켰다.
- 위험 요인(RF)이 감소하여, 더 적은 가짜 음성 결과로 인해 프로젝트 위험이 낮아졌다.
- 예상 예산 절감 비율(PSB)은 증가했고, 절감 예산 손실(LSB)은 감소하여 비용 효율성이 향상됨을 반영했다.
- 나머지 서비스 시간(RST)과 무의미한 서비스 시간(GST)이 감소하여, 더 빠르고 효율적인 결함 해결이 가능함을 나타냈다.
- 모델은 모든 네 개의 평가 대상 소프트웨어 시스템에서 일관된 성능 향상을 보였으며, 특히 ADASYN 오버샘플링를 통해 소수의 심각도 클래스를 효과적으로 처리하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.