Actionable Defect Prediction
즉시 조치 가능한 버그 예측
- Publisher 한동대학교 일반대학원
- Adviser 남재창
- Issued 2021
- Awarded 2021. 2
- Thesis degree 석사
- Major 일반대학원 정보통신공학과
- Page vii, 39
- URI entity http://www.dcollection.net/handler/handong/200000379792
- UCI I804:47030-200000379792
- Language 영어
- Rights 한동대학교 논문은 저작권에 의해 보호받습니다.
Abstract
Defect prediction studies have been actively conducted over the past decades. However, existing defect prediction models face challenges such as the lack of actionable messages and the cold-start problem. To overcome these issues, various approaches, i.e. cross-project defect prediction, unsupervised defect prediction, and just-in-time defect prediction, have been studied. However, these approaches are still limited in several aspects. We propose a novel approach to predict defects in the change level by searching for similar changes within the existing software repositories. The model identifies a change as “buggy” if the change is similar to the existing bug-inducing change; otherwise, it predicts a change as “clean”. The model then suggests a corresponding patch as an actionable message. Our approach can provide a new direction to the field while addressing two main issues faced by traditional defect-prediction models.
moreAbstract
결함 예측 연구는 지난 수십 년 동안 활발하게 수행되어 왔다. 하지만 기존의 결함 예측 모델은 실행 가능한 메시지 부족 및 콜드 스타트 문제들과 같은 어려움에 직면해 있다. 이러한 문제점을 극복하기 위해 교차 프로젝트 결함 예측, 비지도 결함 예측, 즉각 결함 예측 등 다양한 방법들이 연구되어 왔다. 하지만 이러한 연구들 또한 여러 측면의 한계점을 갖고 있다. 따라서, 우리는 이를 해결하기 위해 기존의 없던 유사 수정 기반의 새로운 버그 예측 모델을 제안한다. 이 모델은 예측 대상인 수정이 기존소프트웨어 저장소에 있는 버그 유발 수정과 유사하다면 버그라 예측하고 유사하지 않으면 클린으로 예측한다. 버그라고 예측된 수정에는 연관된 유사한 패치를 추천하여 실행 가능한 메시지를 제공한다. 본 논문에서 제안하는 모델은 콜드 스타트 및 클래스 불균형 문제를 완화하고 실행 가능한 메시지에 대한 패치를 제안함으로써 결함 예측 모델의 세 가지 문제를 해결할 수 있는 가능성을 보여준다.
moreTable of contents
I. Introduction 1
1.1. Main Issues of Defect Prediction 1
1.1.1 Actionable Messages 1
1.1.2 Cold-start Problem 2
1.1.3 Contribution 2
II. Related Work 4
2.1. Similar Commit Search 4
2.1.1 Code Clone Detection/Search 4
2.1.2 Code Search Engine 5
2.1.3 Commit Clustering 5
2.2. Defect Prediction 6
2.2.1 Traditional Defect 6
2.2.2 Cross-Project Defect Prediction 7
2.2.3 Heterogeneous Defect Prediction 7
2.2.4 Just-in-Time Defect Prediction 7
2.3. Automatic Program Repair 8
III. Preliminary Studies 10
3.1. Count-based Change Vector 10
3.2. String Comparison 11
IV. Approach 14
4.1. Data Collection 14
4.2. Vector Embedding 15
4.3. SimFin: Similar Change Finder 16
4.3.1 Number of SimFins 16
4.3.2 Auto Encoder-Decoder Model 17
4.3.3 k-Nearest Neighborhood 17
4.4. Prediction 18
V. Experimental Setup 20
5.1. Research Questions 20
5.2. Dataset 20
5.3. Baseline 21
5.3.1 Evaluation Metrics 23
VI. Experiment Results 25
6.1. RQ1: SimFinMo vs Baseline 25
6.2. RQ2: How actionable is SimFinMo? 26
6.3. RQ3: SimFinMo with different cut-off values 29
6.4. RQ4: Combined SimFin vs. Divided SimFin 29
VII.Discussions 31
7.1. Importance of this Approach 31
7.2. Future Work 32
VIII.Threats to Validity 34
8.1. Construct Validity 34
8.2. External Validity 34
8.3. Internal Validity 34
IX. Conclusion 35
X. References 36

