Data Mining BSMS Project Bayesian Models for Estimating
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 Taken from (Marquez, 2008) 5
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 Taken from (Marquez, 2008) 7
References • A. Okutan. “Software defect prediction using Bayesian Networks”. Emperical Software Engineering Vol 19. 2014. • 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. 1230 -1241. 2010. • D. Marquez. “Using Bayesian Networks to Predict Software Defects and Reliability”. Proc. Institution of Mechanical Engineers, Part O, Journal of Risk and Reliability. 2008. 8
- Slides: 8