Difference between NVP and CPRR
1. N-version programming (NVP) :
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. Check-pointing and Rollback Recovery (CPRR) :
Check-pointing rollback recovery technique is different from n-version programming technique of software fault-tolerance. In this technique, system is tested each time when we perform some computation. This techniques is basically useful when there is processor failure or data corruption.
Difference between N-version programming and Check-pointing rollback recovery:
N-VERSION PROGRAMMING | CHECK-POINTING ROLLBACK RECOVERY |
---|---|
In this technique N teams or individuals works independently. | While here single team or individual works. |
Redundant copies are prepared in this technique. | No redundant copies are available here. |
In this technique, acceptance test is not carried out. | Acceptance test is performed. |
It is possible to achieve same fault for different version. | It is not possible to have same fault in single version. |
System is not tested each time after computation. | While system is tested each time after computation. |
A voter is used to choose between different versions. | No voter is used here, already acceptance test is performed. |
It is used when there is less chance of processor failure. | It is useful when there is more chances of processor failure. |
Chances of data corruption is less. | Chances of data corruption is high. |