Single Version Fault Tolerance Algorithms – a Comprehensive Literature Review | IJCT Volume 13 – Issue 5 | IJCT-V13I5P55

IJCT
International Journal of Computer Techniques
ISSN 2394-2231 · Peer-Reviewed · Open Access
📚 Volume 13, Issue 5
📅 October 15, 2026
📄 Pages 475–482
🔖 ID: IJCT-V13I5P55

Single Version Fault Tolerance Algorithms – a Comprehensive Literature Review

Author(s)

Goutam Kumar Saha, Dr. Brij Mohan Pareek

Abstract

Important Single version fault tolerance algorithms have been described in this paper. Erroneous behaviors caused by temporary environmental disruptions present a persistent threat to the reliability of modern computing architectures. As process scaling continues and power supply voltages diminish, these soft errors due to transient faults become increasingly prevalent. This literature review aims to evaluate the evolution and current state of single-version transient fault tolerance algorithms. Unlike multi-version approaches that require diverse software implementations, single-version techniques leverage temporal, data, and resource redundancy within a solitary software instance. This review analyzes Software-Implemented Hardware Fault Tolerance (SIHFT), checkpointing mechanisms, and control-flow integrity schemes. It addresses the performance trade-offs inherent in these methods. It discusses future research directions for heterogeneous and extreme-scale systems.

Keywords

Software Implemented Fault Tolerance, Single Version Algorithms, Checkpoints, Control flow Checks.

Conclusion

Single-version transient fault tolerance is a mature but evolving field. It provides a flexible, cost-effective alternative to hardware-heavy redundancy. From early work on recovery blocks (Kim, 1995; Randell, 1975) to modern SIHFT and adaptive checkpointing, the field has continuously adapted to the increasing complexity of computing systems. While performance overhead remains a challenge, ongoing research into selective redundancy, cross-layer co-design, and machine learning integration promises to deliver robust, scalable, and efficient fault tolerance for the next generation of computing architectures.

References

