  Ethical bias in machine learning models has become a matter of concern in the
software engineering community. Most of the prior software engineering works
concentrated on finding ethical bias in models rather than fixing it. After
finding bias, the next step is mitigation. Prior researchers mainly tried to
use supervised approaches to achieve fairness. However, in the real world,
getting data with trustworthy ground truth is challenging and also ground truth
can contain human bias. Semi-supervised learning is a machine learning
technique where, incrementally, labeled data is used to generate pseudo-labels
for the rest of the data (and then all that data is used for model training).
In this work, we apply four popular semi-supervised techniques as
pseudo-labelers to create fair classification models. Our framework, Fair-SSL,
takes a very small amount (10%) of labeled data as input and generates
pseudo-labels for the unlabeled data. We then synthetically generate new data
points to balance the training data based on class and protected attribute as
proposed by Chakraborty et al. in FSE 2021. Finally, the classification model
is trained on the balanced pseudo-labeled data and validated on test data.
After experimenting on ten datasets and three learners, we find that Fair-SSL
achieves similar performance as three state-of-the-art bias mitigation
algorithms. That said, the clear advantage of Fair-SSL is that it requires only
10% of the labeled training data. To the best of our knowledge, this is the
first SE work where semi-supervised techniques are used to fight against
ethical bias in SE ML models.
