Software defect prediction has been one of the key areas of exploration in the domain of software quality. In this paper, we perform a systematic mapping to analyze all the software defect prediction literature available from 1995 to 2018 using a multi-stage process. A total of 156 studies are selected in the first step, and the final mapping is conducted based on these studies. The ability of a model to learn from data that does not come from the same project or organization will help organizations that do not have sufficient training data or are going to start work on new projects. The findings of this research are useful not only to the software engineering domain, but also to the empirical studies, which mainly focus on symmetry as they provide steps-by-steps solutions for questions raised in the article.
Assessment of code smell for predicting software change proneness is essential to ensure its significance in the area of software quality. While multiple studies have been conducted in this regard, the number of systems studied and the methods used in this paper are quite different, thus, causing confusion for understanding the best methodology. The objective of this paper is to approve the effect of code smell on the change inclination of a specific class in a product framework. This is the novelty and surplus of this work against the others. Furthermore, this paper aims to validate code smell for predicting class change proneness to find an error in the prediction of change proneness using code smell. Six typical machine learning algorithms (Naive Bayes Classifier, Multilayer Perceptron, LogitBoost, Bagging, Random Forest, and Decision Tree) have been used to predict change proneness using code smell from a set of 8200 Java classes spanning 14 software systems. The experimental results suggest that code smell is indeed a powerful predictor of class change proneness with multilayer perceptron being the most effective technique. The sensitivity and specificity values for all the models are well over 70% with a few exceptions. INDEX TERMS Code smell, change proneness, software maintenance, machine learning, multilayer perceptron.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.