Identifying defective software modules is a major factor in creating software in a cost effective and timely manner. A variety of machine learning techniques are available for predicting defective software modules. This paper investigates the effectiveness of using a fuzzy neural network in identifying faulty modules and the relative importance of the various software metrics in predicting defective modules and their role in explaining the presence of software defects. The conclusions of the work is that the model provides good accuracy but low probability of detecting software defects. However, the model does provide useful insight into the predictive and explanatory power of the various metrics affecting defect detection. The work shows that the most influential predictive metrics are those related to the measurement of program length and complexity. However, the degree of their relative influence is different for different datasets. On the explanatory side, metrics relating to program complexity, program length, and number of operators and operands are the most influential in explaining the presence of software defects. Again, their relative importance and the importance of other metrics vary for different datasets. These results are tentative and influenced to some degree by the model architectural parameters and configurations. Future work will concentrate on tuning the model and identifying a group of software characteristic that collectively can provide a good probability of defect detection. © 2021, Springer Nature Switzerland AG.