1. Avizienis, A. (1985). The N-version approach to fault-tolerant software. IEEE Transactions on Software Engineering, SE-11(12), 1491-1501.
2. Blough, D. M., & Sullivan, G. F. (1990). A comparison of voting strategies for fault-tolerant distributed systems. In Proceedings of the Ninth Symposium on Reliable Distributed Systems (pp. 136–145). IEEE.
3. Bose, P., Srinivasan, J., Rivers, J. A., & Zyuban, V. (2013). Reliability-aware microarchitecture design. IEEE Micro, 33(4), 4–7.
4. Bresniker, K., & Strube, A. (2008). Reliability and Availability in Computing Systems (Technical Report). Hewlett-Packard Laboratories.
5. Chang, Y., & Huang, S.-C. (2010). Fault-tolerant checkpointing. IEEE Transactions on Dependable and Secure Computing, 7(2), 211-224.
6. Chen, Y. Y. (2005). Concurrent detection of control flow errors by hybrid signature monitoring. IEEE Transactions on Computers, 54(10), 1298–1313.
7. Christmansson, J., Hiller, M., & Rimén, M. (1998). An experimental comparison of fault and error injection. In Proceedings of the Ninth International Symposium on Software Reliability Engineering (pp. 369–378). IEEE.
8. Chtourou, M., Abid, M., Marrakchi, Z., & Mehrez, H. (2012). A survey of soft error detection and recovery. IEEE Transactions on Reliability, 61(3), 688–702.
9. Correia, M., Neves, N. F., & Verissimo, P. (2002). Lightweight checkpointing for distributed systems. IEEE Transactions on Parallel and Distributed Systems, 13(8), 833–844.
10. Dong, L., Liang, J.J., & Zhao, Y. (2015). Selective hardware/software redundancy. IEEE Transactions on Computers, 64(11), 3241–3253.
11. Elnozahy, E. N., Alvisi, L., Wang, Y. M., & Johnson, D. B. (2002). A survey of rollback-recovery protocols in message-passing systems. ACM Computing Surveys, 34(3), 375–408.
12. Gaisler, J. (2002). Concurrent error detection and fault-tolerance. In Proceedings of the Design, Automation and Test in Europe Conference and Exhibition (DATE 2002) (pp. 22–26). IEEE Computer Society.
13. Reghenzani, F., Guo, Z., & Fornaciari, W. (2023). Software fault tolerance in real-time systems: Identifying the future research questions. ACM Computing Surveys, 55(14s), 1–30.
14. Han, Y., Koren, I., & Krishna, C. M. (2009). Efficient software-implemented fault tolerance. In Proceedings of the 2009 24th IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems (pp. 313–321). IEEE.
15. Hiller, M., Jhumka, A., & Suri, N. (2001), An approach for analysing the propagation of data errors in software. Proceedings of the 2001 International Conference on Dependable Systems and Networks (DSN 2001) (pp. 161–172). IEEE Computer Society.
16. Iyer, R. K., Patel, J. H., Fuchs, W. K., Banerjee, P., & Horst, R. (1991). Fault-tolerant computing: An overview. IEEE Journal on Selected Areas in Communications, 9(4), 550–557.
17. Kanawati, G. A., et al. (1995). FERRARI: A tool for the validation of fault-tolerant systems. IEEE Transactions on Computers, 44(2) pp. 248–259.
18. Karlsson, J., Smith, A. B., & Jones, C. D. (1995). Application level fault tolerance. IEEE Transactions on Software Engineering, 21(1), 101–115.
19. Kim, K. H. (1995). The distributed recovery block scheme. In M. R. Lyu (Ed.), Software fault tolerance (pp. 189–209). John Wiley & Sons.
20. Knight, J. C., & Leveson, N. G. (1986). An experimental evaluation of the assumption of independence in multiversion programming. IEEE Transactions on Software Engineering, SE-12(1), 96–109
21. Ko, Y. (2022). Survey of software-implemented soft error protection. Electronics, 11(3), 456.
22. Koren, I., & Krishna, C. M. (2007). Fault-tolerant systems. Morgan Kaufmann.
23. Lala, P. K. (2001). Self-checking and fault-tolerant digital design. Morgan Kaufmann
24. Laprie, J. C. (1992). Dependability: Basic concepts and terminology. Springer.
25. Lee, P. A., & Anderson, T. (1990). Fault tolerance: Principles and practice (2nd ed.). Springer-Verlag.
26. Lyu, M. R. (1995). Software fault tolerance. John Wiley & Sons Ltd.
27. Lyu, M. R. (2007). Software reliability engineering: A roadmap. In 2007 Future of Software Engineering (FOSE ’07) (pp. 153–170). IEEE Computer Society.
28. McCalpin, J. D. (1995). Memory bandwidth and machine balance in current high performance computers. IEEE Computer Society Technical Committee on Computer Architecture (TCCA) Newsletter, 19–25
29. Montezanti, D., Rucci, E., De Giusti, A., Naiouf, M. R., Rexachs, D., & Luque, E. (2020). Soft errors detection and automatic recovery based on replication combined with different levels of checkpointing. Future Generation Computer Systems, 113, 240–254.
30. Mukherjee, S. S., Emer, J., & Reinhardt, S. K. (2005). The soft error problem: An architectural perspective. IEEE Micro, 25(3), 42–51.
31. 31. Oh, N., Shirvani, P. P., & McCluskey, E. J. (2002). Error detection by duplicated instructions in super-scalar processors. IEEE Transactions on Reliability, 51(1), 63–75
32. Pradhan, D. K. (1996). Fault-tolerant computer system design. Prentice Hall.
33. Prvulovic, M., Zhang, Z., & Torrellas, J. (2002). ReVive: Cost-effective architectural support for rollback recovery in shared-memory multiprocessors. Proceedings of the 29th Annual International Symposium on Computer Architecture (ISCA ’02), pp. 111–122
34. Randell, B. (1975). System structure for software fault tolerance. IEEE Transactions on Software Engineering, SE-1(2), 220–232
35. Reghenzani, F., Guo, Z., & Fornaciari, W. (2023). Software fault tolerance in real-time systems: Identifying the future research questions. ACM Computing Surveys, 55(14s), Article 306, 1–30
36. Reis, G. A., Chang, J., Vachharajani, N., Rangan, R., & August, D. I. (2005). SWIFT: Software implemented fault tolerance. In Proceedings of the International Symposium on Code Generation and Optimization (CGO ’05) (pp. 243–254). IEEE Computer Society
37. Saha, G. K. (2006). Software based fault tolerance: A survey. Ubiquity, 2006(July), ACM.
38. Schlichting, R. D., & Schneider, F. B. (1983). Fail-stop processors: An approach to designing fault-tolerant computing systems. ACM Transactions on Computer Systems, 1(3), 222–238.
39. Schroeder, B., & Gibson, G. A. (2007). Understanding failures in petascale computers. Journal of Physics: Conference Series, 78(1), Article 012022.
40. Siewiorek, D.P. and Swarz, R.S. (1998). Reliable Computer Systems—Design an Evaluation. A. K. Peters, Natick.
41. Silva, J. G., Pradhan, D. K., & Silva, L. M. (2000). Checkpoint-recovery: An overview. IEEE Transactions on Reliability, 49(2), 112–115.
42. Solouki, M. A., Angizi, S., & Violante, M. (2024). Dependability in embedded systems: A survey of fault tolerance methods and software-based mitigation techniques. IEEE Access, 12, 180939–180967
43. Sullivan, M., & Chillarege, R. (1992). A comparison of software defects in database management systems. Proceedings of the Twenty-Second International Symposium on Fault-Tolerant Computing (FTCS-22) .
44. Torres-Pomales, W. (2000). Software fault tolerance: A tutorial (NASA Technical Memorandum TM-2000-210616). National Aeronautics and Space Administration, Langley Research Center.
45. Wang, N., Quek, P., & Chang, M. (2007). Software-based fault tolerance for high-performance computing. In Proceedings of the 21st IEEE International Parallel and Distributed Processing Symposium (pp. 1–8). IEEE.
46. Weinstock, C. B. (1980). Software fault tolerance. Carnegie Mellon University.
47. Xu, J., Randell, B., Romanovsky, A., Rubira, C. M. F., Zorzo, A. F., Christensen, R. J., & Mitchell, S. E. (1999). Software fault tolerance: A survey. IEEE Transactions on Reliability, 48(4), 367–373.
48. Zhang, Y., & Coauthors. (2012). Checkpointing for large-scale systems. IEEE Transactions on Parallel and Distributed Systems, 23(3), 560–579.
49. Zhu, W., Li, J., & Wang, Y. (2018). Reliability analysis of software-implemented fault tolerance. IEEE Access, 6, 47101–47111.
50. Ziv, A., & Bruck, J. (1997). Reliability and availability of distributed systems. IEEE Transactions on Computers, 46(9), 976–985.

📋 How to Cite This Paper

Goutam Kumar Saha, Dr. Brij Mohan Pareek (2026). Single Version Fault Tolerance Algorithms – a Comprehensive Literature Review. International Journal of Computer Techniques, 13(5), 475–482. ISSN: 2394-2231. DOI: https://doi.org/10.5281/zenodo.23391558
© 2026 International Journal of Computer Techniques (IJCT). All rights reserved. · ijctjournal.org
Submit Your Paper