서지주요정보
(A) novel approach shifting the applicable timing of cross-project defect prediction to implementation phase = 구현 단계에서 적용 가능한 교차 프로젝트 결함예측 기법
서명 / 저자 (A) novel approach shifting the applicable timing of cross-project defect prediction to implementation phase = 구현 단계에서 적용 가능한 교차 프로젝트 결함예측 기법 / Sunjae Kwon.
발행사항 [대전 : 한국과학기술원, 2024].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8042685

소장위치/청구기호

학술문화관(도서관)2층 학위논문

DCS 24005

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Software Defect Prediction (SDP) is an actively researched technique in Software Engineering (SE). It aims to predict the ongoing software's defect-prone modules (e.g., files, classes) using a prediction model trained with historical defect data. The prediction results through SDP can help allocate Software Quality Assurance (SQA) resources effectively to the defect-prone modules. Among the various types of SDP, Cross-Project Defect Prediction (CPDP) has been used when it is not feasible to collect historical defect data from the ongoing project. It predicts defect-prone modules in an ongoing project (target project) using the prediction model trained with defect data from previously completed projects (source project). However, CPDP encounters a challenge regarding its poor prediction performance, mainly due to differences in the data distribution between the source and target projects. To mitigate this challenge, Transfer Learning (TL) has been employed to reduce the distribution discrepancies between them before constructing a prediction model. Even though TL can improve the prediction performance of CPDP, it requires the target project’s data distribution, which can be obtained only after all modules of the target project are completed (i.e., After implementation phase). Consequently, TL-based CPDP cannot be used to predict the defect-proneness of individual modules when they are completed (i.e., Implementation phase). The infeasibility of TL-based CPDP in the implementation phase hinders the opportunity to ensure the reliability of ongoing software at a lower cost. In addition to this, the TL-based CPDP is inapplicable in various iterative development processes, such as Agile. To address the abovementioned issues, we propose a novel framework feasible in the implementation phase, which is eCPDP (early CPDP), applicable in an earlier phase than exisiting TL-based CPDP techniques. We took advantage of Singular Value Decomposition (SVD) to overcome the reliance on the target project’s data distribution of existing TL techniques. The SVD-based TL method extracts latent factors from the source project data and aligns the target project's individual module data with the extracted latent factors, thereby reducing the distribution discrepancy between source and target project data. To validate the prediction performance of eCPDP, we conducted statistical significance and effect size tests, comparing it with 8 state-of-the-art CPDP techniques across 24 projects and employing 7 evaluation metrics. Additionally, we analyzed the effectiveness of quality assurance resource allocation based on defect prediction results and the overall costs incurred by applying the defect prediction models, considering the different application timing compared to existing techniques. The analysis results indicate that eCPDP outperforms the 8 state-of-the-art CPDP techniques in all 7 metrics in more than half of the subject projects (12 projects), even without the target project’s data distribution. eCPDP enhanced the effectiveness of quality assurance resource allocation by 28% compared to existing techniques and reduced the total cost of applying a defect prediction model by 17%. In conclusion, by applying eCPDP in the construction phase, we anticipate an earlier enhancement in software reliability across various development processes and reduced software quality costs.

소프트웨어 결함 예측(Software Defect Prediction, SDP)은 소프트웨어 공학에서 활발히 연구되고 있는 분야로 과거의 결함 데이터를 학습한 예측 모델을 이용하여 현재 개발 중인 소프트웨어 모듈(e.g., 파일, 클래스)의 결함 유무를 예측하는 기법이다. 이러한 예측 결과를 이용하여 결함이 있을 것으로 예측되는 모듈에 품질보증자원이 할당될 수 있도록 하여 한정된 품질보증자원의 효율적인 할당을 도와준다. 다양한 SDP의 유형 중, 교차프로젝트 결함예측(Cross-project Defect Prediction, CPDP)은 진행 중인 프로젝트(타겟 프로젝트)에서 결함 데이터를 수집 할 수 없을 때, 이미 완료된 프로젝트(소스 프로젝트)의 결함 데이터를 학습한 예측 모델을 이용하여 진행 중인 프로젝트에 결함을 예측하는 기법이다. 하지만 CPDP는 소스와 타켓 프로젝트에서 수집된 데이터의 분포 차이로 인하여 결함예측 모델의 예측성능이 저하되는 문제점이 발생하여 모델 생성 전에 상호 간의 분포 차이를 줄여주는 전이학습 (Transfer Learning, TL)을 적용해왔다. 그러나 TL를 수행하기 위해서는 타겟 프로젝트의 모든 모듈이 완성된 후(구현단계 종료 후)에 얻을 수 있는 데이터의 분포정보가 필요하기 때문에 단일 모듈이 완성된 시점(구현단계)에서는 사용할 수 없었다. 이러한 TL 기반 CPDP의 제한된 적용가능 시점으로 인해 조기에 낮은 단가로 소프트웨어의 신뢰성을 항상 시킬 기회를 잃게 되고 반복적으로 개발을 이어가는 애자일과 같은 프로세스에는 적용할 수 없었다. 위 문제를 해결하기 위해서 본 연구에서는 기존 CPDP기법 보다 빠른 시기인 구현 단계에서 사용이 가능한 eCPDP(early CPDP) 프레임워크를 제시한다. 적용가능 시점의 지연을 가지고 오는 TL의 타켓 프로젝트 분포정보 의존성을 제거하기 위하여 특이값 분해(Singular Value Decomposition, SVD)를 이용한 새로운 TL을 구현하였다. SVD 기반 TL은 소스프로젝트의 잠재적인 요소(Latent foctors)를 추출하여 타켓 프로젝트의 단일 모듈의 정보를 추출한 잠재적인 요소에 정렬시켜 두 프로젝트의 분포차이를 줄인다. eCPDP의 예측 성능을 확인하기 위하여 24개의 프로젝트, 7개의 예측성능 측정지표를 이용하여 8개의 최신 CPDP기법의 성능과 통계적 유의성 분석 및 효과 크기 테스트를 수행하였다. 또한 기존기법과 다른 적용가능시점을 반영하여 결함예측 결과에 따라 투입되는 품질보증자원의 효율과 결함예측 모델을 적용하는데 들어가는 총비용도 분석하였다. 분석결과 타켓 프로젝트의 분포정보 없이도 eCPDP가 과반수의 프로젝트(12개 이상의 프로젝트)에서 최신 CPDP기법 대비 7개의 성능지표 모두에서 더 좋은 예측 성능을 보였다. 또한 기존기법 대비 품질보증자원의 효율을 28% 향상하였으며 결함예측 모델을 적용하는데 들어가는 총비용을 17% 절감하였다. 결론적으로, 구현 단계에서부터 eCPDP를 적용하여 다양한 개발 프로세스를 통해 개발되는 소프트웨어의 신뢰성을 조기에 향상하고 개발에 들어가는 비용도 줄일 수 있을 것으로 기대한다.

서지기타정보

서지기타정보
청구기호 {DCS 24005
형태사항 iv, 85 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 권순재
지도교수의 영문표기 : Jongmoon Baik
지도교수의 한글표기 : 백종문
Including appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 75-82
주제 Cross-project defect prediction
Transfer learning
Singular value decomposition
Implementation phase
교차프로젝트 결함예측
전이학습
특이값 분해
구현단계
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서