The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
Automated Detection of Performance Regressions Using Statistical Process Control Techniques
1. Automated Detection of Performance
Regressions Using Statistical Process Control
Techniques
Thanh Nguyen, Bram Adams, ZhenMing Jiang, Ahmed E. Hassan
Queen’s University, Kingston, Canada
Mohamed Nasser, Parminder Flora
Research in Motion, Waterloo, Canada
1
12. Obstacles #1: Inputs are unstable
12
0
5
10
15
20
25
30
35
40
45
1 2 3 4 5 6
CPU%
Time
Version 1.0
Version 1.1Is there a
performance
regression?
13. It is very difficult to maintain stable
input across test runs
13
Applying load
Version 1.1
Version 1
CPU %,
Memory usage
CPU %,
Memory usage
Detect
regression
Randomization Cache
Warm up
Background tasks
14. Solution #1: Scale the counter according to
the input
• Step 1: Determine α and β
• Step 2:
14
CPU% Request/s
c = a *l + b
¢ct = ct *
a *lt + b
a *lb + b
16. Obstacles #2: Multiple inputs
16
0
5
10
15
20
25
30
35
10 20 30 40 50 60 70 80 90 100
Density%
CPU Usage
Density plot of two test runs
IF … THEN
…
ELSE
…
17. 0
5
10
15
20
25
30
35
10 20 30 40 50 60 70 80 90 100
Density%
CPU Usage
Density plot of two test runs
Solution #2: Isolating the counters
17
Local minima
18. Scale and filter
18
Applying load
Version 1.1
Version 1
CPU %,
Memory usage
CPU %,
Memory usage
Detect
regression
Scale
Scale
Filter
Filter