| Reliability is one of the important index to measure the quality of software. A great numberof studies have been conducted for predicting the reliability of software, most studies use staticfailure data collected from the testing phase to predict the reliability of the software combinedwith reliability models. These works of reliability analysis in static way did not consider theruntime environment and software dynamic behavior, thus the result is not accurate if theenvironment changes. Some efforts have been made to analysis the dynamic softwarereliability in recent years, such as the method combine reliability analysis with softwarearchitecture through runtime data, predicting the reliability at runtime by execution context ofsystem and improve the reliability by reallocating components to processes, etc. Existingmethods have the following weakness: on one hand, a single predicted reliability value can notreflect the reliabilities during different runtime periods, which lead to the inaccuracy ofprediction. On the other hand, few related works will locate the faulty component that causesthe declining of the reliability, and take effective measures to improve online reliability forsoftware systems.In view of the above defects, this paper propose a new method to predict and improvereliability of software systems. We first evaluate the reliability of online system by collecting theservice runtime data with log4j and to predict the future failure data by using the ARIMA model.We then predict the reliability of each port based on the nelson model, and finally we cancompute the reliability of the whole software system. If the predicted reliability is lower than theexpected value, we put forward a new method to locate the faulty component that causes thedeclining of the reliability by using an improved spectrum-fault-localization method andautomatically reconfigured the system architecture to complete the self-adaptive process, so as toimprove the reliability of the online software system. Finally, an online shop example is used todemonstrate the effectiveness of our method.The contributions of this paper are listed as follows:(1) We propose a new method to predict the online reliability of software systems, whichcan reflect the reliabilities during different runtime periods and the result of prediction is more accurate.(2) We put forward the improved spectrum-fault-localization method to locate the faultycomponent that causes the declining of the reliability, which can help us to analyze the system’sfailure accurately.(3) When the predicted reliability is lower than the expected value, we put forward a newmethod to improve the reliability of the online system automatically by system reconfiguration,so as to solve the problem of the declining reliability of online system and to ensure its quality. |