Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

Gassenferth

IAMOT 2006

1/7

A FAULT TREE ANALYSIS APPLICATION FOR SOFTWARE RELIABILITY CALCULATION USING FUZZY SETS
Walter Gassenferth, MSc, Faculdades IBMEC, Rio de Janeiro, Brasil, wgassen@al.ibmecrj.edu.br Maria Augusta Soares Machado, DSc, Faculdades IBMEC, Rio de Janeiro, Brasil, mmachado@ibmecrj.br Abstract This paper proposes a methodology based upon the utilization of the Fuzzy Sets theory along with the fault tree for the calculation of the reliability of complex software. This methodology is based not on probabilistic models, like with the calculation of hardware reliability, but on possibilistic models, being the data obtained from the opinion of specialists of the specific field under analysis. Key words: Software Reliability, Fault Tree, Fuzzy Sets. 1. Introduction Equipment (hardware) reliability is often based upon data from the faults to the individual systems that make up such equipment, thus allowing for the use of probabilistic models. In this case, some rule is employed which contains the individual fault rate for each type of component used in the hardware. For instance, a PC memory card is a set of such components. Thus, the fault rate for each card can be calculated since the fault rates for each individual component are known. From then on, reliability of the system as a whole can be established. Once the fault rates for the basic events of a fault tree are considered to be known, one can assume Weibulls probabilistic model, which allows for attaining an increasing, decreasing or constant fault rate through the modification of the values of the characteristic distribution parameters. It is known that several electronic components have a constant fault rate, indicating an exponential probabilistic model; mechanical components have Erlangs probabilistic model. In general, hardware fault rate is known to be increasing or constant. However, in software systems (no errors taken during maintenance) the fault rate is decreasing. Assuming the non-availability of fault data from software systems required for use in probabilistic models (by means of establishing a probability density function that better fits to the data), this paper introduces a methodology to establish software reliability. Such methodology is based not on probabilistic methods, but on possibilistic models, being the data obtained from the opinion of specialists of the specific field under analysis. Since the possibilistic data are not numerical ones (but mean subjective opinions from various specialists with major or minor relevance), such data are operated by means of fuzzy sets algebra. Each possibility that is associated to an event is a fuzzy triangular number. The operations involved in determining the critical paths of a fault tree, as well as the possibility of fault of the main event, are algebraic operations with fuzzy numbers. One can say, then,

Gassenferth that this study aims to:

IAMOT 2006

2/7

Create a reliability analysis methodology which can possibly be used in any system (hardware or software), whether complex or not; Foster creation of databases from the opinion of specialists of several kinds of software aiming to establish several types of modules of similar characteristics and, hence, greater reliability (for example: graphic modules, interface modules etc.); Provide a new rule with known values for software reliability.

2. The Fuzzy Logic The first concepts of the Fuzzy Logic (or fuzzy mathematics) were developed by a Polish man called Jan Lukasiewicz (1878 1956) in 1920. Instead of using rigid rules and a line of logical thinking based on premises and conclusions, Lukasiewicz attributes levels of pertinence (0, , 1) to classify vague and inaccurate concepts. Later on, he expanded this set for all the values contained in the interval between zero and one (0,1). Yet, the first publication on the Fuzzy Logic dates back to 1965. Its author was Lofti Asker Zadeh, a professor at Berkeley University, California. The Fuzzy Sets and the Fuzzy Logic provide the basis to generate powerful problem-solving techniques with a wide applicability especially in the fields of decision-making and decisioncontrol. The power of the Fuzzy Logic stems from its ability to infer conclusions and provide replies based on vague, ambiguous and qualitatively incomplete and inaccurate information. Regarding this matter, the fuzzy-based systems have the ability to think similarly to humans. Their behavior is represented simply and naturally, thus leading to building comprehensible and easy-to-maintain systems. The Fuzzy Logic is based on the Fuzzy Sets theory. This is the general term for the Traditional Sets theory to resolve the paradoxes generated from the true or false classification of the Classic Logic. Traditionally, a logical proposition has two extremes: either completely true or completely false. However, according to the Fuzzy Logic, a premise varies in level of truth, from 0 to 1, leading it to be either partially true or partially false. After incorporating the concept of truth level, the Fuzzy Sets theory extends the Traditional Sets theory. The groups are labeled qualitatively (by linguistic terms like high, warm, active, small, close etc.) and the elements of such sets are characterized ranging from level of pertinence (a value that indicates the level to which an element belongs in a set). For example, temperatures between 30 (thirty degrees) and 40 (forty degrees) belong to the set of the high temperatures, although a 40 temperature have a higher level of pertinence in this set. A fuzzy set A is characterized by the pair (X, A ( X ) ), where X is the variable for the universe being studied (being it continuous or discrete), and A ( X ) is a function for which image belongs to the interval [0,1], where 1 represents the concept of total pertinence and 0 represents the concept of non-pertinence. For the discrete case, a fuzzy set A could be: A= 0 / -3 + 0,25 / -2 + 0,50 / -1 + 1 / 0 + 0,85 / 1 + 0,50 / 2 + 0 / 3

