N-version programming
The idea of N-version (multi-version) programming comes from a common hardware reliability approach--replication
The basic notion is simple
- Have N independent teams write N versions of a program
- Run them all simultaneously and have them vote at specified points