Difference between N-version programming and Recovery blocks Techniques

Software fault-tolerance techniques use two common techniques to achieve fault-tolerance.

1. N-version programming :
In N-version programming technique, there are N groups or individual of developers that do not share the programming process and these independents develop N versions of software module. The idea behind this technique is that different individual will commit different mistakes and will cover all possibilities of fault.

2. Recovery blocks :
In recovery block technique, different algorithms are used for different try blocks. Try blocks are basically the redundant components. Here the redundant copies are not run simultaneously. The result in each try is block is tested by acceptance test.





Difference between N-version Programming and Recovery Blocks Techniques:

N-VERSION PROGRAMMING RECOVERY BLOCKS
N-versions of software are developed by n independent team. Redundant copies are developed using different algorithms.
Redundant copies are run concurrently. Redundant copies are run one by one.
Acceptance test is not performed. Acceptance test is performed.
It can be applied top critical systems. It can’t be applied to critical systems.
It is possible to achieve same fault for different version. Same fault can’t be achieved by redundant copies.
It has statistical correlation of failure. It is used only if task deadline is more than task computation time.
It can be used with task having more or less laxity. It is used with tasks having more laxity.

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.