Hironori Washizaki, Kiyoshi Honda, Yoshiaki Fukazawa, “Predicting Release Time for Open Source Software based on the Generalized Software Reliability Model,” Proceedings of Agile Conference 2015, Research Track, Washington, D.C., USA, August 3-7, 2015.
There is a significant challenge that how to predict the possible release date of the target software having enough reliability in agile development where incremental development and small software releases are key characteristics. Existing approaches targeting agile development usually use release backlogs for predicting and setting delivery windows; however these do not consider the reliability of software for release date prediction so that there is a possibility that software at the predicted release date have poor reliability. Previously we proposed a generalized software reliability model (GSRM) based on a stochastic process and compared it with other models to evaluate recent software developments. However, we, did not directly evaluate the accuracy of the predicted release time by model. In this paper, towards prediction of release dates in agile development, we focus on the release dates of open source software (OSS) developments and the number of detected issues (faults) since OSS developments comply well with the definition of the agile development in terms of incremental process and frequent releases We define the accuracy of the predicted release time using the given development terms and the number of issues. Additionally, we propose a method to evaluate the accuracy of the predicted release time. In the best case, GSRM shows only 0.572% Error Rate, which corresponds to a predicted release date of two days prior to the actual release date. We believe that our method should be applicable to agile developments too.
Predicting Release Time based on Software Reliability Model
1. Predicting Release Time based on
Software Reliability Model
Hironori Washizaki, Kiyoshi Honda, Yoshiaki Fukazawa
Waseda University
Twitter: @Hiro_Washi
washizaki@waseda.jp
http://www.washi.cs.waseda.ac.jp/
Agile 2015 Research Track, August 6th, 2015
2. 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?
3. 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)
4. Our challenges in SRM
1. Predicting past or future?
2. Prediction with respect to each release,
iteration, or testing level?
3. Uncertainty?
4
5. Our challenges in SRM
1. Predicting past or future?
2. Prediction with respect to each release,
iteration, or testing level?
3. Uncertainty?
5
6. 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
18. 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)?
19. Thank you very much! Questions?
• washizaki@waseda.jp
• @Hiro_Washi
20