Gassenferth

IAMOT 2006

3/7

Which is read like: Variable X measures -3 with a pertinence level of zero. The slashes used are only good to separate the values of variable X from their respective levels of pertinence; symbols + do not indicate addition, but union. For the continuous case, a fuzzy set A to express HIGH could be:

X = 0 for X 1,70 X a X = a 2 for 1,70 X 1,85 being a constant X a X = a for 1,85 X 2,00 being a constant
The intersection of two fuzzy sets A (X) and B(X) is given by: A (X) B (X) = min(A(X), B(X)) Where: A, B are the respective functions of pertinence of fuzzy sets A and B. As an example, consider the following fuzzy sets: A (X) = 0.4 / -7 + 0.8 / -6 + 0.6 / -5 B (X) = 0.5 / -7 + 0.5 / -6 + 0.4 / -5 The resulting fuzzy set is: C (X) = 0.4 / -7 + 0.5 / -6 + 0.4 / -5 The union of two fuzzy sets A(X) and B(X) is given by: A (X) B(X) = max (A (X), B (X)) where: A, B are the respective functions of pertinence of fuzzy sets A and B. For example, consider the following fuzzy sets: A (X) = 0.8 / 1 + 0.1 / 2 + 0.5 / 5 B (X) = 0.7 / 1 + 0.5 / 2 + 0.7 / 5 The resulting fuzzy set is: C (X) = 0.8 / 1 + 0.5 / 2 + 0.7 / 5 The complement of a fuzzy set A(X) is given by:
A( X ) = 1 A ( X )

where:

is a function of pertinence of fuzzy set A.

Gassenferth

IAMOT 2006

4/7

For example, being the fuzzy set given by: A (X) = 1 / 5 + 0.8 / 4 + 0.6 / 3, its complement is: 1 - A (X) = 0 / 5 + 0.2 / 4 + 0.4 / 3 The concentration of a fuzzy set A(X) is a fuzzy set given by:
conc( A( X )) = A ( X ) 2

The concentration of a fuzzy set is linguistically equivalent to the term VERY. Concentration decreases fuzziness. The expansion of a fuzzy set is a fuzzy set given by:
dil ( A( X )) = A ( X )

The expansion of a fuzzy set is linguistically equivalent to the term MORE OR LESS. Expansion increases fuzziness. A fuzzy number is a fuzzy set with a normalized function of pertinence. The functions of pertinence of the fuzzy numbers can take different forms. Dispersion of the functions of pertinence can be interpreted as a measure of error.
3. Methodology Through Possibilities

The methodology consists of:


Creating a databank of possibilities of fault based on specialists opinions; Establishing the critical path(s) of the software and, consequently, identify the modes that mostly contribute to the fault of the system as a whole; Calculating the reliability of the system through the fault tree for the software; Establishing the causes and effects of possible faults considering several levels (effects on other modes, on the system and on the environment); Establishing both the admissible faults (the ones that are not catastrophic) and the inadmissible faults (catastrophic faults).

The databank should contain the possible fault modes, their possible effects and causes on the system, so, from then on, studies can be carried out on the FMEA (Failure Mode and Effects Analysis). The Fault Tree Analysis technique shows:

The relevant aspects for the system; System degrading performance when the relevant faults of the subsystems are considered; The possible faults of the system; The basic events of the main event; and The graphic information of the systems faults.

The Fault Tree technique studies the fault of the main event and its main objective is to

Gassenferth

IAMOT 2006

5/7

establish the reliability for the main event. In order to attain such result each of the basic events in the fault tree for the software will have possibilities of fault associated to them. These possibilities are characterized by functions of pertinence determined in a subjective manner. The main event depends on the sub-events and the basic events. Such basic events are considered events of the initial faults, which is the lowest level of the study. The main event, the sub-events and the basic events are interlinked with logical ports. The main advantage in adopting Fault Tree analysis is based upon the Boolean Algebra, using the basic operators AND, OR or NEG. The databank based on the opinions of specialists refers to the possibilities of fault for these basic events. For the critical modules, FMECA (Failure Modes, Effects and Criticality Analysis) must be carried out so as to assess the admissible faults allowing for possible cost minimization. In the case of the fault tree focus, by using the probabilistic focus (or its complement, reliability) the main event is obtained as follows:

