Fuzzy Set-Based Reliability Estimation

The rapid advancement of computer technology motivates software developers to use commercial off-the-shelf software components for system growth. For particular architectural elements (for instance, components), the reliability criteria associated with testing-based conventional procedures are unknown. In the traditional reliability estimation, the probabilistic method is applied. The source data problem, which depends on a number of factors that may or may not correspond to the real working conditions of the system, is this technique’s major shortcoming. The component-based software reliability estimation is based on a number of parameters, including the individual component reliability, transition probability, failure rate, etc. Fuzzy logic converts fuzzy data into useful information, making it easier to develop creative solutions for vague and uncertain concepts based on various factors that influence reliability. To assess the reliability of component-based systems, the authors provide a fuzzy logic technique, which has the ability to improve the question of uncertainty.

estimation of individual components associated with the system as well as transition probabilities associated between any two connected components within the system. An architecture-based reliability model for estimating the system reliability is presented in this paper.
In traditional reliability theory, components and structures are thought to have only two states, correct or incorrect. This means that success and failure are clearly defined and there are no intermediate states between them. However, in some cases, the above statement may not be correct. In addition to structural factors, other factors such as performance, quality, cost, and so on may influence the failure or success criterion. This leads to a broad concept of success and failure. The traditional system reliability problem is difficult to address when the components have distinct probability density functions (pdf). The conventional probability's weakness is in accounting for data uncertainty. As a result, instead of using the pdf of the components, we used fuzzy set theory and the membership functions to obtain the system reliability. In real world problem, we cannot say that the whole system is fully success or fully failure. Thus, uncertainty can be found almost everywhere. When we speak about uncertainty; we normally use a vague or everyday phrase like 'not quite certain'. In the early stage to estimate the reliability, most of the metrics are bias in nature. This paradigm focuses on the fuzzy inference system to deal with the lack of relevant data and uncertainty. Data uncertainty occurs due to a variety of reasons such as user's inaccurate perception of failures, incorrect measurement, imprecise collections of reliability data etc. Fuzzy sets, fuzzy estimation and fuzzy probability theories are important tools to describe and analyze the uncertain values.
Motivation: It is important to acquire a high degree of reliability while building the software for application domains. This is a really difficult issue for the software industry nowadays. Software presently is expected to be self-adaptive, and as a result, it is frequently more complex. The optimization of a multi-objective problem in different areas is required to provide reliability for a complex system. To improve reliability estimation in component-based systems, several reliability models are proposed. But none of them operate optimally across several projects.
Objectives: The fuzzy logic technique is better than the statistical methods to estimate overall system reliability. The fuzzy concept refers to imprecision, approximation, uncertainty, and a chaotic environment.
In conventional reliability, the system operational profile (Mon,D. L., &Cheng, . H., 1994) is represented as a probability distribution or a stochastic process over the input space. It is difficult to obtain the appropriate probability distribution. In practice, the input space is not defined properly. As a result, it is difficult to predict the correct probability of an input result. The analytical model using probability approach to traditional reliability assessment is insufficient and the data or system parameters are often fuzzy or vague in real-world problems due to missing or unavailable knowledge. Taking into account the inherent uncertainties (Kai-Yuan,C.1996), associated with data, the idea of fuzzy reliability is considered. It is represented as the relation to possibility factors or a transition from fuzzy success to fuzzy failure (Kai-Yuan,C. & Chuan-Yuan W. 1990). The probability of no transition from the system success state to the system failure state is also defined as reliability. The idea of fuzzy reliability is introduced in order to achieve this goal. Let there are N no. of states ST 1 , ST 2 , ....ST N in a system and D={ ST 1 , ST 2 , ....ST N } is universal discourse. On set D the state of fuzzy success is represented as follows: Similarly the fuzzy failure state is expressed as: Here m ST  and m  f are the membership functions of fuzzy success state and fuzzy failure state respectively. It's important to remember that a fuzzy state is simply a fuzzy set (Kai-Yuan, C.,1996). The fuzzy reliability model uses the membership function of the fuzzy success scenario which is customer oriented since the membership function contains the user's information, perceptions and utility associated with the system or component's performance (Li, Z., & Kapur, K. C.,2013). Fig.1. shows the interconnection between the probability and fuzzy logic. The term "probability of failure" is replaced by "failure possibility" in the above scenario, which is characterized by the membership function of the system (or component) variables.We use membership functions to express the uncertain numbers or parameters. The degree of membership function indicates the decision maker's individual selection within a particular threshold (Mon, D. L., & Cheng,C.H.,1994). This paper introduces a fuzzy method for estimating reliability of the system. Component reliability and the transition probability between two components are input factors that are considered for reliability assessment decisions. The proposed methodology uses fuzzy theory to describe the reliability performance of the components in a given system when the component reliability is defined as a fuzzy state.
The paper is prepared as follows: Section 2 gives the background work on fuzzy logic. Section 3 explains related work using the fuzzy concepts. Section 4 discusses the methods for estimating the reliability with an example. Section 5 describes the conclusion.

