The PODS Diversity Experiment

  • P. G. Bishop
Part of the Dependable Computing and Fault-Tolerant Systems book series (DEPENDABLECOMP, volume 2)


A high integrity system typically has a number of redundant components operating in parallel to reduce the probability of a system failure. If the component failures were random, then the probability of several components failing simultaneously would be much smaller than the failure probability of any single component. However, should the components contain common design flaws, then more than one component could fail simultaneously due to a common cause (a common mode failure). This would increase the probability of a system failure. For a computer-based system where the same software “component” is being run in each processor, any software fault is a potential cause of common mode failure. One method of reducing common software faults is to use diverse software in each processor (n-version programming [Avižienis 1975]).


Software Development Process Customer Specification Residual Fault Input Domain Fault Report 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Alford 1973]
    R. W. Alford, “A Requirement Engineering Methodology for Real-Time Processing Environments”, IEEE Trans, on Software Engineering, Vol. SE-3, No. 1, January 1973.Google Scholar
  2. [Avižienis 1975]
    A. Avizienis, “Fault-Tolerance and Fault-Intolerance, Complementary Approaches to Reliable Computing”, Proc. 1975 Int. Conf. Reliable Software, Los Angeles, 1975.Google Scholar
  3. [Barnes 1985]
    M. Barnes et al, “PODS (The Project on Diverse Software)”, OECD Halden Reactor Report, HPR-323,1985.Google Scholar
  4. [Bishop 1986]
    P. G. Bishop et al, “PODS - A Project on Diverse Software”, IEEE Trans. on Software Engineering, Vol. SE-12, No. 9, pp. 929–940.Google Scholar
  5. [Dahll 1983]
    G. Dahll and J. Lahti, “The Specification System X-SPEX”, IFAC Conference “Safety of Computer Control Systems”, Cambridge, UK, pp. 111–118,1983.Google Scholar
  6. [EEA 1981]
    “Guide to the Quality Assurance of Software”, Electronic Engineering Association, 1981.Google Scholar
  7. [Fagan 1976]
    M. E. Fagan, “Design and Code Inspections to Reduce Errors in Program Development”, IBM Systems Journal, No. 3, pp. 182–211,1976.CrossRefGoogle Scholar
  8. [Lipow 1982]
    M. Lipow, “Number of Faults per Line of Code”, IEEE Trans, on Software Engineering, Vol. SE-8, No. 4, July 1982.CrossRefGoogle Scholar
  9. [Minsky 1967]
    M. L. Minsky, Computation, Finite and Infinite Machines, Prentice Hall, 1967.MATHGoogle Scholar
  10. [Myers 1976]
    G. J. Myers, Software Reliability Principles and Practices, Wiley, 1976.Google Scholar
  11. [Nassi 1973]
    I. Nassi and B. Shneiderman, ACM Sigplan Notices, 8 (August 1973) 8, pp. 12–26.CrossRefGoogle Scholar
  12. [Yourdan 1975]
    E. Yourdon and L. Constantine, Structured Design, Yourdon Ine, 1975.Google Scholar

Copyright information

© Springer-Verlag/Wien 1988

Authors and Affiliations

  • P. G. Bishop
    • 1
  1. 1.Central Electricity Generating BoardCentral Electricity Research Laboratories LeatherheadSurreyEngland

Personalised recommendations