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
- Ambler, S. W., R., J., 2002. Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. John Wiley & Sons.
- 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.
- Bouckaert, R. R., 1995. Bayesian Belief Network: from Construction to Inference.
- Boyd, N., 2007. Rhino home page.
- 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.
- Bugzilla, D., 2005. Mozilla Foundation.
- 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.
- Chidamber, S. R., Kemerer, C. F., 1994. A metrics suite for object-oriented design IEEE Transactions on Software Engineering 20, 476-493.
- Cohn, C., 2006 Agile Alliance Home Page.
- CYVIS, 2007. CYVIS.
- D'Ambros, M., Lanza, M., Robbes, R., 2012. Evaluating defect prediction approaches: a benchmark and an extensive comparison. Empirical Software Engineering 17, 531-577.
- Dirk, V. P., Bart, L., 2004. Customer Attrition Analysis for Financial Services Using Proportional Hazard Models. European Journal of Operational Research 157, 196-127.
- 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.
- 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.
- 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.
- 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.
- 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.
- Heeger, D., 1998. Signal Detection Theory.
- Herbsleb, J. D., 2001. Global software development. IEEE Software 18, 16-20.
- Hosmer, D., Lemeshow, S., 2000. Applied Logistic Regression, 2 ed. John Wiley and Sons.
- 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.
- Kabli, R., Herrmann, F., McCall, J., 2007. A Chain-Model Genetic Algorithm for Bayesian Network Structure Learning, GECCO, London.
- Korb, K. B., Nicholson, A. E., 2004. Bayesian Artificial Intelligence. Chapman & Hall/CRC.
- 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.
- 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.
- MacKay, D., 2003. Information Theory, Inference and Learning Algorithms. Cambridge University Press.
- McCabe, T. J., 1976. A complexity measure. IEEE Transactions on Software Engineering 2, 308 - 320.
- 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.
- Menzies, T., Greenwald, J., Frank, A., 2007. Data mining static code attributes to learn defect predictors. IEEE Transactions on Software Engineering 33, 2-13.
- 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.
- 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.
- Quinlan, J. R., 1993. C4.5: Programs for Machine Learning. Morgan Kauffman.
- Singh, Y., Kaur, A., Malhotra, R., 2008. Predicting software fault proneness model using neural network Lecture Notes in Computer Science 5089, 204-214.
- Singh, Y., Kaur, A., Malhotra, R., 2009. Software fault proneness prediction using support vector machines, Proceedings of the World Congress on Engineering London, UK.
- 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.
- Spinellis, D., 2006. Code Quality: The Open Source Perspective. Addison Wesley.
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