BACKGRoUNd
To estimate the component-based software reliability, several methods are defined by the authors (Siddiqui, Z., & Tyagi, K.,2016). The techniques are divided into three groups: Soft computing strategies, architecture approached reliability models and statistical models. Architecture-based techniques (ChauPattnaik, S., & Ray, M.,2021; Da Silva,A. R.,2015)) such as state-based models, path-based models are common in component-based software systems. The operational profile of the input, as well as the architecture, determines component based software reliability. Several authors (Abdolshah et al,2019;Kai-Yuan, C. et al,1991) propose fuzzy reliability and different soft computing (Dutta, A.,2021) techniques. Lo (Lo, J., 2010) introduced a software reliability estimation method based on a support vector machine (SVM) and a genetic algorithm (GA). For estimating CBSS reliability, a fuzzy logic technique was proposed by Tyagi et al. (Tyagi, K., & Sharma, A., 2012). They used four essential factors. These were utilized to create a FIS for estimating reliability. Tyagi et al. (Tyagi, K., & Sharma, A. 2014) offer an adaptive neural fuzzy reliability model. Siddiqui et al. (Siddiqui, Z., & Tyagi, K.,2016) estimate the overall system reliability on the number of times each component is used. The frequency of use determines how much each component weight (component usage profile). Based on its importance, each factor adds to the overall system's reliability. So, component ranking is determined by examining their reliability impacts on the overall application. As a result, component ranking is decided by assessing the influence of component reliability on the whole application. Fuzzy-MOORA, a fuzzy multi-objective optimization method based on ratio analysis, is recommended. The method aids in the selection of the best software component from a list of alternatives. Sanjay Kumar Dubey et al. (Dubey, S. K.,2017) in this research, they employ an adaptive neuro-fuzzy inference method to evaluate the reliability of component-based software. The suggested model takes into account the aspects that affect component-based application reliability. A survey data set is used to train the hybrid neural network that is employed in ANFIS. This neural network then drives the fuzzy inference system's rule base. The outputs of the ANFIS model are fine-tuned and the results are very close to the empirical findings. The widespread use of architectural modeling of software systems has benefits such as composability, versatility, reusability, reasoning and behavior analysis. Bamrungsetthapong et al. (Bamrungsetthapong, W.,&Pongpullponsak, A.,2014) suggest a new technique to estimate system reliability. The method discusses the architecture of a system and uses a generalized form of Petri nets to model a range of parallel occurrences. They use possibility theory to describe reliability which has the potential to overcome the uncertainty problem and the study that focuses on fuzzy sets and using fuzzy measures to characterize them. It is focused on fuzzy set theory and using fuzzy measures to describe the reliability attributes of software components in system design. N. Singh et al. (Singh, N. et al,2020) propose a method for estimating the reliability of the most commonly used software system, namely the Service-Oriented Architecture System (SOAS). For order choice, a fuzzy logic technique is used. TOPSIS technique is used to estimate system reliability. Here, fuzzy logic is used to remove the ambiguity associated with rating alternative services. They used four factors that influence SOA system reliability. Gupta et al. (Gupta, G. et al,2021) suggest Dempster-Shafer theory (D-S theory) to assess risk in Failure Mode Effect and Criticality Analysis (FMEA) model. They use a fuzzy rule-based model with a linear equation (Gupta-Ghasemian formula). In their work, a more useful way for capturing uncertainty is offered by adding the generated formula into FMEA, which delivers a precise answer for any configuration of risk variables.

