Techniques for building dependable distributed systems: multi-version software testing | IEEE Conference Publication | IEEE Xplore