Balancing the trade-off between accuracy and interpretability in software defect prediction