This paper presents the comprehensive view on the techniques used for predicting faults in various software developments. Using several classification methodologies we can produce the reliable software by reducing faults and failures. Prediction helps to identify the faults in upcoming modules using past results and training data and it reduce time for debugging. Method: In this study, we delivers the view about various techniques and methodologies used in fault prediction using soft computing techniques like artificial neural networks, fuzzy logic, genetic algorithm and machine learning algorithm like naïve bayes, random forest, and decision tree. Additionally we summarize the strength and weakness of those methods. Results: In this paper we acknowledged studies in soft computing and in machine learning algorithms. From this survey we further planned to produce a suitable hybrid algorithm for better fault prediction and to improve the quality in advanced object oriented software systems. © International Science Press.