Mathematical Model of Human Reliability
Analyzing the Impact of Human Factors on Software Quality
by Mrs. Ashmeet Kaur*, Dr. Ritu Soni, Dr. Amardeep Singh,
- Published in Journal of Advances in Science and Technology, E-ISSN: 2230-9659
Volume 4, Issue No. 7, Nov 2012, Pages 0 - 0 (0)
Published by: Ignited Minds Journals
ABSTRACT
Reliability engineering focuses oncritical hardware parts of the system. Since the widespread use of digitalintegrated circuit technology, software has become an increasingly criticalpart of most electronics and, hence, nearly all present day systems. Improvingthe quality of software under development need to be considered from theviewpoint of improving or removing the human errors resulting due to variedhuman behaviors. Errors occurring during the development of the software haveimpact of human personality factors. Thus, human reliability focuses on thehuman factors that may affect the quality of the ultimate product underdevelopment and the ways of improving these errors.
KEYWORD
mathematical model, human reliability, reliability engineering, digital integrated circuit technology, software development, human errors, human personality factors, quality improvement
INTRODUCTION
An effective reliability programme is an essential component of every product's design, testing and efficient production. From the failure analysis of a microelectronic device to software fault tolerance and from the accelerated life testing of mechanical components to hardware verification, a common underlying philosophy of reliability applies. Reliability is the probability that a device, system, or process will perform its prescribed work without failure for a given time when operated correctly in a specified environment. Reliability probability assures the system, device or process is reasonably free from error or bias and faithfully performs what it purports to do. In computer field, reliability is an attribute of any computer-related component (software, hardware) that consistently performs according to its specifications and reliability must be considered when making, buying or using a computer product or component. It's not possible to calculate reliability exactly. Instead, it has to be estimated and this is always an imperfect endeavor. The reliability modeling for fault-tolerant software systems fall into two categories: i) data-domain modeling ii) time-domain modeling Both analyses use the assumption that the failure events are independent between or among different versions. Another type of classification of the reliability models is the mode in which data is collected for the reliability analyses which again falls into two categories: i) Predictive Models: The data is historical in nature in this reliability modeling technique. The data is collected from already existing records, tests, analyses etc. ii) Estimated Models: In order to estimate the reliability of a system under this model, one has to calculate the values afresh and no historic data is used. In modular(composite) system the reliability of the system is estimated from the reliabilities of its constituents, required is
- An estimate of the reliability of each constituent and
- Some description of how the constituents are expected to interact during system operation.
There are four general classes of reliability estimates, each of which estimates reliability in a different way. They are:
observers give consistent estimates of the same phenomenon. Whenever humans are a part of measurement procedure, it is susceptible that the results are reliable or consistent. People are notorious for their inconsistency, are easily distractible, get tired of doing repetitive tasks, daydream and misinterpret. So how to determine whether two observers are being consistent in their observations? Inter-rater reliability should be established outside of the context of the measurement in the study. After all, if data from study is used to establish reliability, and it is found that reliability is low, you're kind of stuck. Probably it's best to do this as a side study or pilot study. And, if the study goes on for a long time, inter-rater reliability may be reestablished from time to time to assure that raters aren't changing.
- Test-Retest Reliability: Used to assess the consistency of a measure from one time to another. Test-retest reliability is estimated when the same test is administered to the same sample on two different occasions. This approach assumes that there is no substantial change in the construct being measured between the two occasions. The amount of time allowed between measures is critical. As, if the same thing is measured twice then the correlation between the two observations will depend in part by how much time elapses between the two measurement occasions. The shorter the time gap, the higher the correlation; the longer the time gap, the lower the correlation. This is because the two observations are related over time -- the closer in time we get the more similar the factors that contribute to error. Since this correlation is the test-retest estimate of reliability, considerably different estimates can be obtained depending on the interval.
- Parallel-Forms Reliability: Used to assess the consistency of the results of two tests constructed in the same way from the same content domain. In parallel forms reliability, first of all create two parallel forms. One way to accomplish this is to create a large set of questions that address the same construct and then randomly divide the questions into two sets. Then, administer both instruments to the same sample of people. The correlation between the two parallel forms is the estimate of reliability. One major problem with this approach is the need to be able to generate lots of items that reflect the same construct. This is often no easy feat. Furthermore, this approach makes the assumption that the randomly divided halves are parallel or equivalent. Even by chance this will sometimes not be the case.
- Internal Consistency Reliability: Used to assess the consistency of results across items within a test. In internal consistency reliability estimation single measurement instrument is administered to a group of people on one occasion to estimate reliability. In effect
similar results. Consistency of the results for different items for the same construct within the measure is then looked for. There are a wide variety of internal consistency measures that can be used. System reliability, by definition, includes all parts of the system, including hardware, software, operators and procedures. Traditionally, reliability engineering focuses on critical hardware parts of the system. Since the widespread use of digital integrated circuit technology, software has become an increasingly critical part of most electronics and, hence, nearly all present day systems. There are significant differences, however, in how software and hardware behave. Most hardware unreliability is the result of a component or material failure that results in the system not performing its intended function. Repairing or replacing the hardware component restores the system to its original unfailed state. However, software does not fail in the same sense that hardware fails. Instead, software unreliability is the result of unanticipated results of software operations. Even relatively small software programs can have astronomically large combinations of inputs and states that are infeasible to exhaustively test. Restoring software to its original state only works until the same combination of inputs and states results in the same unintended result. Improving the quality of software (under development and its efficient usage) need to be considered from the viewpoint of improving or removing the human errors resulting due to varied human behaviors. Limiting the reason of fault occurrence to hardware failure or software failure is not enough as the major component i.e. human (developer and user) has not been taken into consideration. Software is developed by humans only. So overlooking the effects of human behavior will result in compromising with the quality of the product under development. So, human behavior has to be taken care of while analyzing software for faults and errors. This paper is organized into 5 sections. Section 2 reviews the research and development in the subject. Section 3 presents the significance of the study. Section 4 highlights the objectives. Section 5 gives the proposed model. Section 6 presents the conclusion. Section 7 gives the references.
2. REVIEW OF RESEARCH AND DEVELOPMENT IN THE SUBJECT
A need to improve the quality of the product being developed from the viewpoint of improving the human errors resulting due to varied human behaviors has
Mrs. Ashmeet Kaur1 Dr. Ritu Soni2 Dr. Amardeep Singh3
like nuclear power plant [7],[8],[9], railroad, positive train control system (PTC)systems, OECD-NEA[10] which focused on quantifying human performance for human reliability analysis(HRA) , evaluating operating experience for HRA. All these research focused on human actions (errors, decisions, circumventions etc.) that accounts for what is known about human performance in technological environments and how human errors can occur. International Status: The effects of human behavior in various systems like Nuclear Power Plant, Train Control Systems, Medical Systems, Health and Safety Laboratory have already been undertaken. But human behavioral effect on software development and usage has not yet been taken up. It is a virgin field and needs urgent attention. The psyche of an individual, his personal training, his environment and his basic attitude plays a very important role in his professional work. A human being does not work like a computer even though he may be working in the field of computers. His personal idiosyncrasy, his wills, or his positive qualities and talents do creep into his professional work. This study aims at systematizing such impact with a view to finding a methodology to minimize such impacts.
3. SIGNIFICANCE OF THE STUDY
Reliability is the probability of performing a specified function without failure under given conditions for a specified period of time. In research, the term reliability means “repeatability” or “consistency”. A measure is considered reliable if it would give us the same result over and over again (under stable conditions). The term "human reliability" is usually defined as the probability that a person will correctly perform some system-required activity during a given time period (if time is a limiting factor) without performing any extraneous activity that can degrade the system. Human performance can be affected by many factors such as age, state of mind, physical health, attitude, emotions, errors and cognitive biases, etc. Human reliability is very important due to the possible adverse consequences of human errors or oversights, especially when the human is a crucial part of any system. The objectives of studying Human Reliability are to build reliability into the job, into the environment, and to let people perform naturally. While keeping in mind all the above facts, the study is aimed at considering human aspects involved. If the human factors are not considered, various problems may arise as listed below: the output will be responding in some unpredictable manner. 2. If the operator is a novice user or is not able to operate the software in the required manner, the working and correct product will not be functioning properly. 3. If the designer has not under gone the complete and exhaustive analysis of the system to be automated, the results will not be up to the mark. 4. If the programmer has not modularized the problem appropriately, the designing phase may become complex and may result in various errors and difficulty in developing the product. 5. If the programmer is not having the appropriate knowledge and programming ability, the developed product will not have required features. 6. The user interface may not be user friendly. 7. If the testing is not done exhaustively, some errors may come to surface afterwards during the operation of the product. 8. Inappropriate documentation may also cause trouble to the user. The analysis of the human reliability will help to improve the quality of the product under development as well as will help the individuals to choose a right job. It will also help the students to choose right stream for future studies and career development.
4. OBJECTIVES
Aim of the study is to understand how an individual behaves [3], [4], [6] in various conditions; and the analyses of various factors like knowledge of the person, his age [1], gender differences [2], experience, seriousness, practical knowledge, emotional stability, technical skills, interpersonal skills. There are various psychological factors affecting human behavior which includes: o Biological characteristics (Age, Gender, Marital Status, tenure) o Ability (Intellectual – Number aptitude, verbal comprehension, perpetual speed, inductive reasoning, deductive reasoning, memory)
ATTITUDES
o with different components (Cognition, Affect, Behavior) o Emotions (Happiness, Surprise, Fear, Sadness, Anger, Disgust). Emotions can be positive or negative. It can be measured in terms of Emotional Intelligence (EI). Personality factors (Locus of Control, Machiavellians [13], Self-esteem, Self-monitoring, Risk taking, extrovert, Agreeable, Conscientiousness, Emotionally stable, Openness to experience)
PERCEPTION
In situation (Time, Work setting, Social setting) In perceiver (Attitudes, Motives, Interest, Experience, Expectations) In target (Novelty, Motion, Sound, Size, Background, Proximity, Similarity)
VALUES
Terminal[14] values( Comfort ability , Peace , Equality , Security , Freedom , Happiness , Self-respect , Wisdom , Social recognition, Spirituality ) Instrumental[14]values (Ambitious , Broad-minded, Capable, Courageous, Forgiving, Helpful, Honest, Imaginative, Independent, Intellectual, Logical, Loving, Obedient, Polite, Responsible, Self-control) A key aspect of analyzing the human behavior while software development and usage is the determination of the probability that an error or a class of errors will result in unreliable software.
5. PROPOSED MODEL
The proposed model will try to quantify the effect of the personality factors on the software reliability. As per the paper “Effect of Human behavior in SDLC” a survey was conducted to determine the effect of 16 personality factors (Warmth, Reasoning, Emotional Stability, Dominance, Liveliness, Rule-Consciousness, Social Boldness, Sensitivity, Vigilance, Abstractedness, Privateness, Apprehension, Openness to Change, Self-Reliance, Perfectionism, Tension) on the software development life cycle. Each of the 16 personality factors have bipolar dimension of the personality as given below:
- Factor A
Warmth (Reserved vs. Warm) Reasoning (Concrete vs. Abstract)
- Factor C
Emotional Stability (Reactive vs. Emotionally Stable)
- Factor E
Dominance (Deferential vs. Dominant)
- Factor F
Liveliness (Serious vs. Lively)
- Factor G
Rule-Consciousness (Expedient vs. Rule-Conscious)
- Factor H
Social Boldness (Shy vs. Socially Bold)
- `Factor I
Sensitivity (Utilitarian vs. Sensitive)
- Factor L
Vigilance (Trusting vs. Vigilant)
- Factor M
Abstractedness (Grounded vs. Abstracted)
- Factor N
Privateness (Forthright vs. Private)
- Factor O
Apprehension (Self-Assured vs. Apprehensive)
- Factor Q1
Openness to Change (Traditional vs. Open to Change)
- Factor Q2
Self-Reliance (Group-Oriented vs. Self-Reliant)
- Factor Q3
Perfectionism (Tolerates Disorder vs. Perfectionist) Factor Q4
Mrs. Ashmeet Kaur1 Dr. Ritu Soni2 Dr. Amardeep Singh3
And it was concluded that the humans having emotional stability, tough-mindedness, self-control, responsibility, obedience, logical, capable, broad-mindedness exhibit higher performance and commit fewer errors. Human factors that result in various types of errors during different phases of SDLC (like problem definition, design, coding, implementation, testing and maintenance) are tabulated in TABLE 1. The best guidelines for determining which anomalies are really errors and which are not is studied by dividing the errors as Critical errors, moderate errors and negligible errors.
- Critical errors are those that have no work-around and cause loss of function or mission. These errors are so serious that it is impossible for the current program that is running to continue. Generally, this type of error will cause the computer to completely halt or to reboot.
- Moderate errors are those which have a work-around but still have potential for loss of function or mission.
- Negligible errors are those that do not affect to any great extent the functionality of the system.
It was analyzed by experimenting on students of graduate and post-graduate level that what effects different personality factors have on the psychology of programming of an individual and the results are represented as shown in the figure 1.Personality factors are plotted along x-axis and the percentage of students exhibiting these behaviors are plotted on y-axis.
Table 1: Errors occurring during SDLC and the respective human behavior factors responsible (under normal conditions)
Proposed mathematical model
Let the probability that an error will occur due to a factor is given by Pi. The probability that an error will result in the module or product failure is given by Fi. FiPi is the joint probability that an error will occur and will lead to software failure. 1-FiPi is the probability that no error will occur and does not lead to software failure. The probability that a class of errors will lead to system failure is given by [12] where Ni is the number of independent characteristics of human behavior and in this study N is 16. Similarly, the probability that a class of errors due to biological characteristics will lead to system (software) failure is given by
Thus, the total system failure rate is given by: Or is given by: where QT is the probability that one or more failures will result from errors in at least one of the N human characteristics.
Case study
To study the individual behavior, a psychological questionnaire consisting of 187 questions was presented. The questions were based on 16 personality factors (standard 16PF questionnaire).The results of the error detection of programming test (5 simple programs) had been correlated with the individual’s behavior. According to Psychological test, the results are being presented graphically as shown graphically below:
a) Methodology
Human behavior is quantified at student/ learning level. A similar set of programs is given to all the individuals forming a sample space to study the effect of individual behavior on the process of learning and knowledge acquisition. And then the various errors occurring during the development of the programs are correlated to the individual’s personality factors and analyzed. As per the figure 2, human behaviors are plotted along x-axis and the effective categories of error occurrence have been plotted along y-axis. The obedience), D(domain Knowledge), E (experience), F ( timid ness ) , G(efficiency), H(capable which is a combination of capability and competitive), I(logical which includes logical and rational), J (adjustable), K(agreeable), L(having interest), M (controlled), N(accomplishment), O (imaginative), P (intellectual as well as wisdom), Q (trust-worthy), R (open-minded), S ( practical ), T (reserved), U (mature), V (helpful), W (tough-minded).
b) Observation
It has been observed that students which are less responsible will commit 4 different types of errors as given in table 1.Similarly, students which have less experience commit 12 different types of errors that can be verified from the table also. From table 1, various human behaviors factors and possible error occurrence are summarized as follows: Table 2. Human Behavior and the corresponding error occurrence The above tabulated behavior can now be categorized into three types depending upon the type of error it results in.
Mrs. Ashmeet Kaur1 Dr. Ritu Soni2 Dr. Amardeep Singh3
a) Careless b) Lack Of knowledge c) Incapable d) Illogical e) Non accomplishment f) Less Intellectual g) No Open-mindedness h) Reserved i) Disagreeable
2. Moderate errors:-
a) Irresponsibility b) Inefficient c) Non adjustable d) Uncontrolled e) Imaginative f) Not trustworthy g) Impractical h) Immature i) Not tough-minded j) Disagreeable
3. Negligible errors:-
a) Un ambitious b) Inexperience c) No timid ness d) Disagreeable e) Having no interest f) Not helpful All the critical errors are responsible for the system (software failure) and the moderate and negligible Where Wc, Wm and Wn are weighting factors for critical, moderate and negligible errors. Ei is total no. of error uncovered Ci, Mi and Ni are the no. of critical errors, moderate errors and negligible errors.
c) Analysis
It has been analyzed that students with characteristics emotional stability, tough - mindedness, self-control, responsibility, obedience, logical, capable, open-mindedness have high score and make less number of errors while developing a software. They have positive inclination towards programming and commit fewer errors as that have strong logic development capabilities.
6. CONCLUSION
The proposed model will help in deriving the human reliability metric which will be helpful in evaluating the effectiveness of an individual as a software programmer. Further, surveys will be conducted to analyze other aspects of the human behavior which help to derive a human metric complete in all aspects of human behavior.
7. REFERENCES:
[1] S.R. Rhodes, “Age-Related Differences in Work Attitudes and Behavior: A Review and Conceptual Analysis”, Psychological Bulletin, March 1983. [2] J. S. Hyde, “How Large Are Cognitive Gender Differences ?”, American Psychologist, October 1981. [3] 18 Harold R. Booher,”Handbook Of Human Systems Integration”, Wiley-IEEE, 2003 [4] M. Rokeach, “The Nature of Human Values”, The Free Press, 1973. [5] W.C. Frederick and J. Weber, “The Values Of Corporate Managers And Their Critics: An Empirical Description And Normative Implications”, Business Ethics: Research Issues and Empirical Studies, 1990.
Responses To Attitude Objects”, Journal of Social Issues, 1969. [7] A. Mosleh, Y.H. Chang, “Model -Based Human Reliability Analysis: Prospects and Requirements”, Reliability Engineering & System Safety, 2004 [8] Bruce Hallbert, David Gertman, Erasmia Lois, Julie Marble, Harold Blackman, James Byers, “The Use Of Empirical Data Sources in HRA”, Reliability Engineering & System Safety, 2004 [9] Bernhard Reer,” Sample Size bounding and Context Ranking As Approaches to The HRA Data Problem”, Reliability Engineering & System Safety, 2004 [10] OECD-NEA,” Errors of Commission in Probalistic Safety Assessment”, Workshop of the OECD/NEA”, Washington 2001 [11] James Reason, “Human Error”, Cambridge University Press, 2003 [12] Swain, A.D., “THERP”, SC-R-64-1338, Sandia National Laboratories, Albuquerque, NM, August 1964. [13] R.G.Vleeming, “Machia-vellianism: A Preliminary Review”, Psychological Reports, February 1979. [14] W.C. Frederick and J. Weber, “The Values Of Corporate Managers And Their Critics: An Empirical Description And Normative Implications”, Business Ethics: Research Issues and Empirical Studies, 1990