International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056 Volume: 06 Issue: 04 | Apr 2019 www.irjet.net p-ISSN: 2395-0072 © 2019, IRJET | Impact Factor value: 7.211 | ISO 9001:2008 Certified Journal | Page 4968 Software Bug Prediction using Machine Learning Approach Meenakshi, Dr. Satwinder Singh M. Tech (Computer Science and Technology), Central University of Punjab, Bathinda. Assistant Professor, Dept. of Computer Science and Technology, Central University of Punjab, Bathinda. ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - Software bug prediction plays an important role in development and maintenance of good quality software. Bugs are some kind of code in any software which can cause failure. Major cost of any software project is used in maintenance of that software because of bugs. It is very important to predict bugs in earlier stage of a software development. So that the development team can identify them and resolve them which can improve software, quality, reliability, efficiency and reduces the cost of project. In this paper, ML is used to predict the bugs on the bases of historical data. At last we compare the results of two ML classifiers i.e. Naive Bayes and J48. Key Words: Bug Prediction, quality, Machine learning, Naive Bayes, J48. 1. INTRODUCTION Software bug prediction is defined as a process where we try to predict bug based on historical data. Software bugs can affect the software quality, reliability and maintenance cost. While developing software there are so many hidden bugs which can cause software failure in future. Around 40-60% of cost is used in maintenance of software so it is very to predict the bugs in earlier stages of software development. By predicting the bugs we can easily reduce the software failure rate. There are some techniques are available to predict the bugs. In this paper, Machine learning approach is used to predict the bugs in software on historical data. Naive Bayes and J48 Classifiers are used to predict the bugs. 2. LITERATURE REVIEW There are many studies about software bug prediction using machine learning techniques. For example, In study [3] proposed machine learning approach. In which supervised learning is used to predict the bugs on the bases of historical data. There are three classifiers are used i.e. Naive Bayes, Decision Tree, Artificial Neural Networks. Results got from these three classifiers are compared with each other to find out the best model of machine learning to predict the bugs. The study in [1] analysed that the software quality depends upon many factors like resources, executive team etc. Three types of machine learning approaches are used to predict the bugs i.e. based on classification method, based on clustering method and based on ensemble approaches. The study in [4] a comprehensive study is done on different existing predictive models. A deterministic strategy should follow for predicting the bugs. A comparison is done between the models on the bases of recall and F-measure. By using good model in software development environment, will give a reasonably accurate prediction. The study in [2] defines that the maintenance of software is challenging task because of unpredictable bugs and failures which tends to increase in software cost. Machine learning approach is used to identifying the best way of predicting those bugs on the bases of historical data. The different datasets are being compared with each other on the bases of f-measure, recall, precision. Decision tree classification provides better prediction rather than other models. This paper gives a comparative study of Naive Bayes and J48. The supervised learning in machine learning approach is used to predict the bugs on the bases of f-measure, recall and precision. Bug prediction can improve the software success rate if prediction is used in earlier stages. 3. RESEARCH METHODOLOGY In Research Methodology, the machine learning algorithm and the used tools are discussed. Also, the various performance measures are discussed which are used to analyse the experiment.