Less, but Stronger: On the Value of Strong Heuristics in Semi-supervised Learning for Software Analytics
Not on the map. Why?
Abstract (arXiv)
In many domains, there are many examples and far fewer labels for those examples; e.g. we may have access to millions of lines of source code, but access to only a handful of warnings about that code. In those domains, semi-supervised learners (SSL) can extrapolate labels from a small number of examples to the rest of the data. Standard SSL algorithms use ``weak'' knowledge (i.e. those not based on specific SE knowledge) such as (e.g.) co-train two learners and use good labels from one to train the other. Another approach of SSL in software analytics is potentially use ``strong'' knowledge that use SE knowledge. For example, an often-used heuristic in SE is that unusually large artifacts contain undesired properties (e.g. more bugs). This paper argues that such ``strong'' algorithms perform better than those standard, weaker, SSL algorithms. We show this by learning models from labels generated using weak SSL or our ``stronger'' FRUGAL algorithm. In four domains (distinguishing security-related bug reports; mitigating bias in decision-making; predicting issue close time; and (reducing false alarms in static code warnings), FRUGAL required only 2.5% of the data to be labeled yet out-performed standard semi-supervised learners that relied on (e.g.) some domain-independent graph theory concepts. Hence, for future work, we strongly recommend the use of strong heuristics for semi-supervised learning for SE applications. To better support other researchers, our scripts and data are on-line at https://github.com/HuyTu7/FRUGAL.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 23 of its 116 references that are in the map. First posted on arXiv 3 Feb 2023.
Builds on
23 of 116 references.
References · 23
- 2017Attention Is All You Needcited by 59,932
- 2016Semantics derived automatically from language corpora contain human-like biasescited by 894
- 2014Certifying and removing disparate impactcited by 715
- 2018AI Fairness 360: An Extensible Toolkit for Detecting, Understanding, and Mitigating Unwanted Algorithmic Biascited by 319
- 2018Deep Co-Training for Semi-Supervised Image Recognitioncited by 145
- 2017Fairness Testing: Testing Software for Discriminationcited by 123
- 2013Discrimination in Online Ad Deliverycited by 93
- 2021Bias in Machine Learning Software: Why? How? What to do?cited by 92
- 2017Racial Disparity in Natural Language Processing: A Case Study of Social Media African-American Englishcited by 69
- 2016Tuning for Software Analytics: is it Really Necessary?cited by 18
- 2017Is "Better Data" Better than "Better Data Miners"? (On the Benefits of Tuning SMOTE for Defect Prediction)cited by 17
- 2022Detecting False Alarms from Automatic Static Analysis Tools: How Far are We?cited by 16
11 more
- 2018A Benchmark Study on Sentiment Analysis for Software Engineering Researchcited by 14
- 2019Better Data Labelling with EMBLEM (and how that Impacts Defect Prediction)cited by 13
- 2019How to "DODGE" Complex Software Analytics?cited by 11
- 2018Improving Vulnerability Inspection Efficiency Using Active Learningcited by 10
- 2020Identifying Self-Admitted Technical Debts with Jitterbug: A Two-step Approachcited by 10
- 2021FRUGAL: Unlocking SSL for Software Analyticscited by 6
- 2019Replication Can Improve Prior Results: A GitHub Study of Pull Request Acceptancecited by 4
- 2020Learning to Recognize Actionable Static Code Warnings (is Intrinsically Easy)cited by 4
- 2020Defect Reduction Planning (using TimeLIME)cited by 4
- 2017FLASH: A Faster Optimizer for SBSE Taskscited by 3
- 2019TERMINATOR: Better Automated UI Test Case Prioritizationcited by 3
Built on by
Not cited yet.