Reliability simulation of fault-tolerant software and systems