Thursday, July 23, 2015 — 11:00 AM EDT

Candidate

Ming Tan

Title

Online Defect Prediction for Imbalanced Data

Supervisor

Lin Tan

Abstract

Many defect prediction techniques are proposed to improve software reliability. Change classification predicts defects at the change level, where a change is the modifications to one file in a commit. In this thesis, we conduct the first study of applying change classification in practice and share the lessons we learned.

We identify two issues in the prediction process, both of which contribute to the low prediction performance. First, the data are imbalanced—there are much fewer buggy changes than clean changes. Second, the commonly used cross-validation approach is inappropriate for evaluating the performance of change classification. To address these challenges, we apply and adapt online change classification, resampling, and updatable classification techniques to improve the classification performance.

We perform the improved change classification techniques on one proprietary and six open source projects. Our results show that these techniques improve the precision of change classification by 12.2-89.5% or 6.4–34.8 percentage points (pp.) on the seven projects.

Furthermore, we integrate change classification in the development process of the proprietary project. We have learned the following lessons: 1 ) new solutions are needed to convince developers to use and believe prediction results, and prediction results need to be actionable, 2 ) new and improved classification algorithms are needed to explain the prediction results, and insensible and unactionable explanations need to be filtered or refined, and 3 ) new techniques are needed to improve the relatively low precision.

Location 
EIT building
Room 3142

,

S M T W T F S
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
  1. 2021 (127)
    1. December (7)
    2. November (18)
    3. October (10)
    4. September (4)
    5. August (12)
    6. July (4)
    7. June (5)
    8. May (10)
    9. April (25)
    10. March (14)
    11. February (10)
    12. January (9)
  2. 2022 (1)
    1. January (1)
  3. 2020 (246)
    1. December (20)
    2. November (19)
    3. October (15)
    4. September (15)
    5. August (16)
    6. July (32)
    7. June (29)
    8. May (32)
    9. April (27)
    10. March (13)
    11. February (20)
    12. January (16)
  4. 2019 (282)
  5. 2018 (150)
  6. 2017 (212)
  7. 2016 (242)
  8. 2015 (242)
  9. 2014 (268)
  10. 2013 (190)
  11. 2012 (31)