Upload
mauricio-aniche
View
316
Download
0
Embed Size (px)
Citation preview
SATT:TailoringCodeMetricThresholdsforDifferentSoftwareArchitectures
1
Maurício Aniche,ChristophTreude,AndyZaidman,Arie vanDeursen,MarcoGerosa@mauricioaniche,@ctreude,@azaidman,@avandeursen,@gerosa_marco
1. order by metric value
2. weight
SCAM2016 11
100,000LOC
LOC=1000.001%
LOC=200
3. weight aggregation
1. order by metric value
2. weight
SCAM2016 12
100,000LOC
LOC=1000.001%
LOC=2000.002%
3. weight aggregation
1. order by metric value
2. weight
SCAM2016 13
100,000LOC
LOC=1000.001%
LOC=2000.002%+0.001%
3. weight aggregation
1. order by metric value
2. weight
SCAM2016 14
100,000LOC
LOC=1000.001%
LOC=2000.003%
3. weight aggregation
4. extract thresholds from metric values whereaggregated weight is 70%, 80% and 90%
0%10%30%70%80%90% 100%
SCAM2016 17
1. order by metric value
2. weight
3. weight aggregation
1. order by metric value
2. aggregate the weight
3. extract thresholds from metric values whereaggregated weight is 70%, 80% and 90%
0%10%30%70%80%90% 100%
SCAM2016 29
RQ1. What differences in metric values distributions does SATT find for common architectural styles such as MVC?
SCAM2016 33
RQ2. Can the differences in distributions thus found be explained from the architectural constraints imposed on classes fulfilling dedicated architectural roles?
SCAM2016 34
RQ3. What impact do these differences have on the use of thresholds for quality assessments?
SCAM2016 35
RQ1. The approach indeed finds architectural roles that present significantly higher (or lower) values for certain metrics when compared to other classes.
SCAM2016 37
SCAM2016 39
“Controllers are coupled to the framework while Services are coupled to domain objects.”
“Entities contain getters and setters”
RQ2. Experts considered most of the differences in metric values for architectural roles to be coherent. Their key explanation is that architectural roles have specific responsibilities.
SCAM2016 40
RQ3. The state-of-art approach tends to return doubtful results for architectural roles that have metric values distribution significantly different from other classes. Our approach improves it by using the architectural role’s metric values distribution to define thresholds.
SCAM2016 45
• Benchmark-basedassessmenttechniquesdonottakethearchitecturalroleofaclassintoconsideration.
• SATTprovidesaspecificthresholdforanarchitecturalrolewhenitsmetricvaluesaresignificantlydifferentfromotherclasses.
• Theapproachseemstoprovidebetterresultsinthesecases.
SCAM2016 48