Computer ReliabilityWe are reaching thestage where problemsthat we must solve aregoing to becomeinsolvable withoutcomputers. I do notfear computers;I fear the lack of them. Isaac Asimov
Are computers infallible? From sophisticated aerospace and military digital systems to simple word-processing and spreadsheet applications computer systems are subject to hardware malfunctions, software bugs (or defects: localized implementation errors) or communication failures.
Unreliable Hardware The Therac-25 case is the most striking incident of unreliable machines. Therac-25 was a computerised radiation therapy machine (used 1985 to 1987) caused six massive overdose due to system malfunctionherac-25 accidents are considered the worst in the history of medical accelerators.
Unreliable SoftwareThe Y2K bug (or Year 2000bug) is the best-knownexample of softwareunreliability. In order to savecomputer disk space andmemory, computermanufactures 60s to 80sdesigned date fields only twodigits to represent a year four(‘86’ for ‘1986’).In early 90scomputer programmersrealised that year 2000 beinterpreted by most softwareapplications as 1900.
What is computer reliability?Computer reliability is defined as the ability of a computer system to perform its required functions for a given period of time. It includes the probability that the system will not fail during a given period of time.
Hardware ReliabilityHardware reliability refers to the ability ofa computer system to perform withouterrors. Hardware is unreliable when thecomputer system presents unwantedmalfunctions or unpredictable breakdownsin its mechanical components.
Software ReliabilitySoftware reliability refers to the ability of a computer system to deliver its usable services when those services are demanded. An item of computer software is unreliable when the user’s expectations and demands are not fulfilled by the program.
Data ReliabilityData reliability includes the following cases:(1) data security: the protection of data (physical and digital) must be kept confidential, safe, private and reliable;(2) data privacy: the access of data only by authorized persons;(3) data consistency: the correctness of data during processing (input, process, and output);(4) data integrity: the correctness of data both during and after processing is related to the accuracy of digital data with themselves and the correspondence of these data with the real world. A computer system lacks integrity when digital data do not correspond to the given information. Data may have changed either by accident or due to malicious purposes.
Principle of DiscontinuityWhere analogue systems are infinite state orcontinuous systems, digital systems are discretestate or discontinuous systems. Digital computersare discrete state devices with binaryrepresentations and instructions, a computerprogram may take so many different states thatthey cannot be tested or predicted. In complexsystems, every change in the value of a variablemay cause millions of effects in the wholesystem. All the possible states of the systemcannot be absolutely tested or predicted.
Professional ResponsibilityResponsibilityinvolves all thethings for which anindividual isconsidered to beaccountable.
Role ResponsibilityRole Responsibilityrefers to the duties of anindividual. Any role(teacher, doctor, parent,citizen) involvesresponsibilities. Roleresponsibilities are theindividual obligations tobehave in a propermanner (in accordanceto the duties of the role).
Causal ResponsibilityCausal Responsibility refers to causality. According to the causal principle, every event has a cause so there is a causal nexus (a link) between a cause and its effect. Causal responsibility entails causal chain (a sequence of factors leading to a final effect) and it is related to both human and non-human factors.
BlameworthinessBlameworthiness refers again to causality but of the individual involved in the event. A person may be the cause of an event but not blameworthy for the situation.
LiabilityLiability refers to the accountability of an individual for an action or event. Liability involves legal matters; if a person is legally liable for a situation then this person is responsible even if is not blameworthy for the situation.
Forms of ResponsibilityThere are two forms of responsibilities:(1) responsibilities concerning the computer professionals (computer systems may be unreliable due to hardware malfunctions, software defects or communication failures);(2) responsibilities concerning the individuals use the computer system consumers and end-users (computer systems are unreliable due to the user’s malpractice, misuse or negligence).
Possible Inadequacies Following the stages of a system life cycle as well as the ways that a computer system is applied, maintained and used the inadequacies may occur at: System Analysis System Design System Development System Testing System Installation Mismanagement Lack of Service Malpractice Misuse Negligence
IT SolutionComputer professionals should provide fault-tolerant computer systems capable of providing either fail- safe or fail-soft protections. Fail-safe refers to the full functionality of a computer system despite the occurrence of a single fault, while fail-soft refers to the reduced functionality of a system despite the occurrence of a single fault. The latter is also known as the state of graceful degradation: a system continues to operate after a single fault but a reduced level.
Liability SolutionThe responsibility of a computer manufacturer has to be by particular policies and standards (rules, regulations and warranties). Any irresponsible action against these standards must be penalized. Supporters of strict liability maintain that such penalties will encourage responsibility of computer companies, enhance the quality of software and hardware production and legally protect the consumer from possible malfunctions.
OpponentsOpponents of strict liability argue that thedoctrine faces the following problems: appliesonly to physical harm or property; does not applyto services and complex systems that provide acombination of goods and services; it focusesonly on the ultimate user. Strict liabilityrequirements will raise the cost of development,testing and insurance. High costs will affectsmall computer companies and will reduceinnovation and new software development.