Journal of Software Engineering and Applications, 2011, 4, 433-441 doi:10.4236/jsea.2011.47050 Published Online July 2011 (http://www.SciRP.org/journal/jsea) Copyright © 2011 SciRes. JSEA 433 Reliability Evaluation Optimal Selection Model of Component-Based System Yong Guo1, Tian Tian Wan1, Pei Jun Ma1, Xiao Hong Su1 1School of Computer Science and Technology, Harbin Institute of Technology, Harbin, China. Email: guoy@hit.edu.cn Received May 30th, 2011; revised June 23rd, 2011; accepted July 1st, 2011. ABSTRACT If the components in a component-based software system come from different sources, the characteristics of the com- ponents may be different. Therefore, evaluating the reliability of a component-based system with a fixed model for all components will not be reasonable. To solve this problem, this paper combines a single reliability growth model with an architecture-based reliability model , and proposes an optim al selecting approach. First, the most appropriate model of each componen t is selected acco rd ing to the histo rica l reliab ility d ata of th e comp onent , so that the evaluation devia- tion is the smallest. Then , system reliability is evaluated according to both the relationships among compon ents and the using frequency of each component. As the approach takes into account the historical data and the using frequency of each component, the evaluation and prediction results ar e more accurate than those of using a single model. Keywords: Optimal Evaluation Approach, Likelihood Estimation, Reliability Evalua tion, Component-Based System, Optimal Sel ect i on Model (OSM) 1. Introduction Component-based software reliability evaluation relates to the rationality of system design and the success of software systems. The current evaluation approaches include black box and white box approaches. Black-box approaches regard the system as a whole, only consider the system interaction with the external environment, and do not consider the internal architecture of the system. White box approaches [1-5] consider the system archi- tecture. These approaches disassemble the system into components, establish the relationship among the com- ponents, and then evaluate the entire system reliability. On the contrary, black-box approaches don’t not consider the internal architecture of the system and usually as- sume that the numbers of system errors are proportional to the failure rate, so black-box approaches are more suitable for the systems developed independently. Supported by the National Natural Science Foundation of China (Grant No. 61073052) and Research Fund for the Doctoral Program of Higher Education of China (Grant No. 20092302110040). However, the using frequencies of the components in a system is different from each other in fact. If a compo- nent contains more errors than the other components in the system, but the using frequency of the component is lower, the effect of the component to the system reliabil- ity would not be larger. Black-box approaches overesti- mate this part effect to the reliability of software system, so in the practical application the approaches are subject to certain restrictions. Component-based white-box ap- proaches specifically consider the using frequency of each component, and no longer have the assumptions that system errors are proportional to the system failure rates. So these approaches can be more accurate in the evalua- tion of system reliability. With the progress of software development technology, components have been commercialized. As many large- scale systems have been developed with the COTS (Commercial-Off-The-Shelf), component-based software system reliability evaluation is becoming more and more important. However, most existing component- based evaluation approaches usually assume that the re- liability of each component to be a fixed and known val- ue without considering the historical data of each com- ponent. That will cause a bigger deviation in evaluating system reliability [6]. Feng and Zou et al. [7,8] have presented comprehensive models respectively, but these models are for the entire system, rather than the individ- ual components. This paper proposes a component-based optimal selec-
Reliability Evaluation Optimal Selection Model of Component-Based System 434 tion model (OSM). This approach bases on the system architecture, fully utilizes the historical data of each component, and takes into account the software reliabil- ity growth. OSM combines the reliability growth model of every single component with the architecture-based reliability model. It selects the proper evaluation model of component according to the specific characteristic of each component, and then synthetically evaluates the system reliability according to the relationships among these components in the overall system. As the proposed approach selects the most suitable component evaluation model according to the characteristics of each component when evaluating component reliability, the evaluation result of each component is more accurate. As a result, the reliability evaluation result of the system is also more accurate. The contribution of this paper is that the OSM is pro- posed. The OSM combines a single reliability growth model with an architecture-based reliability model. As the new model takes into account the historical data and the using frequency of each component, the evaluation and prediction results are more accurate. The organization of this paper is organized as follows. In Section 2, we will give a survey of existing component reliability models and component-based system reliabil- ity models. In Section 3, the OSM operation process is described. In Section 4, approach of selecting component reliability model is presented. In Section 5, the software reliability evaluation approach is discussed. In Section 6, case analysis and verification is demonstrated. Finally, the conclusion remarks are given in Section 7. 2. Component Reliability Model and Component-Based System Reliability Model A component usually refers to executable modules that encapsulate data and function. Components can be inde- pendently produced or developed by the third parties. Usually these approaches that evaluate the system reli- ability considering the system as a whole [9-18] can be used to evaluate a single component. We can select a proper model according to the component’s historical data. We can also use a certain model by translating the component’s historical data into the form that the model can be used. According to different historical reliability data that the models can use, the component reliability models can be divided into two categories, i.e. the time between failure (TBF) models [9-12] and the failure count (FC) models [13-18]. TBF models use time-bet- ween-failure data, while FC models use the failure count data. A system constructed by components with logical re- lation is called component-based system. Component- based system reliability evaluation models include path- based approach [1,2,19], state-based approach [3-5,20, 21], and additive model [22]. Path-based approaches [1-2, 19] evaluate system reliability by considering all the pos- sible execution paths of the software. A sequence of all execution paths are gained by algorithm, experiment or simulation. The reliability of each path is estimated, and then the system reliability is estimated by calculating the average reliability of all paths. State-based models [4,5,20,21] regard the execution of the software as a state transfer process [6]. This class of models apply stochastic process theorem to the analysis of the system reliability. Some typical approaches adopt the Markov process the- ory, which assume that the system change process with the state of Markov. The approaches include the discrete time Markov model (DTMC) [5,20] and the time con- tinuous Markov model (CTMC) [4] and semi-Markov process (SMP) [21]. Additive models [22] are mainly used in the software testing stage. It assumes that the reliability of each component can be modeled by non- homogeneous Poisson process (NHPP), and thus the failure behavior of the system will also be a NHPP [23]. Path-based and state-based models typically assume that the reliability of components is known, and no long- er consider the problem of the reliability evaluation for each component. Additive models concentrate on system failure-sensitive issues of time concerned by evaluating the component failure, but no longer explicitly consider the system architecture. To establish an effective com- ponent-based reliability evaluation model, we should take into account the evaluation approach of each com- ponent in a system. Only by doing this, can we get a more reasonable evaluation result. 3. OSM Operation Process This paper gives the following relevant definitions as a basis of OSM. Definition 1 Failure interval time data(TBF). It is a tri- ple<F,T,S>, where F is one-dimensional vector repre- senting the failure order, T is the one-dimensional vector representing interval between the two adjacent failure, S is the one-dimensional vector representing the severity of the failure. For any element f in F, there is only one ele- ment tf in T, and sf in S to correspond to it, which <f,tf,sf> constitutes a TBF data. Definition 2 Failure count data FC. It is a four tuple <I, T0,C, S>, where I is one-dimensional vector representing the test number, T0 is the time interval, C is one-dimen- sional vector composed of errors during the interval T0, S is one-dimensional vector composed of the severity of the error during the interval T0. <i,T0,ci,si> is a failure count data, where i is an element in I, ci is an element in C, si is an element in S. Copyright © 2011 SciRes. JSEA
Reliability Evaluation Optimal Selection Model of Component-Based System435 Definition 3 Components. It is a four tuple <F,P,D,M>, where F is a group of service interface to the outside provided by the component, P is the description of the component external behavioral, D is the reliability of the application domain, M is the reliability-related data of the component. Definition 4 TBF component. It is a class of compo- nent that its reliability-related data is of the type TBF. Definition 5 FC component. It is a class of component that its reliability-related data is of the type FC. The OSM operation process of a component-based system is shown in Figure 1. The first step of OSM is that all the components of the system are determined. These components are obtained from the requirements analysis and design documents, and then assorted. The types of reliability-related historical data may be different, because the components come from different sources, and their specific implementation tech- niques, methods and testing process may be different. The components are divided into two categories: TBF compo- nents and FC components, mainly based on the type of the components’ historical data. Then, the candidate reliability model sets of the component are determined. According to the categories of components and the ap- plication scope of the selected model, we determine the candidate reliability model sets of the component. For TBF components, all models in the candidate model set should belong to the class of TBF. For FC components, all models in the candidate model set should belong to be the class of FC. As each component is considered as a Figure 1. The OSM process of component-based system reliability evaluation approach. whole and its internal structure is no longer considered, black-box evaluation approaches are used. According to the software life-cycle, the classes of software reliability models include the analysis phase model, the design phase model, the implementation phase model, the test- ing phase model and the validation phase model. For the purpose of reliability evaluation of component-based software systems, the test phase model for each compo- nent is used to determine the component’s reliability in OSM. After that, the evaluation criteria are applied. At pre- sent there is not any universal component reliability model, which means no model can be suitable for the reliability evaluation of all kinds of components. In order to evaluate the reliability of each component more effec- tively, evaluation criteria are used. There are many types of evaluation criteria. We can adopt a single criterion or a combination of several evaluation criteria. The single evaluation criterion means that the final component evaluation model is determined by a single formula. The combination evaluation approach is a combination of multiple evaluation criteria, such as the statically weighted combination. According the computing result of every component by the combination approach, the evaluation model of every component is determined. The complexity and practicality of the algorithm should be taken into account in determining the criteria. If the evaluation approach is too complicated, its practicality will be reduced. It is not that the more complex the selec- tion method is, the better it is. The details of the evalua- tion criteria and selection methods will be given in part 5. Next, the evaluation model and the prediction model are obtained. We should consider from the two sides of evaluation model and prediction model when we select the component reliability model, because our ultimate goal is to obtain system reliability. System reliability evaluations include the assessment and prediction. Sys- tem reliability assessment usually refers to the reliability the system can be achieved when the development of the software system is completed, and the system reliability prediction is to predict the system failure at a future point when the system is running. So the system reliability evaluation includes the assessment and the prediction. The optimal model for assessment is not necessary the optimal model for prediction, so the assessment model and prediction model should be selected respectively. Finally, based on the prediction and assessment model, the system reliability is obtained according to the rela- tionship among the components. 4. Approach of Selecting Component Reliability Model In order to accurately assess and predict the reliability of Copyright © 2011 SciRes. JSEA
Reliability Evaluation Optimal Selection Model of Component-Based System 436 each component, we should use appropriate method and criteria to select the most suitable model of the compo- nent reliability. 4.1. Principle of Selecting Approach Let 12 , ,, n MM M be a set that contains n candidate reliability model sets. Every model seti in M contains i models, i . Different types of models suit for different data sets. Assuming the type of i N 12 , ,, iN Mmm m model suits for the historical data sets Di, the evaluation criterion corresponding to i is i, i is the result calculated by the combination of weight indexes, t S kS is the t-th indicators in , t is the weight corresponding to st. We have the following Equa- tion ( k w 1). 1 k i t Ss t t w (1) Let C is the components set in which its system reli- ability will be evaluated. 12 {, ,,} m Ccc c c ,there are m components, where component t can use the type of i model to compute its reliability. Which type of model specifically will be used depends upon the reli- ability data of component. tj corresponds to the com- ponent t of set C and model mi of Mi. The value of tj is computed using Equation ( S m t c optim{, ,, ttt c S1). If t is the opti- mal evaluation model of component , the value st sat- isfies the conditions: 11 1t } SSS,“optim” is min or max according to the specific indicators. The candidate model and selection criteria will be described specifically later. 4.2. Component Candidate Evaluation Model There are many factors affecting software reliability. The affect of the same factor is different to different software. Many factors have the stochastic characteristic time- related, so the software reliability models are mostly modeled the form of random process. A number of as- sumptions are given in advance for the establishment of models. Under the assumption we establish systems reli- ability evaluation model. FC models 1) Schick-Wolverton model [9] The state when the software is tested is same as its ac- tual operation. All errors have the same probability to be detected. The expectations of failure occur at any interval are proportional to the number of errors contained in the software and the duration after the last occurrence of failure. All failures have the same severity and inde- pendently one another. Faults are corrected as soon as they are found and there is no new fault to be introduced. [24] 2) Non-Homogeneous Poisson for FC [10] The state when the software is tested is same as its ac- tual operation. The number of faults detected in each time is independent one another. All faults have the same probabilities to be detected. The total number of faults detected in any time fallows a Poisson distribution with mean m(t). The mean value of faults is a bounded non-decreasing function related to m(t) and its max value is a. There is no new fault to be introduced when the de- tected faults are corrected. [24] 3) Schneidewind [11] The state when the software is tested is same as its ac- tual operation. The system failure caused by faults is stochastic. The occurrences of all failures have the same probability and independent of one another. The correc- tion rate of fault is proportional to the found faults. The detected failures mean value decrease with the continu- ous test. The total number of failures has an upper bound. Every test has the same period interval. The faults detec- tion rate is proportional to the number of system faults. There is no new fault to be introduced when the detected faults are corrected. [24] 4) Yamada S-shaped model [12] The state when the software is tested is same as its ac- tual operation. The system failure caused by faults is stochastic. The number of initial faults in the software system is a random variable. The time between failures (k – 1) and k depends on the time to failure (k – 1). Only one failure occurs each time and the fault will be cor- rected immediately. There is no new faults are introduced when the detected fault is removed. The total number of failures has an upper bound. [24] TBF models 1) Geometric model [13] The test process is same as its actual operation. There is no upper bound on the total number of failures. The probability of all faults detection is equal. The detections of all faults are independent each another. The failure detection rate is geometric distribution and is constant between failure occurrences. [24] 2) Jelinski-Moranda model [14] The condition of the software run is same as its actual operation. The faults detection rate is proportional to the number of the faults. The severity of all failures is equal. The failure rate between the two failures is a constant value. Faults are removed immediately and no new fault is introduced. The total number of faults has an up bound. [24] 3) Littlewood-Verrall model [15] The condition of the software run is same as its actual operation. The successive time between two failures is independent random variable and is an exponential dis- tribution. The mean of i-th failure distribution is 1/ (i), (i) has distribution with parameter and (i). Where (i) has the form (0)+ (1) * i or (0)+ (1) * i2. There is Copyright © 2011 SciRes. JSEA
Reliability Evaluation Optimal Selection Model of Component-Based System Copyright © 2011 SciRes. JSEA 437 no upper bound on the total number of failures. [24] 4) Musa Basic model [16] The test process is same as its actual operation. The detection of faults is independent one another. All faults of the system will be detected. The intervals between the successive failure are piecewise exponential distribution. The failure rate is proportional to the number of faults. The correction rate is proportional the fault detection rate. There is no new fault to be introduced when the fault is corrected. [24] 5) Musa-Okumoto model [17] The test process is same as its actual operation. The detection of faults is independent one another. The mean of the number of failures is a logarithmic function of time. The intensity of failure decreases exponentially with the experience of failures. The total of faults has an up bound. [24] 6) Non-Homogeneous Poisson Process model [18] The condition of the software run is same as its actual operation. All faults have the same probability to be ob- served. The cumulative number of failure M(t) follows a Poisson distribution with mean value m(t). The mean function of the number of failure is a bounded non-de- creasing. The debug process will not introduce new fail- ure. [24] The models mentioned-above are subject to assump- tions, therefore there are some limitations, no model can replace another. 4.3. Determination of the Selection Criteria The effect is different when one model is applied on dif- ferent data sets, one may be good but others may be bad. We can select the most suitable evaluation model ac- cording to a certain criterion using a certain data set. The key is the determination of the criterion when we select the suitable model. The commonly criteria are deviation of Bias, mean square error MSE, mean absolute error MAE, MSE and sum squire error SSE , chi-square test (Chi-Square), CKolmogorov-Smirnov test) prequential likelihood(PL) . Chi-square test is a common method that measures model goodness of fit. The smaller result means a better goodness of fit, The formula is shown as (2). 2 1 nii ii mmt CHS mt (2) The Kolmogorov-Smirnov test (K-S test) is a test of goodness of fit. It is used to study if the distribution of sample observations agrees with the specified theoretical distribution. The two-sample K-S test is one of the most useful and general nonparametric methods for comparing two samples, as it is sensitive to differences in both loca- tion and shape of the empirical cumulative distribution functions of the two samples. The K-S statistic quantifies a distance between the empirical distribution function of the sample and the cumulative distribution function of the reference distribution, or between the empirical dis- tribution functions of two samples. The formula is (3), where F(x) and E(x) are the theoretical and actual distri- bution of the sample respectively. max maxDFxE x (3) The formulas mentioned above are mainly used to se- lect component assessment model. As to the selection of reliability predictive model of component, we often use prequential likelihood. Prequential likelihood values are used to indicate if one model is more applicable to the failure data than the other models. Let t is the next time of component failure, the failure distribution density function estimated by previous failure data is 1 j t j t , according to the density function we can esti- mate the next system failure time tj, the expectation of tj is: 0 ˆd jj Etf tt (4) For the 1-step prediction, the prequential likelihood value for 12 ,,, j tt t jn i is calculated as (5). nj ni ijl PLf t (5) This paper will use K-S test and Chi-square test as the selection criteria of reliability assessment model of component. They are commonly used in project. This paper will use prequential likelihood value as the selec- tion criterion of reliability predictive model of compo- nent. 4.4. System Reliability Calculation According to the Relationship among Components We will determine the interaction among the components of the system after the determination of the evaluation and prediction models of the component. We can model path-based system component diagram, state-based sys- tem components diagrams or other system component interaction diagram. It will depend on the actual specific situation. If the software continuously runs 24 h every day, it should be modeled as Continuous Time Markov Chains (CTMCs). If it is operated by user’s idea, it should be modeled as Discrete Time Markov Chains (DTMCs). At the same time we should also consider the available data, the different phase of the software life-cycle and what kink of assumptions we made [25]. Table 1 lists the state-based Markov models and appli- cable conditions [25].
Reliability Evaluation Optimal Selection Model of Component-Based System 438 Table 1. Reliability models. Architectural ModelSolution MethodReliability DTMC_1 absorbing Composite 1, n SnR DTMC_2 absorbing Hierarchical 1 i V i i n R DTMC_3 absorbing Hierarchical 1 eiii nVt i R DTMC_4 absorbing Hierarchical 0()d 1 e Vt ii i n i R DTMC_5 irreducible Composite DTMC_6 irreducible Hierarchical 1 n ii i R DTMC_7 irreducible Hierarchical 1 n ii i ,e t R CTMC_1 absorbing Composite CTMC_2 absorbing Hierarchical () 1 eii n t i R CTMC_3 absorbing Hierarchical 1 i nV i i R CTMC_4 absorbing Hierarchical () 0()d 1 e Lt ii n i R CTMC_5 irreducible Composite CTMC_6 irreducible Hierarchical 1 n ii i ,et R CTMC_7 irreducible Hierarchical 1 n ii i R As the space limited, please refer to related literature about how to establish relationship among the compo- nents of system. After the system model established, the system reliability can be predicted and assessed. As the assessment and prediction reliability value of each com- ponent are optimal according to the criteria, and therefore the assessment and prediction reliability of the system will also be optimal. We will prove this point as follows. 5. Discussion of Software Reliability Evaluation Approach Let system composed by n components, the reliability of components computed by OSA are 12 , the exact value of the components reliability are 12 respectively. The system reliability calcu- lated by a certain model using the exact value of each component reliability 12 is . The system reliability calculated by the model using the evaluation value of each component reliability 12 n is ,,, n RR R =i RfR ,,, n RR R ,,,RR ,,, n RR R R i RfR . is the difference between and R R R 'Rii fR fR RR If the smaller i R , n R is the smaller is, then we can say the system reliability calculated using the component models selected by OSA is more accurate than other component models. It is not difficult to see from Table 1 that the system reliability models listed in Table 1 is consistent with the hypothesis mentioned above. We will use CTMC_7 as a sample to demonstrate this point. The formula of model CTMC_7 is showed as ( R R ,, 7). 1 n ii i R (6) Let is the system reliability calculated by exact value 12 using formula ( 0 R RR ,, 6), is the sys- tem reliability calculated by 12 using for- mula ( 0 R , n RRR 6). The difference between R and R′ is: 11 iii i R RRR nn i ii RR (7) From (7) we can see the smaller the error i R of each component is, the smaller the error of the sys- tem. R Copyright © 2011 SciRes. JSEA
Reliability Evaluation Optimal Selection Model of Component-Based System439 As the models of components are selected using OSA, there is _ 122 min, , ,, selectd model model modelmodelmodeln R RRR R so that we can get more accurate system reliability by the approach proposed in this paper. 6. Case Analysis and Verification We use following system shown in Figure 2 as an exam- ple. The system is composed by the three components. We use state-based reliability model to model it. In order to facilitate to model it, we add a termination state E, a completion state C, and a failure state F, the starting component is C1. The historical data of components C1, C2, C3 are provided by CASRE20, the specific values shown in Table 2. The historical data of component C1, C2 are time between failures data, the historical data of component C3 is the failure count data. Because different types of component model is suit for different reliability Figure 2. Components relationship of the system. data, we should use TBF model for component C1 and C2 , FC model for component C3. Table 2 shows these components historical reliability data. According to the approach presented in 5.1 and the criteria in 5.2, the results are shown as Table 3. From the results in Table 3 we can see the best good- ness of fit reliability assessment models of components C1, C2, C3 are Quadratic LV (KS Distance = 10.67302), Quadratic LV(KS Distance = 14.68409) and Schick- Table 2. The historical reliability data of component C1, C2, C3. C1 C2 C3 No. Duration Since Last Failure severity No.Dura t i o n S i nce Last Failureseverity No.Failure count Interval severity 1 3 1 139 1 114 56.0 1 2 30 1 210 1 219 56.0 1 3 113 1 34 1 323 56.0 1 4 81 1 436 1 412 56.0 1 5 115 1 54 1 522 56.0 1 6 9 1 65 1 612 56.0 1 7 2 1 74 1 713 56.0 1 8 91 1 891 1 819 56.0 1 9 112 1 9 49 1 910 56.0 1 10 15 1 101 1 105 56.0 1 11 138 1 1125 1 115 56.0 1 12 50 1 121 1 125 56.0 1 13 77 1 134 1 137 56.0 1 14 24 1 1430 1 147 56.0 1 15 108 1 1542 1 151 56.0 1 16 88 1 169 1 163 56.0 1 17 670 1 1749 1 171 56.0 1 18 120 1 1844 1 182 56.0 1 19 26 1 1932 1 190 56.0 1 20 114 1 203 1 202 56.0 1 21 325 1 2178 1 219 56.0 1 22 55 1 221 1 221 56.0 1 23 242 1 2330 1 230 56.0 1 24 68 1 24205 1 240 56.0 1 25 422 1 255 1 250 56.0 1 26 180 1 26129 1 261 56.0 1 27 10 1 27103 1 271 56.0 1 28 1146 1 28224 1 29 600 1 29186 1 30 15 1 3053 1 Copyright © 2011 SciRes. JSEA
Reliability Evaluation Optimal Selection Model of Component-Based System 440 Table 3. The results of components candidate models. C1 C2 C3 Components Candidate Models –1 * ln(PL) KS Distance–1 * ln(PL)KS Distance Components Candidate Models –1 * ln(PL) Chi-Square Geometric Model 29.2264 10.688 24.6318 14.72469 Generalized Posson 30.5155 26.53031 Jelinski-Moranda 30.3014 901.7729 24.6462 16.53530 Yamada S-Shaped 33.4908 33.54718 Linear LV 29.6216 11.02811 25.8762 17.42809 Schneidewind 30.8320 34.17516 Musa Basic 29.7884 900.4869 24.7259 16.23364 Schick-Wolverton 30.5155 26.53030 Musa-Okumoto 29.2700 898.9216 24.7884 16.02850 NHPP 29.7884 900.4869 24.7259 16.23364 Quadratic LV 29.0415 10.67302 24.8086 14.68409 Table 4. The selected models of each component and the system reliability. assessment prediction(T = 50) i selected models Ri selected models Ri C1 Quadratic LV 0.9977 Jelinski-Moranda 0.93640 0.2350 C2 Quadratic LV 0.9903 Linear LV 0.53740 0.5199 C3 Schick-Wolverton 0.9999 Yamada S-Shaped 0.99993 0.2451 Rs 0.9944 0.7445 Wolverton (Chi-Square = 26.53030) respectively. The best goodness of fit reliability prediction models of components C1, C2, C3 are Jelinski-Moranda(–1 * ln(PL) = 30.3014), Linear LV(–1 * ln(PL) = 25.8762) Yamada S-Shaped(–1 * ln(PL) = 33.4908) respectively. Assuming system reliability evaluation use DTMC_6 and i is known. The assessment and prediction values are shown in Table 4. The assessment value refers to the reliability when the system development is completed, the predic- tion value refers to the system reliability at a certain time T in the future. Here we set T to be 50. T can be changed to predict the system reliability at other time point. 7. Conclusions An optimal selection approach to improve the evaluation accuracy of component-based system reliability is pro- posed in this paper. The techniques of how to select the most appropriate assessment and prediction model for each component according to historical data based on certain criteria, and how to assess and predict the system reliability according to the selected model and the rela- tionships among the various components, are presented. This approach considers not only the architecture of the system but also the historical data related to each com- ponent reliability growth. As a result, its results are more effective and practical than those of the other existing approaches. REFERENCES [1] H. Singh, et al., “A Bayesian Approach to Reliability Prediction and Assessment of Component Based Systems,” Proceedings of 12th International Symposium on Software Reliability Engineering, Hong Kong, 27-30 November 2001, pp. 12-21. [2] S. Yacoub, et al., “A Scenario-Based Reliability Analysis Approach for Component-Based Software,” IEEE Trans- actions on Reliability, Vol. 53, No. 4, 2004, pp. 465-480. doi:10.1109/TR.2004.838034 [3] B. Littlewood, “Software Reliability Model for Modular Program Structure,” IEEE Transactions on Reliability, Vol. R-28, No. 3, 1979, pp. 241-246. doi:10.1109/TR.1979.5220576 [4] S. S. Gokhale and L. Michael Rung-Tsong, “A simulation Approach to Structure-Based Software Reliability Ana- lysis,” IEEE Transactions on Software Engineering, Vol. 31, No. 8, 2005, pp. 643-656. doi:10.1109/TSE.2005.86 [5] Y. Wei and X.-H. Shen, “Heterogeneous Architecture- -Based Software Reliability Estimation: Case Study,” 3rd International Conference on Convergence and Hybrid Information Technology, Busan, 11-13 November 2008, pp. 286-290. [6] S. S. Gokhale, “Architecture-Based Software Reliability Analysis: Overview and Limitations,” IEEE Transactions on Dependable and Secure Computing, Vol. 4, No. 1, 2007, pp. 32-40. doi:10.1109/TDSC.2007.4 [7] Z. F. Zhong and X. R. Zuo, “Multi-model Assessment of Software Reliability,” Journal of TongJi University, Vol. 30, No. 10, 2002, pp. 1183-1185. [8] F. G. Cheng, et al., “Software Reliability Growth Model Selection and Composition Method,” Computer Science, Vol. 36, No. 9, 2009, pp. 135-138. [9] R. W. W. G. J. Schick, “Assessment of Software Relia- bility,” Operations Research, Physica-Verlag, Heidelberg, 1973, pp. 395-422. [10] H. Chin-Yu, et al., “A Unified Scheme of Some Non- homogenous Poisson Process Models for Software Relia- bility Estimation,” IEEE Transactions on Software Engi- neering, Vol. 29, No. 3, 2003, pp. 261-269. doi:10.1109/TSE.2003.1183936 [11] N. F. Schneidewind, “Analysis of Error Processes in Copyright © 2011 SciRes. JSEA
Reliability Evaluation Optimal Selection Model of Component-Based System441 Computer Software,” Proceedings of the International Conference on Reliable Software, Los Angeles, 21-23 April 1975, pp. 337-346. doi:10.1145/800027.808456 [12] S. Yamada, et al., “S-Shaped Reliability Growth Mode- ling for Software Error Detection,” IEEE Transactions on Reliability, Vol. R-32, No. 5, 1983, pp. 475-484. doi:10.1109/TR.1983.5221735 [13] P. B. Moranda, “An Error Detection Model for Appli- cation during Software Development,” IEEE Transac- tions on Reliability, Vol. R-30, No. 4, 1981, pp. 309-312. doi:10.1109/TR.1981.5221096 [14] Z. A. M. Jelinski, “Software Reliability Research,” Aca- demic Press, New York, 1972. [15] B. Littlewood, “The Littlewood-Verrall Model for Software Reliability Compared with Some Rivals,” Jour- nal of Systems and Software, Vol. 1, 1979, pp. 251-258. doi:10.1016/0164-1212(79)90025-6 [16] J. D. Musa, “A Theory of Software Reliability and Its Application,” IEEE Transactions on Software Enginee- ring, Vol. SE-1, No. 3, 1975, pp. 312-327. [17] J. D. Musa and K. Okumoto, “A Logarithmic Poisson Execution Time Model for Software Reliability Mea- surement,” Proceedings of the 7th International Confe- rence on Software Engineering, Orlando, 26-29 March 1984, pp. 230-238. [18] A. L. Goel and K. Okumoto, “Time-Dependent Error-De- tection Rate Model for Software Reliability and Other Performance Measures,” IEEE Transactions on Reliability, Vol. R-28, No. 3, 1979, pp. 206-211. doi:10.1109/TR.1979.5220566 [19] M. L. Shooman, “Structural Models for Software Reliabi- lity Prediction,” Proceedings of the 2nd International Conference on Software Engineering, San Francisco, 13-15 October 1976, pp. 268-280. [20] R. C. Cheung, “A User-Oriented Software Reliability Model,” IEEE Transactions on Software Engineering, Vol. SE-6, No. 2, 1980, pp. 118-125. doi:10.1109/TSE.1980.234477 [21] P. Kubat, “Assessing Reliability of Modular Software,” Operations Research Letters, Vol. 8, No. 1, 1989, pp. 35- 41. doi:10.1016/0167-6377(89)90031-X [22] W. Everett, “Software Component Reliability Analysis,” 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology, Richardson, 24-27 March 1999, pp. 204-211. [23] K. Goseva-Popstojanova and K. S. Trivedi, “Architecture- Based Approaches to Software Reliability Prediction,” Computers & Mathematics with Applications, Vol. 46, No. 7, 2003, pp. 1023-1036. doi:10.1016/S0898-1221(03)90116-7 [24] A. P. Nikora, “CASRE User’s Guide,” Jet Propulsion Laboratories, Pasadena, 2000. [25] S. S. Gokhale and K. S. Trivedi, “Analytical Models for Architecture-Based Software Reliability Prediction: A Unification Framework,” IEEE Transactions on Reliability, Vol. 55, No. 4, 2006, pp. 578-590. doi:10.1109/TR.2006.884587 Copyright © 2011 SciRes. JSEA
|