Evaluating the Impact of UML Modeling on Software Quality
An Industrial Case Study
Introduction Research Design Case Study Results Conclusions
Ariadi Nugroho Michel R.V. Chaudron
Evaluating the Impact of UML Introduction Modeling on Software - - PowerPoint PPT Presentation
Evaluating the Impact of UML Introduction Modeling on Software Quality Research Design Case Study An Industrial Case Study Results Conclusions Ariadi Nugroho Michel R.V. Chaudron Modeling, is it worth it? Introduction Research Design
Introduction Research Design Case Study Results Conclusions
Ariadi Nugroho Michel R.V. Chaudron
Introduction Research Design Case Study Results Conclusions
Well-thought solutions Better comprehension Improved Communication Reduced maint. effort Reduced reworks Reduced defects Improved productivity Cost-saving
Introduction Research Design Case Study Results Conclusions
Introduction Research Design Case Study Results Conclusions
cause misinterpretation (Lange & Chaudron, ICSE 2006)
comprehension performance (IST Journal, 2009)
to lower defect density in software (MODELS 2008)
Introduction Research Design Case Study Results Conclusions
Implementation::Package A UML Model::Package A
do_A() aClass do_B() bClass do_C() cClass do_something() letterClass do_A() aClass do_B() bClass do_Z() zClass do_something() letterClass do_BB1() bb1Class do_BB2() bb2Class
25 50 75 100 Modeled Not Modeled
Defect density
Introduction Research Design Case Study Results Conclusions
Research Question
Introduction Research Design Case Study Results Conclusions
Design of Study
No Modeling UML Modeling Main factor Confounding factors
Code Complexity Code Coupling
THE USE OF UML RESULTING IMPLEMENTATION
Defect Density Affects?
Project Size # of staffs Off-shoring Model Size Code size 20 man-years 25 people India 104 UCs 266 classes 341 SDs 152, 017
Introduction Research Design Case Study Results Conclusions
System under Study
Introduction Research Design Case Study Results Conclusions
Approach
Paymentcomponent C2 requires I2 requires I3 uses I2.g uses I3.h component C2 requires I2 requires I3 uses I2.g uses I3.h
defect density Modeled vs Unmodeled
13.75 27.50 41.25 55.00 Not Modeled Modeled
Collect implementation classes, UML model, and defect data Determine defect density of every implementation class Check whether an implementation class has been modeled in UML
Project Repository
Statistical tests
Classes that were not modeled tend to have higher defect density than the modeled ones
Introduction Research Design Case Study Results Conclusions
21% 79%
Modeled Not Modeled
0.005 0.010 0.015 0.020
Not Modeled Modeled
Mean
Defect Density
Descriptive Statistics
Class coupling and complexity might confound the effect of UML modeling on defect density
Introduction Research Design Case Study Results Conclusions
7.5 15.0 22.5 30.0 Not Modeled Modeled
Coupling Complexity
Mean
Descriptive Statistics
Modeled classes have significantly higher coupling and complexity
Introduction Research Design Case Study Results Conclusions
CBO Total Variance in Defect Density Variance explained by the use of UML Unexplained Variance MCC
Controlling for Confounding Factors
Introduction Research Design Case Study Results Conclusions Mean
11.25 22.50 33.75 45.00 Not Modeled (59) Modeled (37)
Coupling Complexity
Accounting for CBO Accounting for CBO & MCC
2 1
Implementation Classes (812 classes)
CBO 8 - 10 (113 classes) Random sampling (80% = 96 classes)
Mann-Whitney Test ANCOVA Test
Pairwise sampling
Controlling for Confounding Factors
Introduction Research Design Case Study Results Conclusions
13.75 27.50 41.25 55.00 Not Modeled Modeled
Defect Density (Mean Rank)
Testing the Hypothesis
Variables Sum of Squares df F Sig. The use of UML 0.002 1 6.825 0.010 Coupling 7.562E-8 1 0.000 0.987 Complexity 0.001 1 5.224 0.025
Introduction Research Design Case Study Results Conclusions
Testing the Hypothesis
Introduction Research Design Case Study Results Conclusions
Defect Density (Mean Rank)
0.005 0.010 0.015 0.020
Not Modeled Modeled
Introduction Research Design Case Study Results Conclusions
Conclusions
Introduction Research Design Case Study Results Conclusions
What’s Next?
Introduction Research Design Case Study Results Conclusions