Top Banner
Predicting Release Time based on Software Reliability Model Hironori Washizaki , Kiyoshi Honda, Yoshiaki Fukazawa Waseda University Twitter: @Hiro_Washi [email protected] http://www.washi.cs.waseda.ac.jp/ Agile 2015 Research Track, August 6 th , 2015
19
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Predicting Release Time based on Software Reliability Model

Predicting Release Time based on Software Reliability Model

Hironori Washizaki, Kiyoshi Honda, Yoshiaki Fukazawa

Waseda University

Twitter: @Hiro_Washi

[email protected]

http://www.washi.cs.waseda.ac.jp/

Agile 2015 Research Track, August 6th, 2015

Page 2: Predicting Release Time based on Software Reliability Model

When to release? • Predicting completion based on cumulative

flow diagram [Power, Agile’14]

2

Ken Power, "Metrics for Understanding Flow,“ Proceedings of the Agile 2014 Conference, 2014.

O blog da ASPERCOM Treinamentos, O Cumulative Flow Diagram,

http://blog.aspercom.com.br/2012/04/03/cumulative-flow-diagram/

T1 T2

Done

WIP

Backlog

• It could have a broad range of completion time.

• Ready to release in terms of reliability?

Page 3: Predicting Release Time based on Software Reliability Model

Software reliability model (SRM)

3

#Issues

Actual

Predicted

Days K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14

Logistic

Gompertz

Non-homogeneous Poisson

process(NHPP)

Page 4: Predicting Release Time based on Software Reliability Model

Our challenges in SRM

1. Predicting past or future?

2. Prediction with respect to each release, iteration, or testing level?

3. Uncertainty?

4

Page 5: Predicting Release Time based on Software Reliability Model

Our challenges in SRM

1. Predicting past or future?

2. Prediction with respect to each release, iteration, or testing level?

3. Uncertainty?

5

Page 6: Predicting Release Time based on Software Reliability Model

Predicting, what?

Future!

6

Mbz1, The fossils from Cretaceous age found in Lebanon.jpg CC BY-SA 3.0

https://en.wikipedia.org/wiki/Fossil#/media/File:The_fossils_from_Cretaceou

s_age_found_in_Lebanon.jpg

Past?

Future NEXT EXIT

Page 7: Predicting Release Time based on Software Reliability Model

7

#Issues

Actual

Predicted

Day K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14

Industrial case

Page 8: Predicting Release Time based on Software Reliability Model

SRM for runtime future prediction

8

0

5

10

15

20

25

0 0.2 0.4 0.6 0.8 1

#Issues #Total issues predicted

at each time point

75 75 300

Page 9: Predicting Release Time based on Software Reliability Model

SRM for runtime future prediction

9

0

5

10

15

20

25

0 0.2 0.4 0.6 0.8 1

#Total issues predicted

at each time point

75 75 120 120

#Issues

200

Page 10: Predicting Release Time based on Software Reliability Model

10

#Issues #Total issues predicted

at each time point

75 120

#Issues

Something happened!

Predication became stable.

SRM as actionable metric!

Page 11: Predicting Release Time based on Software Reliability Model

Our challenges in SRM

1. Predicting past or future?

2. Prediction with respect to each release, iteration, or testing level?

3. Uncertainty?

11

Page 12: Predicting Release Time based on Software Reliability Model

Prediction with respect to release: a OSS case

“Foundation” http://foundation.zurb.com/

12

438 500

Predicted release date: 498

Page 13: Predicting Release Time based on Software Reliability Model

Our challenges in SRM

1. Predicting past or future?

2. Prediction with respect to each release, iteration, or testing level?

3. Uncertainty?

14

Page 14: Predicting Release Time based on Software Reliability Model

Uncertainty

15 15

Page 15: Predicting Release Time based on Software Reliability Model

Prediction with uncertainty

0

10

20

30

40

50

60

70

80

90

0 2 4 6 8 10 12 14

#Is

su

es

Time

ActualData

Our model

16

Page 16: Predicting Release Time based on Software Reliability Model

Prediction with uncertainty

0

10

20

30

40

50

60

70

80

90

0 2 4 6 8 10 12 14

#Is

su

es

Time

ActualData

Our model

-

+

17

Lower (worst case)

Upper (best case)

T1 T2

Page 17: Predicting Release Time based on Software Reliability Model

Uncertainty patterns and prediction

18

0 0.5 1

Constant Increase Decrease

Page 18: Predicting Release Time based on Software Reliability Model

Conclusion and future work

• Our contributions: using SRM – Predicting future

– Prediction with respect to release and testing level

– Uncertainty patterns

– Tool available as Jenkins plug-in

19

https://jenkins-ci.org/

• Future work – How to specify appropriate uncertainty pattern?

– Prediction with respect to release, testing level or iteration?

– How work well for Agile developments?

– Combination of feature completion (Cumulative Flow Diagram) and issues (Software Reliability Model)?

Page 19: Predicting Release Time based on Software Reliability Model

Thank you very much! Questions?

[email protected]

• @Hiro_Washi

20