Software Defect Prediction & Release Readiness Assessment

  • View

  • Download

Embed Size (px)

Text of Software Defect Prediction & Release Readiness Assessment

  1. 1. Software Defect Prediction & Release Readiness Assessment Rakesh Rana
  2. 2. Rakesh Rana PhD in Software Engineering, 2015 Double Masters from Handelshgskolan i Gteborg Tekn. Lic in 2013 Industrial collaborations with Volvo Car Group, Ericsson, Saab > 15 publications About Myself
  3. 3. Number of defects / trouble reports (TRs)
  4. 4. Number of defects / trouble reports (TRs) Have you ever wondered? What is the trend of defect inflow, what does it indicate? Have we found most defects already or will we find them late? How many defects are we likely to find in this project/release? Are we ready to release? or do we need to test more?
  5. 5. Data used
  6. 6. Early or late defects? ConcaveS-shape Convex
  7. 7. Early or late defects? Projects/ Releases Defect inflow intensity trend until half-way through the project Predicted shape of defect inflow profile Overall trend Trend after reaching maximum Defect inflow intensity trend characteristics A1, A3, A4 & C1 Increasing Decreasing Defect inflow intensity first increases, maximizes near to half-way and then decreases S-shape B1, B3 & B4 Decreasing Decreasing Early defects, defect inflow intensity maximum early then decreases smoothly Concave A2, B2, B5 & C2 Increasing Increasing Late defects, defect inflow intensity trend is positive throughout half-way of project timeline Convex
  8. 8. Using predicted shape to choose a better model Predicted shape of defect inflow profile Recommended SRGMs For testing resource(s) allocation For release readiness assessment using current project data S-shape Logistic Logistic Concave Gompertz Gompertz Convex Delayed-S Logistic
  9. 9. Predicting Defect Inflow (Shape & Expected No) is useful for: Software engineers to make early intervention in design and implementation to take corrective actions early, Quality assurance managers to plan and allocate human and test resources optimally, and Project managers to manage release cycle decisions and monitor progress.
  10. 10. Defect Predictions: Other useful techniques Predicting which files/modules are most likely to have a defect: Regression Models Machine Learning Models File/module likely to contain defect/not No of Changes Size Complexity
  11. 11. Defect Prediction: Assessing Release Readiness Proj/Release-1 LOC: 100K Defects found: 524 Defect density: 5.24/KLOC Proj/Release-4 LOC: 250K Defects found: 1063 Defect density: Proj/Release-2 LOC: 162K Defects found: 992 Defect density: 6.12/KLOC Proj/Release-3 LOC: 550K Defects found: 3196 Defect density: 5.81/KLOC Historical Data Current Project 4.5/KLOC Comparing defect density
  12. 12. Defect Prediction: Assessing Release Readiness Defect seeding Automated Test Manual Test Remaining defect density is proportional to not found seeded defects density Development
  13. 13. Defect Prediction: Assessing Release Readiness Defect pooling Test Suite-A Team-A Test Suite-B Team-B or Unique defects (A) Unique defects (B) Common defects (A,B) More common defects -> less defects remaining in the system
  14. 14. For more information on: Analysing defect inflow data, Release readiness assessment, or Using metrics for process improvement. Contact: Research theme: Metrics Miroslaw Staron, Rakesh Rana,