Difference between N-version programming and Recovery blocks Techniques Last Updated : 04 May, 2020 Comments Improve Suggest changes Like Article Like Report 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. Comment More infoAdvertise with us Next Article Difference between High Availability and Disaster Recovery for SQL Server P pp_pankaj Follow Improve Article Tags : Difference Between Software Engineering Similar Reads Difference between Recovery Blocks and CPR Recovery Prerequisite - Fault-tolerance Techniques 1. 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 ac 2 min read Difference between Concurrent Versions System (CVS) and Subversion (SVN) 1. Concurrent Versions System (CVS) : Concurrent versions System is functional version control system which is developed by Dick Grune as series of shell scripts. This helps the teams to be connected to the changes that are measured into repository when working on software. This tool was used as the 3 min read Difference Between Paging and Segmentation Paging divides memory into fixed-size blocks called pages, which simplifies management by treating memory as a uniform structure. In contrast, segmentation divides memory into variable-sized segments based on logical units such as functions, arrays, or data structures.Both methods offer distinct adv 4 min read Difference between Forward Engineering and Reverse Engineering Forward engineering and reverse engineering are two approaches to software development, with different goals and processes. Forward engineering involves creating new software systems from scratch using given requirements and design specifications. It focuses on building new applications through a st 6 min read Difference between High Availability and Disaster Recovery for SQL Server 1. SQL Server High Availability (HA) : It is the technology that could be used to provide 100% service availability and 24x7 up-time by using extra and backup components like a copy of the database at the same location. Benefits of High Availability : Keeping databases online from the circumstances 2 min read Difference between Fixed Partitioning and Variable Partitioning In multi-programming, the most important methods of memory management include Fixed and Variable Partitioning. Under Fixed Partitioning memory is divided into partitions which are fixed whereas under Variable Partitioning memory partition is varied based on process size. Each has its advantages and 5 min read Like