When Less is More: On the Value of "Co-training" for Semi-Supervised Software Defect Predictors
Not on the map. Why?
Abstract (arXiv)
Labeling a module defective or non-defective is an expensive task. Hence, there are often limits on how much-labeled data is available for training. Semi-supervised classifiers use far fewer labels for training models. However, there are numerous semi-supervised methods, including self-labeling, co-training, maximal-margin, and graph-based methods, to name a few. Only a handful of these methods have been tested in SE for (e.g.) predicting defects and even there, those methods have been tested on just a handful of projects. This paper applies a wide range of 55 semi-supervised learners to over 714 projects. We find that semi-supervised "co-training methods" work significantly better than other approaches. Specifically, after labeling, just 2.5% of data, then make predictions that are competitive to those using 100% of the data. That said, co-training needs to be used cautiously since the specific choice of co-training methods needs to be carefully selected based on a user's specific goals. Also, we warn that a commonly-used co-training method ("multi-view"-- where different learners get different sets of columns) does not improve predictions (while adding too much to the run time costs 11 hours vs. 1.8 hours). It is an open question, worthy of future work, to test if these reductions can be seen in other areas of software analytics. To assist with exploring other areas, all the codes used are available at https://github.com/ai-se/Semi-Supervised.
Key facts. Cited by 1 paper in the map (data through 7 Oct 2026). Builds on 12 of its 135 references that are in the map. First posted on arXiv 10 Nov 2022.
Builds on
12 of 135 references.
References · 12
- 2018The Impact of Automated Parameter Optimization on Defect Prediction Modelscited by 36
- 2013Semi-supervised clustering methodscited by 18
- 2016What is Wrong with Topic Modeling? (and How to Fix it Using Search-based Software Engineering)cited by 14
- 2018500+ Times Faster Than Deep Learning (A Case Study Exploring Faster Methods for Text Mining StackOverflow)cited by 13
- 2019Better Data Labelling with EMBLEM (and how that Impacts Defect Prediction)cited by 13
- 2020Identifying Self-Admitted Technical Debts with Jitterbug: A Two-step Approachcited by 10
- 2017Bellwethers: A Baseline Method For Transfer Learningcited by 7
- 2018Applications of Psychological Science for Actionable Analyticscited by 5
- 2018Better Software Analytics via "DUO": Data Mining Algorithms Using/Used-by Optimizerscited by 4
- 2021Mining Scientific Workflows for Anomalous Data Transferscited by 4
- 2017We Don't Need Another Hero? The Impact of "Heroes" on Software Developmentcited by 3
- 2020Revisiting Process versus Product Metrics: a Large Scale Analysiscited by 2
Built on by
Citing papers per year: 2026: 1.
1 paper.