• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Empirical Research on the Application of a Structure-Based Software Reliability Model

    2021-06-18 03:36:20JieZhangYangLuKeShiandChongXu
    IEEE/CAA Journal of Automatica Sinica 2021年6期

    Jie Zhang, Yang Lu, Ke Shi, and Chong Xu

    Abstract—Reliability engineering implemented early in the development process has a significant impact on improving software quality. It can assist in the design of architecture and guide later testing, which is beyond the scope of traditional reliability analysis methods. Structural reliability models work for this, but most of them remain tested in only simulation case studies due to lack of actual data. Here we use software metrics for reliability modeling which are collected from source codes of post versions. Through the proposed strategy, redundant metric elements are filtered out and the rest are aggregated to represent the module reliability. We further propose a framework to automatically apply the module value and calculate overall reliability by introducing formal methods. The experimental results from an actual project show that reliability analysis at the design and development stage can be close to the validity of analysis at the test stage through reasonable application of metric data. The study also demonstrates that the proposed methods have good applicability.

    I. INTRODUCTION

    THE essence of software reliability engineering lies in improving software quality, and its role covers all development stages. Most software reliability studies use failure data from the test stage, which focuses on predicting the relatively stable interval of the reliability growth curve and providing the basis for adjustment of test workload and software release strategy. Recent research suggests that reliability evaluation in the early stages has important implications for avoiding possible revision costs in the middle and later stages of development, especially for reliabilitysensitive and safety-critical software systems [1]-[4].Generally, in order to optimize software design, appropriate methods can be introduced as early as possible to evaluate the overall reliability of different architectures. Structural reliability modeling works for this, which takes a component as a basic granularity and considers interaction modes and structural styles of component compositions. Typical models include semi-Markov process (SMP) [5], discrete time Markov chain (DTMC) [6], and continuous-time Markov chain (CTMC) [7]. Compared with the traditional reliability models such as Goel-Okumoto (G-O) [8], they belong to a Markovian model which is based on a stochastic modeling method.

    Markovian models will be state-explosion-prone when used in large-scale and complex software. As such, state-free models are also used to evaluate software system recently.Zhenget al. [9] present an analytical approach based on Pareto distribution for performance estimation of unreliable infrastructure-as-a-service (IaaS) clouds. Liet al. [10] employ an autoregressive moving average model in time series for quality-of-service (QoS) prediction of real composite services.The above method considers the dynamic change in continuous runtime, but does not focus on the static analysis of component structure. Xiaet al. [11] use a stochastic-Petrinet to calculate the process-normal-completion probability as the reliability estimate since Petri-nets are highly capable of describing complex component-based software. However, this study still needs experimental data and is not suitable for software reliability evaluation at early design stage. In contrast, the structural model represented by DTMC is more suitable for a reliability assessment at this stage, because it usually does not require runtime data.

    Stochastic modeling is limited in practical applications of structure-based software reliability analysis. Take the DTMC model as an example. Its two key parameters required for modeling, component reliability and control transfer probability among components, are given by simulated cases rather than from actual projects [12]. Consensus of previous research is that a single component can be regarded as a black-box, and the component parameters tend to be stable in continuous reuse and iteration. But reliability cannot be the inherent property of software components because of the difference in requirements and external environments between actual projects. Moreover, the state explosion caused by component-level modeling is also a difficult problem in the application of large-scale complex software. Recently, more attention was paid to service/cloud-based software reliability.Xiaet al. [13] present a stochastic model based on a Poisson arrival process for quality evaluation of IaaS clouds. This work considers expected request completion time, rejection probability, and system overhead rate as key metrics, and can be used to help design and optimize cloud systems. Luoet al.[14] propose a scheme to build the ensemble of matrixfactorization based QoS estimators and achieve an AdaBoostbased aggregation result. This work presents high estimation accuracy at low time cost. Furthermore, the authors incorporate second-order solvers into a latent-factor based QoS predictor which can achieve higher prediction accuracy for industrial applications [15]. The above studies come from actual QoS data and emphasize the role of different measure factors in software performance analysis and prediction. When conducting a structural reliability analysis of a software project, an important revelation is whether the actual software metrics data can be effectively used. In order to avoid state explosion, the trade-off of module granularity should be based on actual project scale and difficulty of obtaining metrics.

    Recent reliability empirical studies most use traditional software-reliability-growth-models (SRGMs) which focus on failure data from the test stage. Luan and Huang [16] present a Pareto distribution of faults in large-scale open source projects for better prediction fitting curve. Sukhwaniet al. [17] apply SRGMs to NASA’s SpaceFlight software to analysis of relevant experience information in the software development process and version management. Aversano and Tortorella[18] propose a reliability evaluation framework for free/open source projects. It was applied to evaluate quality of an open source ERP (enterprise resource planning) software based on a project bug report. Hondaet al. [19] discuss the effect of two types of measurement units — hourly time and calendar time — in reliability prediction of industrial software systems.Tamura and Yamada [20] present a hierarchical Bayesian model based on fault detection rate around a series of open source solutions and address the impact of conflict behavior of components when dealing with system reliability. This work considers structural information at the component-level, but only takes into account the noise caused by these conflicts in the early stage of the fault detection curve due to the missing discussion of the structural analysis.

    The above works cannot be employed in the early stage of development since they require failure data obtained from software tests. Failure data can be attributed to the scope of software metrics. Besides, another type of software metrics has been applied to reliability analysis and defect prediction of actual projects. Complexity measurement data, which has low collection cost, can also be utilized in cognitive modeling[21]. Shibataet al. [22] combine a cumulative discrete-rate risk model with time-related measurement data, and prove that the new model is equivalent to a generalized fault detection process whose goodness of fit and predictive performance are better than the popular NHPP SRGMs. Kushwaha and Misra[23] consider the importance of the cognitive measure of complexity and use it in a more reliable software development process. Chu and Xu [24] present a general functional relationship between complexity metrics and software failure rate, which can be used to predict reliability on exponential SRGMs. Bharathi and Selvarani [25] calculate the reliability influence factors separately for several object-oriented design metrics, and finally, deduce the reliability formula of the class-level granularity by merging these factors through an aggregation strategy. This work is a beneficial trial for evaluating software reliability during the design phase.D’Ambroset al. [26] compare the performance of several software defect prediction methods and explain the factors of threat validity in practical applications. This work is generally based on static source code metrics and dynamic evolution metrics. Zhanget al. [27] group existing defect prediction models based on software metrics into four categories.Through verification of a large number of open source projects, they describe how to aggregate these metrics in order to achieve a significant effect on predictive performance and recommend the simple and efficient aggregation scheme of summation.

    However, measurement and SRGM-based empirical studies have several limitations: 1) they cannot calculate the reliability in the early design stage of software system; 2) they are not structure-based methods, and cannot assist in architecture design and optimization. Markovian models such as DTMC can work for this, but they usually have great difficulty in practical application due to lack of real data. We have seen the combination of software metrics with traditional reliability models and detect-prediction methods [22], [24],[25]. We aim to incorporate software metrics into early modeling for software reliability in order to effectively quantify system performance. Our empirical study focuses on the following two research questions:

    RQ1:From the perspective of early reliability analysis, what kind of structure granularity is appropriate and how does one use software metrics?

    RQ2:How does one evaluate overall system reliability in practical engineering?

    The remainder of this paper is organized as follows. Section II introduces the reliability model DTMC and the formal method we used for model construction and calculation. Section III describes the experimental methods of this paper, including object selection, metric data processing and aggregation. The results of this study are presented in Section IV. We evaluate the performance of our approach against other models in Section V, and discuss the threats to validity of our work in Section VI. Conclusions are drawn and future work is described in Section VII.

    II. RELATED WORK

    In this section, we introduce the typical early reliability model first, and then present the method we utilized to apply the model.

    A. Structure-Based Reliability Model

    In the early stage of software development, the traditional reliability model is not available due to lack of failure data. A class of structure-based models work for this [1]-[3]. The most popular one is the DTMC (discrete time Markov chain)model [6]. Here is an example of the ESA’s (European space agency) control system software [28]. It contains four main components (N1toN4), and the control transfer between components as shown in Fig. 1.

    Correspondingly, we have a one-step stochastic transfer matrix as follows:

    Fig. 1. The ESA software architecture.

    The entryQi,jrepresents the transition probability from stateitojin the Markov process. Here,Qi,j=R1P1,2, reflects the probability that the system execution state is transferred fromN1toN2in one step, which equals to the product of reliabilityR1and the transfer probabilityP1,2.R1expresses the probability of executingN1successfully. Each componentNimay fail with the probability 1-Ri, and each component failure causes system failure. This is a failure independent hypothesis for this model.

    The powerQnof the matrixQis defined as ann-step stochastic transfer matrix whose entryQi,jnreflects the transition probability from stateitojinnsteps. The Neumann series of matrixQis

    whereIis the identity matrix. LetN1be the starting module andN4the ending module. The entryS1,4in matrixSdescribes the transition probability fromN1toN4through all possible steps. Then the system reliability can be expressed as the probability of successfully reachingN4and successfully executingN4, which can be calculated by

    This model emphasizes the influence of structural changes on overall reliability from the perspective of control flow.Subsequent improvements have been proposed on this basis.

    B. Algebraic Method

    The DTMC model is built around the control transfer relationship between components. However, the reality is that designers seldom use it to represent the system architecture,and module developers only generate control flow graphs at the method-level. For this we have provided an easy-to-use method in our previous studies [29]. In general, we use an algebraic paradigm instead of graphical expression for higher abstraction. The transfer relationshipN1→N2in Fig. 1 is expressed asN1⊕N2, where the operator ⊕ denotes that the basic control transfers between components are motivated[30]. So Fig. 1 can be expressed as a set as follows:

    This solves the problem that where the system structure is too complicated for graphic expressions. Especially, when components are designed as a coupling substructure, such as parallel, it is naturally solved by adding an operator in algebra.We can even express the nesting of structures by bracketing them.

    We propose a parser which left-to-right scan and rightmost derivate (LR) each expression in the collection as above. The following functions are used in the parser algorithm:

    where C is a collection of components, S is a collection of state nodes. This series off? for different algebraic expressions are used to generate system state nodes which contains reliability attributes, and mark them on the transition matrixQ. The elements in the matrix are constantly updated in the scan. When the scan is complete, the matrix can be directly applied to (2).

    This formal method can be easily instrumentalized to facilitate engineers. In the simulation study, it performed well.We summarize the above method as a process framework, as shown in Fig. 2.

    Fig. 2. A framework for automatically applying DTMC.

    III. EXPERIMENTAL DESIGN

    Properties of the research object and its experimental data are explained in detail. Some methods are applied to reasonably preprocess and aggregate metric data. And the improved framework is used to calculate the overall reliability.

    A. Research Object

    We select the open source project jEdit [31] as the research object. jEdit is a mature programmer’s text editor with hundreds of person-years of development behind it. It is written in Java and runs on any operating system with Java support. This project is in proper scale, and it is representative for development technology.

    The current version is set as jEdit 4.3. It is because that the metric data of jEdit in the PROMISE repository [32] contains version 3.2.1 to version 4.3. Although version 4.3 is not the last stable version, it does not affect the universal property of this study since there is no fundamental change in higher versions. We consider ourselves as developers and designers,so we can get the necessary information of structure from thedesign document or source code. This information includes packages, files, and classes, as listed in Table I.

    TABLE I THE STRUCTURAL INFORMATION OF JEDIT 4.3

    Here we define the granularity of structural module analysis at the package-level, and the corresponding level can be found in other language environments. It needs to be based on the previous version when we are seeking detailed module information at the design stage. It usually works because of the limited changes in modules between versions. As the coding continues, we can continuously adjust the changes to the files and classes of the modules. The final structure information of version 4.3 is as described in Table I, and the metrics are based on this.

    B. Metric Data Processing

    The PROMISE library includes nearly thirty metrics for jEdit. We use three main categories— traditional metrics,object-oriented (OO) metrics, and process metrics — to describe the metric data. The data are summarized at the method-level, class-level and file-level respectively [33], and the developer can easily collect them via the specified tools.At the method-level, the number of lines of code (LOC) and the cyclomatic complexity (CC) [34] are still suitable for code analysis inside a class, which existed before object-oriented programming appeared. The CK set [35] has a wide range of applications, but there are also metrics that emphasize perspectives such as encapsulation, coupling, etc. [36]. The eight metrics recommended by Moseret al. [37] have typical process characteristics, and are further improved in the MJ set [38].

    Simple data sampling is not used in this paper. For early reliability analysis, the initial metric data needs to be cleaned to highlight the structural characteristics of the metric elements. We use the following method:

    1) The process metric elements (from Moser and MJ set) do not apply to static analysis for the target version. This work only uses traditional metrics and OO metrics.

    2) The remaining 20 metrics are divided into five categories: complexity, coupling, cohesion, inheritance and size. We use Spearman’s coefficient [39] to measure correlation in 5 subsets. The data is not required to follow any particular distribution in the state of Spearman correlation,and it ranges from -1 to +1 where a larger absolute value indicates the stronger correlation. Table II shows the calculation results (e.g., the coupling metrics).

    Absolute values of more than 0.5 have relevance and values of more than 0.8 have high correlation. Observe that there are redundant metrics that can be removed to further simplify calculations. According to the CFS algorithm of attribute selection [40], one metric with relatively high relevance is

    TABLE II CORRELATION OF THE COUPLING METRICS

    selected as a main feature in each category. The maximum cyclomatic-complexity (MAX_CC), coupling between object classes (CBO), cohesion among methods (CAM), depth of inheritance tree (DIT), and response for a class (RFC) are finally selected elements as representative for the five categories separately. It ensures that subsequent calculations which can characterize 5 different characteristics instead of examining correlations across all metrics. Table III lists the data we actually used in this research when deal with the browser module in Table I.

    TABLE III THE METRIC DATA USED IN THIS RESEARCH

    C. Aggregation Scheme

    The metric data are only collected at the class-level. It is necessary to propose a descriptive scheme to aggregate the final value of software system reliability. We suggest a twostep frame and the details are presented as follows.

    Step 1:To establish a functional relationship between metrics and degree of reliability in order to calculate module reliability value.

    We define the degree of reliability influence, which is similar to the definition in [25]. LetRImirepresent influence of the metric scalarmi. It is calculated by

    wheredpcindicates the number of defect prone classes atmi,andmcindicates the number of classes contained in one module. Notice thatRIis only calculated in one module, since the coding style of each module may not be consistent. The range of scalarmiincludes all samples of the specified metric element. Table IV listsmi,dpc, andRImiof 5 metric elements in the module browser, whenmc= 10.

    It is observed from Table IV thatdpcis counted for eachmiper elements, and eachmivalue is a sample of the metric space. The counting method ofdpcis summarized as: If the class, which is associated with the specific value ofmiat one metric element, a) is submitted with a bug in the previous version,dpc←dpc+ 1; b) or is newly developed andmiexceeds threshold,dpc←dpc+ 1.

    The thresholds of RFC(222), CBO(24), and DIT(6) refer to the NASA standard [41]. The threshold of CC(15) is derived from [34], and the threshold of CAM(0.50) comes from [38].

    In general, lower metric value means higher reliability. But it cannot be concluded that there is a linear correlation between metric value and reliability influence. We use polynomial regression to estimate the relationship between the two, because of changes of software reliability mostly in the form of curves. As an example, the functional estimation equations of the browser module are

    wherea,b,c,d,eare the independent variables in each fitting function. According to the average value of metrics listed in Table IV, the five degree of reliability influence in the browser module can be calculated as:RIRFC(89.4) = 90.941,RIMAX_CC(13.3) = 91.330,RICAM(0.335) = 96.414,RICBO(22.0) = 92.744,RIDIT(4.5) = 78.600.

    Aggregation strategy can significantly alter correlations between software metrics and the defect count. Zhanget al.[27] indicate that the summation strategy can often achieve the best performance when constructing models predict defect rank or count. Although the perspectives of defect prediction and reliability evaluation are different, they are effectively the same in terms of the use of metrics. The difference is that the former focuses on the situation after the current version, and the latter focuses on the current developing version.Therefore, in this paper, we use the summation strategy to calculate the reliability degree of the individual module according to the reliability influence of each factor. It is calculated as

    whereriis weight of theith metric element. Since the five metrics used in this paper are pre-screened to represent a logical category, they are considered equally important. Letri= 1/n= 1/5, where reliability of the browser module is 90.006(%) after the weighted summation.

    Step 2:To establish the structural reliability model according toRmodule.

    In the software design and development phase, reliability engineering often needs to be carried out by architects andcoders. The module developer calculatesRmoduleby counting the related metrics. One can gather this information of all modules to aggregate into system reliability.

    TABLE IV THE RI STATISTICS IN THE BROWSER MODULE

    Here we use the formal method presented in Section II-B to establish the DTMC reliability model quickly and accurately.The method is based on algebraic expressions, which can accurately express the control transfer between modules instead of using graphical representation. In addition to the value ofRmodule, module developers are required to submit related expressions based on their understanding of the business. For the browser module (N1), the developers need to submit:

    Note that the expressionN1⊕N21replaces the directed arc of graph to describe the control transfer relationship betweenN1andN21. It indicates that further processing of the file system will go to the utility module (N21).

    A module developer can separately submit expressions that confirm design intent, which formally starts with the developing module and links all possible next modules in the control flow. In some cases, architects can also submit or modify expressions based on overall understanding. As a description of the structure, algebraic expressions are precise and unambiguous. They are lightweight and easy to use for engineers. One can do this at the same time as designing and coding, without any distractions in describing the whole system.

    Eventually, an expression set can be collected which contains two key parameters required for the DTMC model —RiandPij.Ricomes from the submitted information which is usually attached to a concrete expression. Transfer probabilityPij, which is indicated byNi⊕Nj, is equally divided by all possible transfers from moduleNi. The LR parser presented in Section II-B can calculatePijautomatically during scanning.

    Finally, as an improvement to Fig. 2, the new framework is proposed as Fig. 3.

    Fig. 3. The improved framework for empirical research.

    IV. RESULTS

    This section provides our experimental results. We focus on findings from actual application of methods in Section III, and answer the research questions presented in Section I.

    RQ1:How to determine the appropriate structure granularity in order to apply the corresponding metrics to reliability analysis?

    In general, software design has the characteristics of modularization, which is advantageous to the maintenance of projects and the deployment of resources. Early reliability analysis can only start with the structure of the software system. The structural characteristics are represented by the relationships between modules. This requires selecting the appropriate module granularity. In this paper, we suggest that Java OO projects should be analyzed at the package-level. The corresponding granularity of other types of OO projects can be found in the directory structure and design documents.

    Table I lists the module division of jEdit. Some modules of version 4.3 do not exist in previous versions, and some have changed in later versions. However, analysis at the packagelevel can cover all relevant metrics collected at the method- or class-level. Different packages show significant differences in metrics due to the diversity of functionality and developer. We randomly choose eight out of 23 modules, and present boxplots of them under the five selected metrics. As shown in Fig. 4, the distributions of metric data are obviously different,and most of them are different from the entire distribution. It shows that the coding style of each module is different, i.e.,the quality of each module in the same software is also different. Furthermore, the life cycle and application scope of many components (packages in java projects) goes beyond the project itself. E.g., “util” and “xml”, which are independent of jEdit’s main business, came from or could be used for other projects. Therefore, we think that for each different module,the reliability influence from its metric data should be analyzed separately. And then the reliability data of all modules should be integrated with a specific structural analysis method.

    Fig. 4. Boxplots of 5 metric values resourced from eight modules and whole.

    RQ2:How to evaluate the reliability of a software?

    We calculate the reliability value of a single module based on (6) and (8). Table V lists the reliability degree for all modules in 4 versions of the jEdit project. Note that version 4.3 is the last version in PROMISE repository, and it is also the one set for the current review. The first version 3.2.1 is discarded because we need to trace back a version for countingdpcin (6).

    Fig. 5 presents the boxplots of the numerical results in Table V.It shows that statistically, the overall distribution gradually increases as the version changes. It can be seen from the diagram that most module reliability values increase as the version changes. This is in line with the expectation that the module quality will improve as more bugs are fixed. From the perspective of structural analysis, we still want to estimate a specific value to reflect the overall reliability of software.

    With version 4.3 as the goal, module developers should present the relationship between this module and other modules in addition toRmodule, which can be described conveniently by algebraic expressions. Then, the expression set of {N12⊕N3,N12⊕N6,N12⊕N19, …} can be collected.ExpressionN23⊕Cshould be added into the collection in order to facilitate model calculation, which means the requirement of business termination is only initiated by the core moduleN23.Cis the ending node and its reliability value is 100%. Thestarting module isN12, which means that the message occurs when the business is coming.

    TABLE V THE RMODULE VALUES IN DIFFERENT VERSIONS OF JEDIT

    Fig. 5. Boxplot of reliability degree in all modules among four versions.

    We also set up an expression set for three other versions,and use the Fig. 3 framework to automate the overall software reliability calculation. Fig. 6 shows the results. To illustrate the effectiveness of the proposed method, two traditional growth models: the classical G-O model [8] and Huang’s testeffort model [42] are used as comparisons. In this work, we follow the common practice in empirical research of SRGMs[16]-[19], where the failure data is extracted from the bug reports. This is under basis of the following assumptions: 1)Confirmed bugs cause failures; 2) Each failure is independent;3) Fixing bugs will not introduce new bugs. According to the reports obtained from the official website of jEdit [31],version 4.0 has 226 closed bugs within 215 days since the previous release. The G-O model use a statistical process based on this failure intensity, and the prediction result at the release time of jEdit 4.0 is 88.736%. Version 4.1 has 167 closed bugs within 407 days, and the prediction result is 89.413%. The data for versions 4.2 and 4.3 show that there are 106 bugs within 557 days and 12 bugs within 1848 days. The prediction results are 92.185% and 96.587%,respectively.Furthermore, as suggested in [42], the cumulative interval is used here as the test-effort which is available from the detailed entry of each bug in the report. The prediction results of Huang model across the four versions are 90.156%, 91.142%,92.868% and 96.224%, respectively.

    Fig. 6. Reliability trends on four versions of jEdit.

    V. DISCUSSION

    A. Characteristics of Early Reliability Modeling

    Unlike SRGMs, early reliability modeling only relies on structural analysis of software system. As mentioned in the first section, the modeling parameters come from a single software module and the relationship between modules.Therefore, it is meaningless to compare the predictive performance with a class of models based on failure data.Most reliability-prediction models, such as SRGMs, are utilized to optimize the release strategy to achieve a balance between quality and test costs. But the significance of the early model is to optimize the structure and guide the test.

    We show the trend of changes in the results of the proposed method in Fig. 6, and also use two representative models to illustrate the correctness. It should be explained that the calculation of each version of this method can be performed at the design stage. And based on the framework in Section IIIC, the calculation process is automatically complemented by tools. This means that the reliability evaluation can be carried out at any time with structural design changes. It helps decrease the difficulty of applying the structural reliability model into practice.

    As shown in Fig. 6, the numerical values evaluated by the proposed method (87.267%, 87.184%, 89.381%, 94.223%)are lower than by the traditional models. This is because calculations based on metric data can magnify the impact of defect-prone classes. For the calculation of defect tendency,the method of this paper tends to be conservative.Correspondingly, the SRGMs which are based only on test data assume that the reliability curve increases with bugs fixing. Their evaluations are relatively optimistic in general.

    B. Sensitivity Analysis

    The influence of software local structure on reliability can be analyzed through sensitivity. This effect can only be manifested in the computation of the structural reliability model. As shown here jEdit 4.0 is upgraded to 4.1. The result,which differs from the traditional models’, appears to be slightly reduced. By partially fixing pre-existing defects, new versions can also have reduced reliability with the introduction of new modules and features (such asN7in jEdit 4.1).

    We use the criticality to analyze sensitivity. It is computed by the following formula:

    where ΔRiis the reliability increment of moduleNi, ΔRsysis the overall reliability increase corresponding to this increment.In fact, when the ΔRiis very small, we useCiinstead of the partial derivative, i.e., the criticality of moduleNiis an approximate value of the module sensitivity. However, in terms of computational complexity, computing criticality is much better than computing sensitivity. The sensitivity(partial derivative) onRican only be solved based on cofactor expansion, which leads to a geometric increase in computational time and space when the total number of modules grows. In contrast, (9) can be calculated automatically by the proposed framework in Fig. 3.

    For jEdit 4.3, we set a small negative increment of 0.005 for all module reliability. Fig. 7 shows theCicorresponding to each change of ΔRi. It can be seen that the reliability sensitivity of core moduleN23and message moduleN12are significantly higher than others. This conforms to the expectation of actual control flow at design stage. And this means that later testing on such modules will help significantly improve the overall reliability of software.However, some modules (such asN18) are not considered to be the important nodes in structure because they only interact with very few modules. These may not be the goals that reliability engineering needs to focus on.

    VI. THREATS TO VALIDITY

    1)Project Selection:In this work, the open source project jEdit is selected. In addition to using metrics, we need to analyze the software structure and apply a complex evaluation framework. We only discussed one project because of space constraints.

    Fig. 7. Analysis of reliability sensitivity of modules in jEdit 4.3.

    The threat to our treatment mainly arises from applicability of our method on other OO projects. Metric data can be obtained from public repositories, but also can be directly calculated from the source code. Structural information can be analyzed from design documents and source codes. We believe that the applicability of the proposed method is not a problem. Furthermore, it is recommended that non-java projects should be tested using our approach and the results may be slightly different.

    2) Metrics and Techniques Selection:These metrics and its classification we used are popular and commonly investigated in defect prediction literature. With the same kind of metrics,correlation analysis technique is used to eliminate redundant impacts. A study on more correlation analysis techniques is required. In addition, the DTMC model used in this paper is the most important structural analysis model at present. The proposed framework uses formal techniques to show the application of this model. Formal techniques have been fully elaborated and verified in our previous studies. We will provide an open-source implementation of analytical algorithms online. Replication studies using different early reliability models, such as CTMC, to utilize this framework and may prove fruitful.

    VII. CONCLUSION

    Although there are many practical difficulties in reliability analysis and evaluation of software projects in early development, the calculation results from the reliability model can provide reference for the optimization of software architecture design. By analyzing the software structure, we find the sensitive modules that affect the overall reliability,which provides a practical basis for subsequent reliability distribution and stress testing. Theoretical research of structure-based software reliability models has been studied extensively, but the biggest obstacle to its further development is determining how to apply it to practical projects.

    Our main work is to provide a complete solution for early reliability evaluation. We first give a method for processing metric data and aggregating it into module reliability. Then we propose a process framework, which automatically calculates the overall reliability value based on module parameters and expression forms. Using a series of different methods, our research shows the implementation of a structural reliability model in practical projects. Evaluation of an OO project shows that we can get an approximating result vs. traditional models which are based on software failure data. It provides new ideas and methods for the empirical research of reliability.

    The work is original and operable in the selection and aggregation of software metric data and the practice of structural analysis model. The next steps of research will be continued in two areas:

    1) Consider establishing a functional relationship between metrics and reliability on more metric elements. The fitting method of the function is not limited to one but also, selects the appropriate method according to different modules and developers, such as Stepwise Regression and Ridge Regression.

    2) Defect prediction Technology continues to show new results. In addition to the traditional methods, a method using random neural networks (RNN) has recently been proposed,and the results are good. This prediction model is established on the time axis and describes the evolution of each software module. We will consider the use of better-performing solutions in the prediction of defect-prone classes to improve the reliability evaluation of modules.

    在线视频色国产色| 久久久国产成人免费| 欧美日韩亚洲国产一区二区在线观看| 老司机深夜福利视频在线观看| 国产午夜福利久久久久久| 国产精品久久久av美女十八| 免费观看人在逋| 热99re8久久精品国产| 91大片在线观看| 免费无遮挡裸体视频| 2021天堂中文幕一二区在线观 | 久久久久久亚洲精品国产蜜桃av| 制服人妻中文乱码| 侵犯人妻中文字幕一二三四区| 欧美在线黄色| 一个人观看的视频www高清免费观看 | 日韩免费av在线播放| 久久久久久久久久黄片| 在线观看午夜福利视频| 欧美大码av| 老司机在亚洲福利影院| 男女下面进入的视频免费午夜 | 可以在线观看毛片的网站| 一级a爱视频在线免费观看| 久久国产精品男人的天堂亚洲| 听说在线观看完整版免费高清| 一级作爱视频免费观看| 亚洲精品av麻豆狂野| 亚洲精品国产区一区二| 欧美激情 高清一区二区三区| 男女视频在线观看网站免费 | 国产亚洲精品av在线| 大型黄色视频在线免费观看| 日韩视频一区二区在线观看| 十分钟在线观看高清视频www| 色综合婷婷激情| 18禁观看日本| 久久久精品欧美日韩精品| 亚洲成人久久爱视频| 久久久久久久久免费视频了| 欧美一区二区精品小视频在线| 波多野结衣高清作品| 桃红色精品国产亚洲av| 91老司机精品| 午夜福利高清视频| 国产精品九九99| 后天国语完整版免费观看| 日韩欧美国产在线观看| 999精品在线视频| 亚洲久久久国产精品| 在线观看免费日韩欧美大片| 国产激情偷乱视频一区二区| 此物有八面人人有两片| 精品国产乱码久久久久久男人| e午夜精品久久久久久久| 中文字幕高清在线视频| 91字幕亚洲| 国产三级黄色录像| 亚洲欧美激情综合另类| 两性午夜刺激爽爽歪歪视频在线观看 | 国产成人系列免费观看| 久久久久久久精品吃奶| 午夜成年电影在线免费观看| 亚洲人成网站在线播放欧美日韩| 18禁国产床啪视频网站| 久久久国产成人免费| 欧美最黄视频在线播放免费| av中文乱码字幕在线| 国产精品精品国产色婷婷| 99久久精品国产亚洲精品| 亚洲国产欧美网| 嫩草影视91久久| 亚洲av日韩精品久久久久久密| 久久久国产成人免费| 日日爽夜夜爽网站| 午夜福利在线在线| 免费人成视频x8x8入口观看| 欧美大码av| 亚洲三区欧美一区| 女性生殖器流出的白浆| 热99re8久久精品国产| 黑人操中国人逼视频| 免费看a级黄色片| 免费看美女性在线毛片视频| 亚洲一区高清亚洲精品| 一本大道久久a久久精品| 无遮挡黄片免费观看| 18禁美女被吸乳视频| 亚洲第一欧美日韩一区二区三区| 欧美精品亚洲一区二区| 久久天堂一区二区三区四区| 中文字幕人妻熟女乱码| 久久精品亚洲精品国产色婷小说| 一a级毛片在线观看| 啪啪无遮挡十八禁网站| 伦理电影免费视频| 久久精品人妻少妇| 久久精品国产亚洲av高清一级| 久久香蕉精品热| 国产蜜桃级精品一区二区三区| www.www免费av| 黄片播放在线免费| 久久精品人妻少妇| 亚洲国产精品成人综合色| √禁漫天堂资源中文www| 精品不卡国产一区二区三区| 亚洲男人天堂网一区| 欧美人与性动交α欧美精品济南到| 成人欧美大片| 村上凉子中文字幕在线| 麻豆av在线久日| 男女那种视频在线观看| 好男人电影高清在线观看| 国产一区二区三区在线臀色熟女| 欧美黄色淫秽网站| 老熟妇乱子伦视频在线观看| 少妇被粗大的猛进出69影院| 国产精华一区二区三区| 日日夜夜操网爽| 久久欧美精品欧美久久欧美| 国产成人精品无人区| 国产久久久一区二区三区| 亚洲人成网站在线播放欧美日韩| 亚洲熟妇熟女久久| 日韩一卡2卡3卡4卡2021年| 欧美性长视频在线观看| 国产精品二区激情视频| www国产在线视频色| 国语自产精品视频在线第100页| 1024香蕉在线观看| 很黄的视频免费| 日韩国内少妇激情av| 男女下面进入的视频免费午夜 | 国产精品国产高清国产av| 欧美午夜高清在线| 很黄的视频免费| 在线十欧美十亚洲十日本专区| 一区福利在线观看| 操出白浆在线播放| 国产精品98久久久久久宅男小说| 琪琪午夜伦伦电影理论片6080| 国产视频内射| 曰老女人黄片| 欧美日韩中文字幕国产精品一区二区三区| 亚洲男人的天堂狠狠| 午夜两性在线视频| 久久中文字幕人妻熟女| 久久人妻av系列| 日本免费一区二区三区高清不卡| 欧美黑人巨大hd| 亚洲欧美日韩高清在线视频| 巨乳人妻的诱惑在线观看| 久久久久国内视频| 亚洲午夜理论影院| 日韩欧美三级三区| 久久草成人影院| 精品不卡国产一区二区三区| 欧美日韩亚洲综合一区二区三区_| 亚洲av电影不卡..在线观看| 亚洲专区中文字幕在线| 亚洲精华国产精华精| 脱女人内裤的视频| 一a级毛片在线观看| 欧美乱妇无乱码| 色综合婷婷激情| 国产一区在线观看成人免费| a在线观看视频网站| 久久国产亚洲av麻豆专区| 18禁黄网站禁片免费观看直播| 18禁裸乳无遮挡免费网站照片 | 精品乱码久久久久久99久播| 国产麻豆成人av免费视频| 超碰成人久久| 变态另类丝袜制服| 欧美中文综合在线视频| 亚洲精品中文字幕在线视频| 欧美在线一区亚洲| 一级毛片高清免费大全| 色综合亚洲欧美另类图片| 国产熟女午夜一区二区三区| 又黄又爽又免费观看的视频| 他把我摸到了高潮在线观看| 最新在线观看一区二区三区| 在线观看免费视频日本深夜| 欧美日韩乱码在线| 怎么达到女性高潮| 美女大奶头视频| 一本久久中文字幕| 国产伦一二天堂av在线观看| 久久天堂一区二区三区四区| 国产亚洲欧美98| 一级a爱视频在线免费观看| 国产精品九九99| 人妻久久中文字幕网| 999久久久精品免费观看国产| 欧美性猛交╳xxx乱大交人| 日韩欧美在线二视频| 午夜视频精品福利| 亚洲熟妇熟女久久| 可以在线观看的亚洲视频| 怎么达到女性高潮| 精品不卡国产一区二区三区| 国产不卡一卡二| 中文字幕另类日韩欧美亚洲嫩草| 老司机午夜十八禁免费视频| 九色国产91popny在线| 黑人巨大精品欧美一区二区mp4| 国产私拍福利视频在线观看| 日韩高清综合在线| 欧美性长视频在线观看| 久久久久久大精品| 人人澡人人妻人| 日韩欧美国产一区二区入口| 国产蜜桃级精品一区二区三区| 在线观看午夜福利视频| 日韩欧美在线二视频| 日本熟妇午夜| 国产精品久久久久久精品电影 | 搡老岳熟女国产| 91国产中文字幕| 欧美乱码精品一区二区三区| 波多野结衣高清作品| 欧美一级毛片孕妇| 婷婷精品国产亚洲av在线| 久久精品91无色码中文字幕| 一本综合久久免费| АⅤ资源中文在线天堂| 国产国语露脸激情在线看| 免费一级毛片在线播放高清视频| 亚洲成人免费电影在线观看| 精品乱码久久久久久99久播| 国产成人影院久久av| 成人亚洲精品av一区二区| 99久久99久久久精品蜜桃| 日本免费一区二区三区高清不卡| 88av欧美| 麻豆国产av国片精品| 免费观看精品视频网站| 午夜视频精品福利| 国产精品自产拍在线观看55亚洲| 国产视频内射| 侵犯人妻中文字幕一二三四区| 哪里可以看免费的av片| av福利片在线| www国产在线视频色| 一本综合久久免费| 久久狼人影院| 丝袜人妻中文字幕| 脱女人内裤的视频| av中文乱码字幕在线| 欧美日韩福利视频一区二区| 欧美 亚洲 国产 日韩一| 巨乳人妻的诱惑在线观看| 成年人黄色毛片网站| 91九色精品人成在线观看| www日本黄色视频网| 亚洲人成77777在线视频| 精品欧美一区二区三区在线| 日本熟妇午夜| 一进一出好大好爽视频| 中亚洲国语对白在线视频| 亚洲第一电影网av| 成年版毛片免费区| 久久精品国产亚洲av香蕉五月| 亚洲欧美一区二区三区黑人| 在线av久久热| 欧美国产精品va在线观看不卡| 久久久国产欧美日韩av| 国产精品av久久久久免费| 在线观看免费午夜福利视频| 黄色毛片三级朝国网站| 中文亚洲av片在线观看爽| 99精品欧美一区二区三区四区| 久久性视频一级片| 精品第一国产精品| 成人av一区二区三区在线看| 色综合站精品国产| 老司机午夜福利在线观看视频| 少妇 在线观看| 琪琪午夜伦伦电影理论片6080| 久久天堂一区二区三区四区| 欧美在线黄色| 最近在线观看免费完整版| 少妇熟女aⅴ在线视频| 一二三四社区在线视频社区8| 免费在线观看成人毛片| 激情在线观看视频在线高清| 亚洲av成人av| 亚洲成国产人片在线观看| 国产精品国产高清国产av| 国产91精品成人一区二区三区| 久久久精品国产亚洲av高清涩受| 亚洲最大成人中文| 日韩欧美一区二区三区在线观看| 亚洲人成电影免费在线| 搞女人的毛片| 欧美黄色片欧美黄色片| 久久久精品国产亚洲av高清涩受| 久久久久久久久中文| 日本免费一区二区三区高清不卡| or卡值多少钱| 国产日本99.免费观看| 亚洲自偷自拍图片 自拍| 一区福利在线观看| 免费看十八禁软件| 精品久久久久久久久久免费视频| 久久久久久免费高清国产稀缺| 国产精品九九99| 亚洲成人久久爱视频| 久久 成人 亚洲| 99国产极品粉嫩在线观看| 少妇裸体淫交视频免费看高清 | 国产亚洲av嫩草精品影院| 欧美激情久久久久久爽电影| 国产成人精品无人区| 亚洲专区字幕在线| 黄频高清免费视频| 欧美性长视频在线观看| 满18在线观看网站| 女性被躁到高潮视频| 99国产综合亚洲精品| 男男h啪啪无遮挡| 99在线人妻在线中文字幕| 最近最新中文字幕大全电影3 | 两人在一起打扑克的视频| 日韩欧美 国产精品| 香蕉国产在线看| 亚洲熟女毛片儿| 老鸭窝网址在线观看| 欧美日韩瑟瑟在线播放| 欧美成人性av电影在线观看| 岛国在线观看网站| 国产成人精品久久二区二区91| 久久精品亚洲精品国产色婷小说| 香蕉丝袜av| 91在线观看av| 国内毛片毛片毛片毛片毛片| 人人妻人人看人人澡| 国产精品日韩av在线免费观看| 欧美最黄视频在线播放免费| 国产三级黄色录像| 亚洲国产欧美网| 久久久国产精品麻豆| 欧美最黄视频在线播放免费| 国产精品日韩av在线免费观看| 免费在线观看日本一区| 久久久久久国产a免费观看| 一级毛片女人18水好多| 国产精品九九99| 国产99久久九九免费精品| 国产精品一区二区三区四区久久 | avwww免费| 老司机福利观看| 一级a爱片免费观看的视频| 亚洲成a人片在线一区二区| 亚洲精品在线观看二区| 国产97色在线日韩免费| 国产精品久久久av美女十八| 精品久久久久久成人av| 两个人免费观看高清视频| 国产成人啪精品午夜网站| 国产真人三级小视频在线观看| 在线av久久热| 亚洲国产看品久久| 日本在线视频免费播放| 18禁国产床啪视频网站| 欧美一级a爱片免费观看看 | 亚洲人成电影免费在线| 国产精品久久久久久亚洲av鲁大| 国产97色在线日韩免费| 精品国产一区二区三区四区第35| 熟女少妇亚洲综合色aaa.| 精华霜和精华液先用哪个| 精品欧美一区二区三区在线| 久久亚洲精品不卡| 色尼玛亚洲综合影院| 久久精品夜夜夜夜夜久久蜜豆 | 欧美一级a爱片免费观看看 | 很黄的视频免费| 午夜福利在线在线| 可以免费在线观看a视频的电影网站| 亚洲国产毛片av蜜桃av| 人妻久久中文字幕网| 在线观看一区二区三区| 伦理电影免费视频| 波多野结衣高清作品| 中文字幕久久专区| 90打野战视频偷拍视频| 女人爽到高潮嗷嗷叫在线视频| 99国产综合亚洲精品| 亚洲专区字幕在线| 久久亚洲真实| 午夜两性在线视频| 别揉我奶头~嗯~啊~动态视频| 久久久久久九九精品二区国产 | 亚洲午夜理论影院| 男女之事视频高清在线观看| 国产精品99久久99久久久不卡| 亚洲国产欧美一区二区综合| 亚洲五月色婷婷综合| 男人的好看免费观看在线视频 | 国产精品美女特级片免费视频播放器 | xxx96com| 日韩三级视频一区二区三区| 9191精品国产免费久久| 欧美日韩乱码在线| 国语自产精品视频在线第100页| 色精品久久人妻99蜜桃| 国产一级毛片七仙女欲春2 | 日韩精品免费视频一区二区三区| 国产片内射在线| 国产私拍福利视频在线观看| 脱女人内裤的视频| 成在线人永久免费视频| 天天一区二区日本电影三级| 1024视频免费在线观看| 欧美日韩黄片免| 1024手机看黄色片| 日韩欧美 国产精品| 国产成人一区二区三区免费视频网站| 免费看a级黄色片| 成年女人毛片免费观看观看9| 中文字幕人成人乱码亚洲影| 中文在线观看免费www的网站 | 久9热在线精品视频| 午夜视频精品福利| 欧美丝袜亚洲另类 | 免费在线观看影片大全网站| 亚洲人成伊人成综合网2020| 国产一区在线观看成人免费| 久久午夜综合久久蜜桃| 美女高潮到喷水免费观看| 黑人操中国人逼视频| 亚洲欧美一区二区三区黑人| 日本成人三级电影网站| 中文字幕人妻熟女乱码| 色在线成人网| www.熟女人妻精品国产| 一二三四社区在线视频社区8| 一级作爱视频免费观看| 欧美亚洲日本最大视频资源| 在线看三级毛片| 精品久久久久久,| 亚洲精品国产一区二区精华液| 亚洲激情在线av| 啦啦啦观看免费观看视频高清| a级毛片a级免费在线| 搞女人的毛片| 日韩大码丰满熟妇| 大型黄色视频在线免费观看| 91麻豆av在线| 免费在线观看完整版高清| 看免费av毛片| 嫩草影院精品99| 又黄又爽又免费观看的视频| 91国产中文字幕| 大型黄色视频在线免费观看| 91麻豆av在线| 亚洲av美国av| 99久久99久久久精品蜜桃| 满18在线观看网站| 妹子高潮喷水视频| 97超级碰碰碰精品色视频在线观看| 搡老岳熟女国产| 级片在线观看| 国产亚洲欧美在线一区二区| 久久精品亚洲精品国产色婷小说| 18美女黄网站色大片免费观看| 老汉色∧v一级毛片| 97超级碰碰碰精品色视频在线观看| 亚洲国产看品久久| 50天的宝宝边吃奶边哭怎么回事| 叶爱在线成人免费视频播放| 免费在线观看视频国产中文字幕亚洲| 麻豆av在线久日| 每晚都被弄得嗷嗷叫到高潮| www国产在线视频色| 一进一出好大好爽视频| 成人精品一区二区免费| 一夜夜www| 一级黄色大片毛片| 99精品久久久久人妻精品| 久久久国产欧美日韩av| 亚洲天堂国产精品一区在线| 国产一区二区激情短视频| 超碰成人久久| 禁无遮挡网站| 国产精品久久久久久亚洲av鲁大| 亚洲精品国产一区二区精华液| 欧美黑人欧美精品刺激| 国产精品亚洲美女久久久| 亚洲五月天丁香| 老汉色∧v一级毛片| 最新在线观看一区二区三区| 亚洲激情在线av| 亚洲中文日韩欧美视频| 精品国产乱码久久久久久男人| 曰老女人黄片| 麻豆成人午夜福利视频| 搡老岳熟女国产| 黑人欧美特级aaaaaa片| 丝袜美腿诱惑在线| 老司机在亚洲福利影院| 久久午夜亚洲精品久久| 亚洲美女黄片视频| 天堂影院成人在线观看| a级毛片a级免费在线| 精品福利观看| 国产极品粉嫩免费观看在线| 亚洲国产看品久久| 亚洲 欧美一区二区三区| 日本免费a在线| 又紧又爽又黄一区二区| 非洲黑人性xxxx精品又粗又长| 亚洲片人在线观看| 久久国产亚洲av麻豆专区| 大型av网站在线播放| 欧美亚洲日本最大视频资源| 免费看日本二区| 国产私拍福利视频在线观看| 国产成人精品久久二区二区免费| 国产成人精品久久二区二区91| 午夜两性在线视频| 久久久久久亚洲精品国产蜜桃av| 黄片小视频在线播放| 亚洲av成人一区二区三| 国产精品 国内视频| 18禁观看日本| √禁漫天堂资源中文www| 琪琪午夜伦伦电影理论片6080| 欧美激情久久久久久爽电影| 中文字幕人妻熟女乱码| av欧美777| 日日夜夜操网爽| cao死你这个sao货| 日本免费一区二区三区高清不卡| 法律面前人人平等表现在哪些方面| 精华霜和精华液先用哪个| 怎么达到女性高潮| 久久久久久久精品吃奶| 亚洲专区中文字幕在线| 国产精品永久免费网站| 久久久精品欧美日韩精品| 又紧又爽又黄一区二区| 国产日本99.免费观看| 国产私拍福利视频在线观看| 美国免费a级毛片| 国产亚洲av嫩草精品影院| 日韩欧美国产一区二区入口| 国产精品亚洲av一区麻豆| 国产一区在线观看成人免费| 亚洲国产精品久久男人天堂| 亚洲成人国产一区在线观看| 免费在线观看日本一区| 国产三级黄色录像| 亚洲av片天天在线观看| 丝袜美腿诱惑在线| 国产精品国产高清国产av| 免费人成视频x8x8入口观看| 在线观看免费视频日本深夜| 亚洲色图 男人天堂 中文字幕| 12—13女人毛片做爰片一| 三级毛片av免费| 人人妻人人澡欧美一区二区| 精品久久蜜臀av无| 黄色女人牲交| 高潮久久久久久久久久久不卡| 久久久久久久午夜电影| 中文资源天堂在线| av视频在线观看入口| 一二三四在线观看免费中文在| 大香蕉久久成人网| 亚洲成人久久性| 日本撒尿小便嘘嘘汇集6| 国产一区在线观看成人免费| 高清在线国产一区| 亚洲成av片中文字幕在线观看| 国产激情偷乱视频一区二区| 俄罗斯特黄特色一大片| 激情在线观看视频在线高清| 嫁个100分男人电影在线观看| 久久久久久九九精品二区国产 | 亚洲欧美精品综合久久99| avwww免费| 亚洲成国产人片在线观看| 亚洲专区字幕在线| 久久久久久久精品吃奶| 在线观看免费视频日本深夜| 麻豆国产av国片精品| 2021天堂中文幕一二区在线观 | 嫩草影视91久久| 精品午夜福利视频在线观看一区| 久久天堂一区二区三区四区| 精品国内亚洲2022精品成人| 国产一区二区三区在线臀色熟女| 超碰成人久久| 十八禁人妻一区二区| 亚洲精品国产区一区二| 久久久精品国产亚洲av高清涩受| 美女午夜性视频免费| 精品久久久久久久久久久久久 | 99久久国产精品久久久| 亚洲第一av免费看| 久久久久精品国产欧美久久久| 男人舔女人下体高潮全视频| 制服人妻中文乱码| 亚洲国产精品999在线| 国产视频内射| 一区福利在线观看| 人人澡人人妻人| 久久久国产精品麻豆| 岛国在线观看网站| 欧美乱妇无乱码| 97碰自拍视频| 国产成人啪精品午夜网站|