A Probabilistic Approach to Building Defect Prediction Model for Platform-based Product Lines
Determining when software testing should be begun and the resources that may be required to find and fix defects is complicated. Being able to predict the number of defects for an upcoming software product given the current development team enables the project managers to make better decisions. A majority of reported defects are managed and tracked using a repository system, which tracks a defect throughout its lifetime. The Defect Life Cycle (DLC) begins when a defect is found and ends when the resolution is verified and the defect is closed. Defects transition through different states according to the evolution of the project, which involves testing, debugging, and verification. All of these defect transitions should be logged using the Defect Tracking Systems (DTS). We construct a Markov chain theory-based defect prediction model for consecutive software products using defect transition history. During model construction, the state of each defect is modelled using the DLC states. The proposed model can predict the defect trends such as total number of defects and defect distribution states in the consecutive products. The model is evaluated using an actual industrial mobile product software project and found to be well suited for the selected domain.
[1] Andersson C. and Runeson P., “A Replicated Quantitative Analysis of Fault Distributions in Complex Software Systems,” IEEE Transactions on Software Engineering, vol. 33, no. 5, pp. 273- 286, 2007.
[2] Bach J., “Good Enough Quality: Beyond the Buzzword,” IEEE Computer Society, vol. 30, no. 8, pp. 96-98, 1997.
[3] Basili V., Briand L., and Melo W., “A Validation of Object-Oriented Design Metrics as Quality Indicators,” IEEE Transactions on Software Engineering, vol. 22, no. 10, pp. 751- 761, 1996.
[4] Berger C., Rendel H., and Rumpe B., “Measuring the Ability to Form a Product Line from Existing Products,” in Proceeding of the Fourth International Workshop on Variability Modelling of Software-intensive Systems, Linz, pp. 151-154, 2010.
[5] Bugzilla, http://www.bugzilla.org/, Last Visited 2013.
[6] Catal C. and Diri B., “A Systematic Review of Software Fault Prediction Studies,” Expert Systems with Applications, vol. 36, no. 4, pp. 7346-7354, 2009.
[7] Ching W. and Ng M., Markov Chains: Models, Algorithms and Applications, Springer Science, 2006.
[8] Clements P. and Northrop L., Software Product Lines: Practices and Patterns, Addison-Wesley, 2001.
[9] Fenton N. and Neil M., “A Critique of Software Defect Prediction Models,” IEEE Transactions on Software Engineering, vol. 25, no. 5, pp. 675- 689, 1999.
[10] Git, http://git-scm.com/, Last Visited 2013.
[11] Goel A. and Okumoto K., “Time-Dependent Error-Detection Model for Software Reliability and other Performance Measures,” IEEE Transactions on Reliability, vol. R-28, no. 3, pp. 206-211, 1979.
[12] Hassan A., “Predicting Faults using the Complexity of Code Changes,” in Proceeding of ICSE, Washington, pp. 78-88, 2009.
[13] Hribar L., Bogovac S., and Marincic Z., “Implementation of Fault Slip Through in Design Phase of the Project,” in Proceeding of the 31st International Convention on Information and Communication Technology, Electronics and Microelectronics, Opatija, pp. 134-138, 2008.
[14] Hribar L., “Usage of Weibull and other Models for Software Faults Prediction in AXE,” in Proceeding of the 16th International Conference on Software, Telecommunications and Computer Networks, Dubrovnik, pp. 157-162, 2008. 422 The International Arab Journal of Information Technology, Vol. 14, No. 4, July 2017
[15] Jeong G., Kim S., and Zimmermann T., “Improving Bug Triage with Bug Tossing Graphs,” in Proceeding of ESEC/FSE '09, Amsterdam, pp. 111-120, 2009.
[16] Jira, http://jira.dspace.org, Last Visited 2013.
[17] Kaur K. and Singh H., “An Investigation of Desing Level Class Cohesion Metrics,” The International Arab Journal of Information Technology, vol. 9, no. 1, pp. 66-73, 2012.
[18] Kim S., Jr J., and Zhang Y., “Classifying Software Changes: Clean or Buggy?,” IEEE Transactions on Software Engineering, vol. 34, no. 2, pp. 181-196, 2008.
[19] Moser R., Pedrycz W., and Succi G., “A Comparative Analysis of the Efficiency of Change Metrics and Static Code Attributes for Defect Prediction,” in Proceeding of the 30th International Conference on Software Engineering, Leipzig, pp. 181-190, 2008.
[20] Nagappan N., Ball T., and Zeller A., “Mining Metrics to Predict Component Failures,” in Proceeding of the 28th International Conference on Software Engineering ICSE '06, Shanghai, pp. 452-461, 2006.
[21] Ohlsson N. and Alberg H., “Predicting Fault- Prone Software Modules in Telephone Switches,” IEEE Transactions on Software Engineering, vol. 22, no. 12, pp. 886-894, 1996.
[22] Staron M. and Meding W., “Predicting Short- Term Defect Inflow in Large Software Projects- an Initial Evaluation,” in Proceeding of the 11th International Conference on Evaluation and Assessment in Software Engineering EASE, Swindon, pp. 33-42, 2007.
[23] Weib C., Premraj R., Zimmermann T., and Zeller A., “How Long will it Take to Fix this Bug?,” in Proceeding of the 4th International Workshop on Mining Software Repositories MSR, Washington, pp. 308-318, 2007.
[24] Wood A., “Software Reliability Growth Models,” Technical Report, 1996.
[25] Zeller A., Why Programs Fail: A Guide to Systematic Debugging, Morgan Kaufmann, 2005.
[26] Zimmermann T., Premraj R., and Zeller A., “Predicting Defects for Eclipse,” in Proceeding of the International Workshop on Predictor Models in Software Engineering, San Francisco, pp. 91- 97, 2007. Chang-Kyun Jeon received his Ph.D. degree in the College of Information and Communications at Korea University and also is a principal engineer at Samsung Electronics. His interests include software product lines, defect prediction, and embedded software engineering. He received his M.S. degree in Control and Instrumentation Engineering from Kwangwoon University in Seoul, South Korea. Neung-Hoe Kim is a Ph.D. candidate in the College of Information and Communications at Korea University. His interests include requirements engineering, value-based software engineering, software engineering economics, and embedded software engineering. He received his M.S. degree in Computer Science from Korea University in Seoul, South Korea. Hoh In is a professor in the College of Information and Communications at Korea University. His primary research interests are embedded software engineering, social media platform and service, and software security management. He has published over 100 research papers and earned the most influential paper for 10 years award at ICRE 2006. Prof. In was an Assistant Professor at Texas A&M University. He received his Ph.D. in Computer Science from the University of Southern California (USC).