FUZZy SySTEM RELIABILITy
In component-based software systems, researchers present a variety of approaches for estimating software reliability (Tyagi, K., & Sharma, A.,2012;Cheung RC, 1980;Hsu, C. J., & Huang, C. Y., 2011;Tyagi, K., & Sharma, A., 2014;Gokhale, S. S., &Trivedi, K. S.,2002). Hard computingbased methods and soft computing-based methods are two different approaches. To estimate system reliability, architecture-based methods employ multiple models. Analytical models supported by crisp structures are being used to create reliability models using hard computing. Component failure trees, component dependency graphs, and reliability block diagrams are used to demonstrate the above models. Supported reliability models (Singh, N.et al,2020) in soft computing are explained by fuzzy logic, evolutionary algorithms, and neural networks. Fuzzy logic is mostly dealing with vagueness. In uncertain or inferences mechanisms, fuzzy systems are used. Because software reliability is considered a quality criterion, it is essential to predict reliability early in the development process. Early software reliability prediction aids software designers in making design decisions. The methods based on fuzzy set theory, which are based on expert opinion, are useful to use in the early stages of development.
Zadeh coined the word fuzzy logic in 1965. He noticed that traditional computer logic couldn't handle data that represented subjective or imprecise human notions. Probability is a mathematical description of ignorance, while fuzzy logic uses truth degrees as a mathematical basis for modeling the vagueness phenomena. Fuzzy logic is a machine learning methodology. It is flexible and simple to use. Fuzzy Logic architecture: There are four basic aspects to the Fuzzy Logic architecture (fig 2).
Step 1) Knowledge Base: All of the experts' rules and if-then criteria for governing the decisionmaking mechanism are contained in the Knowledge Base. In fuzzy theory, there are a variety of approaches for constructing and optimizing fuzzy controllers. As a result of these updates, the number of fuzzy rules has decreased significantly.
Step 2) Fuzzification: The fuzzification stage aids in the conversion of inputs. It enables you to convert crisp values into fuzzier sets. Different fuzzification methods are Triangular method, Trapezoidal method, Gaussian method etc.
Step 3) Inference Machine: The inference engine helps to determine the interrelationship between input variables as well as the rules. Based on the percentage similarity for the specified input, it determines which rules need to be applied. Then the control actions are generated by integrating the given rules.
Step 4) Defuzzification: Finally, to transform the fuzzy sets into a crisp value, the Defuzzification technique is used. There are numerous strategies available (centre of gravity (COG), mean of maximum (MOM), and centre average methods); therefore, you must choose the one that is best suited for usage with an expert system.

Theory of Fuzzy Sets:
A fuzzy number is a number that can be used to reflect uncertainty. A membership function is a way to view a fuzzy number as a function. The membership function's domain is specified; this domain is normally a set of real numbers with a range of [0, 1]. A fuzzy number can take one of the forms i.e. Triangular Fuzzy number, Trapezoidal Fuzzy number, Gaussian Fuzzy numbers etc (Kai-Yuan, C.,1996). To assess the fuzzy reliabilities of different components, we will only use triangular and trapezoidal fuzzy numbers. These fuzzy numbers' could be expressed as follows: Let cr  = [r 1 , r 2 , r 3 ] be a triangular fuzzy number whose membership function is Similarly for trapezoidal fuzzy number: Let  R = [r 1 , r 2 , r 3 , r 4 ] and the membership function is defined as Where cr cr cr r r r r r r L R a a a a a a = ( ) + ( ) , , ,1       is a α cut fuzzy set and R α = [R L (α), R R (α)] i.e. R L (α) and R R (α) are the left and right side of R α .
In this paper, the components reliability is regarded as a fuzzy number using the membership

PRoPoSEd ALGoRITHM
We present a fuzzy set theory-based approach for estimating software reliability. There are two-phases to execute the proposed algorithm. The first phase is to evaluate the system reliability and in the second phase apply fuzzy logic to evaluate the each component reliability as well as system reliability. Input: Reliability of component (cr(n)), Mean Execution Time of components (MT(n)), and Transition Probability of Components (pr i,j ), n= no. of components Output: Estimated Reliability of components (ReE) Assign inputs to cr(n), MT(n), pr i,j (n) for i= 1 to n Determine the mean and variance of each component using the equation (6) and (7) end for for i=1 to n Determine the expected reliability of the components by the equation (8)  Step 3 and 4 to obtain the system reliability for a single fuzzy component. Repeat Step 3 and 4 to obtain the system reliability for more than one fuzzy component.

