Software reliability modelling
When should testing stop, and when is a release safe? Probabilistic models that estimate reliability from failure data.
Software is an intellectual product, and its development still resists full automation. At the same time, society depends on software more heavily every year, and a single defect can bring down a system or cause a serious accident.
The traditional route runs from requirements through design and coding to a final testing phase, where defects are removed until the product is reliable enough to ship. That raises two quantitative questions: how much testing is enough, and when is it safe to release.
We study probabilistic models that answer them from the failure data observed during testing. Our work centres on software reliability growth models based on non-homogeneous Poisson processes (NHPP), and extends to self-exciting models using Hawkes processes, interval estimation by parametric bootstrap, and long-range failure prediction — always with both estimation accuracy and practical usability in mind.
Research highlights in this area
Software from this area
pysrat Python
A Python package for fitting and analysing NHPP-based software reliability models.
Rsrat R
An R package for evaluating software reliability from fault data.
Rphsrm R
Phase-type software reliability models (PHSRM) for R.
msrat R
An R package that assesses software reliability using development metrics.
gof4srm R
Goodness-of-fit tests for software reliability models (Kolmogorov–Smirnov, EIC).
shinyRsrat R
A web front end for Rsrat, built with Shiny.
phsrm Java
A Java implementation of phase-type software reliability models.
SRATS2017 C#
An Excel add-in for software reliability assessment on a spreadsheet.
SRATS2010 C
The earlier version of the SRATS Excel add-in.

