Data Mining BS/MS Project Bayesian Models for Estimating Software Quality Presentation by Mike Calder
Bayesian Models Used to predict software quality/defects –Can estimate the amount of bugs in a given system based on related metrics –Can provide support to a company’s quality assurance team Systems are portrayed in Bayesian nets based on process, code quality, and programmatic architecture 2
Motivation Software companies want to identify areas of their product that are most likely to produce defects –Allows their quality assurance teams to make better use of their time Development teams want to identify causes of defects (beyond incorrect code) in order to increase their efficiency 3
Sample Predicting Attributes Development process –Amount of testing –Frequency of code reviews System architecture –Number of modules –Areas vulnerable to defects Code quality –Comment ratio 4
Sample Bayesian Network 5 Taken from (Marquez, 2008)
Residual Defects Bayesian nets can also be used to predict the number of defects that will be created during development and later found/fixed Residual defects are the bugs that are not found in testing, which is the most difficult (and most interesting) target to use –Usually has more dependencies on the process predicting attributes 6
Residual Defect Bayesian Net 7 Taken from (Marquez, 2008)
References A. Okutan. “Software defect prediction using Bayesian Networks”. Emperical Software Engineering Vol A. Okutan. “Software defect prediction using Bayesian Networks”. Emperical Software Engineering Vol S. Wagner. “A Bayesian Network Approach to Assess and Predict Software Quality Using Activity-Based Quality Models”. Information and Software Technonlogy, vol. 52, no. 11, pp S. Wagner. “A Bayesian Network Approach to Assess and Predict Software Quality Using Activity-Based Quality Models”. Information and Software Technonlogy, vol. 52, no. 11, pp D. Marquez. “Using Bayesian Networks to Predict Software Defects and Reliability”. Proc. Institution of Mechanical Engineers, Part O, Journal of Risk and Reliability D. Marquez. “Using Bayesian Networks to Predict Software Defects and Reliability”. Proc. Institution of Mechanical Engineers, Part O, Journal of Risk and Reliability