Text this: Software reliability modelling and evaluation via Markov and semi-Markov processes