RESULT ANd dISCUSSIoN
We consider the application (Gokhale, S. S., &Trivedi, K. S.,2002) consists of ten components, and its architecture is defined by an absorbing DTMC (Discrete Time Markov Chain) as illustrated in Fig.3. The DTMC's first state is component 1, and its last state is component 10, or the DTMC's absorption condition. We presume that the component's reliability and the amount of time spent in each component per visit are known. Table-1 describes each component's reliability and the mean execution time of the component. Table-2 explains the transition probability (pt i,j ) between two components. We apply the path based model to estimate the system reliability. We evaluate the system reliability using the mean and variance of each component in a given system. va= t (2t dig -id)-t sqr (7) Where t dig = diagonal t matrix and t sqr = square of t matrix. Similarly the expected reliability of each component is evaluated as     Table-3 describes the mean and variance of the components. To obtain these values we use the equations (6), (7). Thus, we calculate the estimated reliability of the whole system is 82.91% »83% using the following equation: RS= t (1, N) cr N Where RS= Reliability of the whole system, cr N = reliability of Nth number of component. Fig.4. shows that the original reliability and expected reliability of each component is nearly same. We apply membership functions to develop the fuzzy/imperfect numbers or parameters. We  Table-4 we compare the two models i.e. Cheung's user model (Cheung RC,1980) and Hierarchical model  (Gokhale, S.S.,&Trivedi, K.S,2002) to estimate the system reliability by considering the reliability of the component with fuzzy value. The results are shown below: Fig. 5 shows the corresponding results between the original reliability and expected reliability of each component where the component1 is considered with a fuzzy reliability. Fig.6 describes the graph of the expected reliability when two components reliability are considered to be fuzzy and are compared against the actual system reliability. As can be seen, if Based on the effect of the mean and variance of the components, we suggest CBS reliability with fuzzy logic. The basic fuzzy logic steps are as follows: 1. Fuzzification, which involves transforming categorization data into smooth classifier. 2. Then these are analyzed with fuzzy environment using an expert system. 3. Defuzzification, which converts fuzzy numbers to a single number. We evaluate the system reliability, number of visited each component, variance of the components and the estimated reliability the components. Fig.7 describes the graph of two components (5, 10) reliability as fuzzy vs. expected reliability of each component. Fig.8 and Fig.9 show that if we consider any 3 components with fuzzy reliability then the expected reliability of the components remains nearly same. Hence, the overall system reliability remains same. Considering each component's reliability to be fuzzy, the whole system reliability is calculated which is found to be almost same as in case of reliability of components without fuzzy.

CoNCLUSIoN
We suggest a fuzzy rule based methodology to estimate the system reliability, for which several methods are used. The majority of them rely on component reliability to predict the overall application reliability. The Boolean assumption and the probability assumption are the foundations of traditional reliability theory. Despite the fact that the two assumptions are widely accepted, they should be rejected in many circumstances. So, instead of using probability measures to characterize the sample, possibility measurements should be utilized. The idea of fuzzy reliability is then introduced. The suggested approach has a statistical perception for the two types of uncertainty: 1.Fuzziness 2. Randomness. We found that the estimation of system reliability as 0.8291 when the components are not in fuzzy environment. When the reliability of 1 st component (cr1) is considered as in fuzzy value then the whole system reliability is 0.8250. Similarly, when we consider two components (suppose component 5 and component 10) are fuzzy value then the estimated system reliability is 0.8294. When we consider three components (suppose component 8, component 9 and component 10) are fuzzy value then the estimated system reliability is 0.8295. This shows that system reliability with the fuzzy value get the better system reliability than without fuzzy technique. Our method has some drawbacks: it does not consider the component's failure probability. There are other factors such failure probability, transition probability, average execution time also considered for reliability estimation which is our future scope.

CoMPETING INTERESTS
"The authors of this publication declare there are no competing interests."