Title: Multi-Version Software Reliability Through Fault-Avoidance and Fault-Tolerance