Predicting Fault-proneness of Object-Oriented System Developed with Agile Process using Learned Bayesian Network

Lianfa Li, Hareton Leung

2013

Abstract

In the prediction of fault-proneness in object-oriented (OO) systems, it is essential to have a good prediction method and a set of informative predictive factors. Although logistic regression (LR) and naïve Bayes (NB) have been used successfully for prediction of fault-proneness, they have some shortcomings. In this paper, we proposed the Bayesian network (BN) with data mining techniques as a predictive model. Based on the Chidamber and Kemerer’s (C-K) metric suite and the cyclomatic complexity metrics, we examine the difference in the performance of LR, NB and BN models for the fault-proneness prediction at the class level in continual releases (five versions) of Rhino, an open-source implementation of JavaScript written in Java. From the viewpoint of modern software development, Rhino uses a highly iterative or agile development methodology. Our study demonstrates that the proposed BN can achieve a better prediction than LR and NB for the agile software.

References

  1. Ambler, S. W., R., J., 2002. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. John Wiley & Sons.
  2. Basili, V. R., Briand, L. C., Melo, W. L., 1996. A validation of object-oriented design metrics as quality indicators. IEEE Transactions on Software Engineering 22, 751-761.
  3. Bouckaert, R. R., 1995. Bayesian Belief Network: from Construction to Inference.
  4. Boyd, N., 2007. Rhino home page.
  5. Briand, L. C., Wust, J., Daly, J. W., Porter, D. V., 2000. Exploring the relationships between design measures and software quality in object-oriented systems. Journal of Systems and Software 51, 245-273.
  6. Bugzilla, D., 2005. Mozilla Foundation.
  7. Cardoso, J., 2006. Process Control-flow Complexity Metric: An Empirical Validation, IEEE International Conference on Services Computing (IEEE SCC 06). IEEE Computer Society, Chicago, pp. 167-173.
  8. Chidamber, S. R., Kemerer, C. F., 1994. A metrics suite for object-oriented design IEEE Transactions on Software Engineering 20, 476-493.
  9. Cohn, C., 2006 Agile Alliance Home Page.
  10. CYVIS, 2007. CYVIS.
  11. D'Ambros, M., Lanza, M., Robbes, R., 2012. Evaluating defect prediction approaches: a benchmark and an extensive comparison. Empirical Software Engineering 17, 531-577.
  12. Dirk, V. P., Bart, L., 2004. Customer Attrition Analysis for Financial Services Using Proportional Hazard Models. European Journal of Operational Research 157, 196-127.
  13. Elomaa, T., Rousu, J., 1996. Finding optimal multi-splits for numerical attributes in decision tree learning, ESPRIT Working Group, NeuroCOLT Technical Report Series, pp. 1-16.
  14. Fenton, N., Neil, M., Marsh, W., Hearty, P., Radlinski, L., Krause, P., 2008. On the effectiveness of early life cycle defect prediction with Bayesian nets Empirical Software Engineering 13, 499-537.
  15. Gokhale, S. S., Lyn, M. R., 1997. Regression tree modeling for the prediction of software quality, Proc. Of Third ISSAT Intl. Conference on Reliability, Anaheim, CA, pp. 31-36.
  16. Guo, L., Ma, Y., Cukic, B., Singh, H., 2004. Robust prediction of faultproneness by random forests, the 15th International Symposium on Software Reliability Engineering. IEEE Computer Society, Washington, DC, pp. 417- 428.
  17. Harrison, R., Counsell, S., Nithi, R., 1998. An Evaluation of the MOOD Set of Object Oriented Software Metrics. IEEE Transaction on Software Engineering 24, 150- 157.
  18. Heeger, D., 1998. Signal Detection Theory.
  19. Herbsleb, J. D., 2001. Global software development. IEEE Software 18, 16-20.
  20. Hosmer, D., Lemeshow, S., 2000. Applied Logistic Regression, 2 ed. John Wiley and Sons.
  21. John, G. H., Langley, P., 1995. Estimating continuous distributions in Bayesian classifiers, the Eleventh Conference on Uncertainty in Artificial Intelligence, San Mateo, pp. 338-346.
  22. Kabli, R., Herrmann, F., McCall, J., 2007. A Chain-Model Genetic Algorithm for Bayesian Network Structure Learning, GECCO, London.
  23. Korb, K. B., Nicholson, A. E., 2004. Bayesian Artificial Intelligence. Chapman & Hall/CRC.
  24. Larranaga, P., Murga, R., Poza, M., Kuijpers, C., 1996. Structure Learning of Bayesian Network by Hybrid Genetic Algorithms, in: Fisher, D., Lenz, H.J. (Eds.), Learning from Data: AI and Statistics. SpringerVerglag.
  25. Li, L., Leung, H., 2011. Mining Static Code Metrics for a Robust Prediction of Software Defect-Proneness, ACM /IEEE International Symposium on Empirical Software Engineering and Measurement Aneheim, CA Liu, Y., Cheah, W., Kim, B., Park, H., 2008 Predict softare failure-prone by learning bayesian network International Journal of Advanced Science and Technology 1, 33-42.
  26. MacKay, D., 2003. Information Theory, Inference and Learning Algorithms. Cambridge University Press.
  27. McCabe, T. J., 1976. A complexity measure. IEEE Transactions on Software Engineering 2, 308 - 320.
  28. Menzies, T., Dekhtyar, A., Distefano, J., Greenwald, J., 2007b. Problems with precision: a response to "comments on 'data mining static code attributes to learn defect predictors'". IEEE Transactions on Software Engineering 33, 637-640.
  29. Menzies, T., Greenwald, J., Frank, A., 2007. Data mining static code attributes to learn defect predictors. IEEE Transactions on Software Engineering 33, 2-13.
  30. Olague, H. M., Etzkorn, L. H., Gholston, S., Quattlebaum, S., 2007. Empirical validation of three software metrics suites to predict fault-proneness of objectoriented classes developed using highly iterative or agile software development processes. IEEE Transactions on Software Engineering 33, 402-419.
  31. Pai, G. J., Dugan, J. B., 2007. Empirical analysis of software fault content and fault proneness using Bayesian methods. IEEE Transactions on Software Engineering 33, 675-686.
  32. Quinlan, J. R., 1993. C4.5: Programs for Machine Learning. Morgan Kauffman.
  33. Singh, Y., Kaur, A., Malhotra, R., 2008. Predicting software fault proneness model using neural network Lecture Notes in Computer Science 5089, 204-214.
  34. Singh, Y., Kaur, A., Malhotra, R., 2009. Software fault proneness prediction using support vector machines, Proceedings of the World Congress on Engineering London, UK.
  35. Singh Y., Kaur, A., Malhotra, R., 2009. Application of Decision Trees for Predicting Fault Proneness, International Conference on Information Systems, Technology and Management-Information Technology, Ghaziabad, India.
  36. Spinellis, D., 2006. Code Quality: The Open Source Perspective. Addison Wesley.
Download


Paper Citation


in Harvard Style

Li L. and Leung H. (2013). Predicting Fault-proneness of Object-Oriented System Developed with Agile Process using Learned Bayesian Network . In Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS, ISBN 978-989-8565-60-0, pages 5-16. DOI: 10.5220/0004392900050016


in Bibtex Style

@conference{iceis13,
author={Lianfa Li and Hareton Leung},
title={Predicting Fault-proneness of Object-Oriented System Developed with Agile Process using Learned Bayesian Network },
booktitle={Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS,},
year={2013},
pages={5-16},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004392900050016},
isbn={978-989-8565-60-0},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 15th International Conference on Enterprise Information Systems - Volume 2: ICEIS,
TI - Predicting Fault-proneness of Object-Oriented System Developed with Agile Process using Learned Bayesian Network
SN - 978-989-8565-60-0
AU - Li L.
AU - Leung H.
PY - 2013
SP - 5
EP - 16
DO - 10.5220/0004392900050016