The basic events are assumed to be independent; One or more basic events can cause a fault in one or more intermediate events, and so on; The fault probability for each basic event is known; for basic event Ai , such probability is noticed by p( Ai ) The probability for each intermediate event in the fault tree is obtained through replacement of the logical operators AND, OR and NEG with addition, product or complement operations of the probabilistic values; For a sequence of n independent sub-events, with the logical operator AND, fault probability is given by:
P AND (t ) = PAi (t )

and reliability is given by: R AND (t ) = 1 P AND (t )

For a sequence of n independent sub-events, with the logical operator OR, fault probability is given by:
P OR (t ) = PA1 + PA 2 + ... + PAn ( PA1 + PA 2 + ...PAn ) and reliability is given by: R OR (t ) = 1 P OR (t )

Likewise, it is possible to adopt such expressions for a possibilistic model by using the Fuzzy Sets Theory algebra. Through several studies carried out, the expressions above (fault probability and reliability of the probabilistic model) were verified to be perfectly used in a probabilistic model, whereas both arithmetical and logical operations, mutatis-mutandi, follow the rules of the Fuzzy Sets Theory. Thus, the opinions from specialists are characterized by fuzzy numbers; in order to attain the critical paths in the fault tree and establish the possibility of fault for the main

Gassenferth

IAMOT 2006

6/7

event, the adequate arithmetic operations to the fuzzy numbers are used depending on the type of logical port of the fault tree.
4. Results and Conclusions

The aim of this paper is to simply present a non-probabilistic methodology for the calculation of software reliability and its discussion within the academic community and the software development and technology market. However, it is worth informing that tests of this methodology have already been conducted in companies of this segment. In one of the works conducted to test it, the opinions from 15 specialists were used for a certain software module having 4 functions. Such opinions from the specialists were collected through a questionnaire based on a 0-10 scale meaning the following: 0 to 2 low reliability on or knowledge of the module; 4 to 6 mean reliability on or knowledge of the module; 8 to 10 high reliability on or knowledge of the module. From the opinions from the specialists and by using the fuzzy logic and arithmetic, the fault tree for the module was set out, demonstrating its high reliability (0,945 out from a maximum of 1,000), thus indicating that no additional investment is required for improving it, unless the user wishes to attain an even higher value for its reliability.
5. References

BRAGA, M.J.,BARRETO, J.M., MACHADO, M.A., Conceitos da Matemtica Nebulosa na Anlise de Risco, Artes & Rabiscus, 1995. DHAR, V. STEIN, R., Raising Organizational IQ: Strategies for KnowIedge Intensive Decision Support, Prentice Hall (1996). JANG, J.- S.R., Sun, C.T., Mizutani, E., Neuro-Fuzzy and Soft Computing - A Computational Approach to Learning and Machine Intelligence, Prentice Hall Inc., 1997. HOULDER, V., Tackling Insider Dealing with Fuzzy Logic, Financial Times, September 29 (1994), p. 16. LANGAR and ZADEH (Eds.), Industrial Applications of Fuzzy Logic and Intelligent Systems, Piscata,Bay, NJ: IEEE Press ,1995. MLER-ICIRSCHBAUM, Th. et al., Using Fuzzy Logic in Cosmetics Design, Fifth fuzzyTECH Users Conference (1995), p. 43 47. ROSS T., Fuzzy Logic with Engineering Applications, McGraw-Hill , Inc., 1995. STUMPF, H. and LUX, F.H., Extraction of Subjective Awessments of Tires for Handlng, Comfort, and Noise Based on Laboratory Tests by Use of Fuzzy Logic. In: Proceedings of the ISATA 26th International Symposium on Automotive Technology and Automation (1993), p. 415-424 .

Gassenferth

IAMOT 2006

7/7

TSOUKALAS , L. H., UHRIG , R. E., Fuzzy and Neural Approaches in Engineering, John Wiley & Sons INC. 1997. VON A., C., Fuzzy Logic Applications Langars and Zadeh (Eds.). In: Industrial Applications of Fuzzy,Logic and Intelligent Systems, Piscata,Bay, NJ: IEEE Press ,1995. VON A., C., Fuzzy Logic and NeuroFuzzy Applications Explained, UPp, Saddle River, NJ: Prentice Hall ,1995 .

You might also like