Advantages of N-version programming
1. Increases design diversity so probability of faults that result in failures should be reduced
2. Increases availability of the system
Disadvantages of N-version programming
1. Increased cost because of the need to use independent development teams
2. Increased software complexity because of the need for a fault tolerant controller. Increased complexity increases the probability of error
3. Improvement in reliability in practice is limited because of the possibility of common errors made by different development teams.
N-version programming would not be a good design strategy for this type of software. There is no need for high availability and the increased complexity and cost would make the overall cost of the machine too high.