Predicting Defects with Latent and Semantic Features from Commit Logs in an Industrial Setting Software defect prediction is still a challenging task in industrial settings. Noisy data andor lack of data make it hard to build successful prediction models. In this study, we aim to build a changelevel defect prediction model for a software project in an industrial setting. We combine various probabilistic models, namely matrix factorization and topic modeling, with the expectation of overcoming the noisy and limited nature of industrial settings by extracting hidden features from multiple resources. Commit level process metrics, latent features from commits, and semantic features from commit messages are combined to build the defect predictors with the use of Log Filtering and feature selection techniques, and two machine learning algorithms Naive Bayes and Extreme Gradient Boosting (XGBoost). Collecting data from various sources and applying data preprocessing techniques show a statistically significant improvement in terms of probability of detection by up to 24% when compared to a base model with process metrics only.

On Fault Localization Using Machine Learning Techniques Early prediction of faulty modules provides a way to support software quality assurance activities through improved scheduling and effectiveness of process control. Different fault prediction models have been proposed by researchers for early prediction of faults. However, despite predicting faulty classes, these techniques donu0027t provide information about identifying the location of occurrence of faults. In this paper, we aim to propose a methodology not only to predict faults but also for fault localization as well. We first make use of various datasets to build a software fault prediction model based. We make use of random forest machine learning technique to train our model. We also extract CKmetrics from different modules and we then make use of these metrics for fault localization. In order to do validation, we make use of case studies where we do fault prediction, fault localization and then run test cases to see if our prediction was correct.