Prediction and Ranking of Fault-Prone Software Modules

  • Ajeet Kumar Pandey
  • Neeraj Kumar Goyal
Part of the Studies in Fuzziness and Soft Computing book series (STUDFUZZ, volume 303)


Large and complex software systems are developed by integrating various independent modules. It is important to ensure quality of these modules through independent testing where modules are tested and faults are removed as soon as failures are experienced. System failures due to the software failure are common and result in undesirable consequences. Moreover, it is difficult to produce fault-free software due to problem complexity, complexity of human behavior, and the resource constrains. This chapter presents a noval approach for prediction and ranking of the software module using classification and fuzzy ordering algoritms.


Fuzzy Inference System Software Module Flow Graph Fault Prediction Software Metrics 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. Catal, C., & Diri, B. (2008). A fault prediction model with limited fault data to improve test process. In Proceedings of the 9th International Conference on Product Focused Software Process Improvement (pp. 244–257).Google Scholar
  2. El-Emam, K., Melo, W., & Machado, J. C. (2001). The prediction of faulty classes using object-oriented design metrics. Journal of Systems and Software, 56(1), 63–75.CrossRefGoogle Scholar
  3. Elish, K. O., & Elish, M. O. (2008). Predicting defect-prone software modules using support vector machines. Journal of Systems and Software, 81(2008), 649–660.CrossRefGoogle Scholar
  4. Fenton, N. (1991). Software metrics: a rigorous approach. London: Chapmann & Hall.MATHGoogle Scholar
  5. Fenton, N. E., & Neil, M. (1999). A critique of software defect prediction models. IEEE Transaction on Software Engineering, 25(5), 675–689.CrossRefGoogle Scholar
  6. Fenton, N. E., & Neil, M. (2000). Software metrics: roadmap. In Proceedings of the Conference on The Future of Software Engineering (pp. 375–370). Limerick, Ireland.Google Scholar
  7. Han, J., & Kamber, M. (2001). Data mining: concepts and techniques. USA: Morgan Kaufmann Publishers.Google Scholar
  8. Khoshgoftaar, T. M., & Allen, E. B. (1999). A comparative study of ordering and classification of fault-prone software modules. Empirical Software Engineering, 4, 159–186.CrossRefGoogle Scholar
  9. Khoshgoftaar, T. M., & Allen, E. B. (2003). Ordering fault–prone software modules. Software Quality Journal, 11, 19–37.CrossRefGoogle Scholar
  10. Khoshgoftaar, T. M., & Munson, J. C. (1990). Predicting software development errors using complexity metrics. IEEE Journal on Selected Areas in Communication, 8(2), 253–261.CrossRefGoogle Scholar
  11. Khoshgoftaar, T. M., & Seliya, N. (2003). Fault prediction modeling for software quality estimation: comparing commonly used techniques. Empirical Software Engineering, 8, 255–283.CrossRefGoogle Scholar
  12. Kumar, K. S. (2009). Early Software Reliability and Quality Prediction, Ph.D. Thesis, IIT Kharagpur, Kharagpur, India.Google Scholar
  13. Kumar, K. S., Misra, R. B., & Goyal, N. K. (2008). Development of fuzzy software operational profile. International Journal of Reliability, Quality and Safety Engineering, 15(6), 581–597.CrossRefGoogle Scholar
  14. Musa, J. D., Iannino, A., Okumoto, K. (1987). Software reliability: measurement, prediction, and application. New York: McGraw–Hill Publication.Google Scholar
  15. NASA (2004). NASA metrics data program,
  16. Ohlsson, N., & Alberg, H. (1996). Predicting fault–prone software modules in telephone switches. IEEE Transaction on Software Engineering, 22(12), 886–894.CrossRefGoogle Scholar
  17. Quinlan, J. R. (1986). Induction of decision trees. Machine Learning, 1, 81–106.Google Scholar
  18. Ross, T. J. (2005). Fuzzy logic with engineering applications (2nd ed.). India: Willy.Google Scholar
  19. Schneidewind, N. F. (1992). Methodology for validating software metrics. IEEE Transactions on Software Engineering, 18(5), 410–422.CrossRefGoogle Scholar
  20. Yadav, O. P., Singh, N., Chinnam, R. B., & Goel, P. S. (2003). A fuzzy logic based approach to reliability improvement during product development. Reliability Engineering and System Safety, 80, 63–74.CrossRefGoogle Scholar
  21. Zadeh, L. A. (1965). Fuzzy Sets: Information and Control, 8(3), 338–353.Google Scholar

Copyright information

© Springer India 2013

Authors and Affiliations

  1. 1.AECOM India Private LimitedHyderabadIndia
  2. 2.Reliability Engineering CentreIndian Institute of Technology KharagpurKharagpurIndia

Personalised recommendations