• <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| 两性夫妻黄色片| 天天添夜夜摸| 国产成人av激情在线播放| 国产真人三级小视频在线观看| 老鸭窝网址在线观看| 亚洲国产日韩欧美精品在线观看 | 精品乱码久久久久久99久播| 免费看日本二区| 国产三级中文精品| 在线观看免费午夜福利视频| 亚洲精品久久国产高清桃花| 亚洲熟妇中文字幕五十中出| 日韩欧美 国产精品| 国产激情偷乱视频一区二区| 国产亚洲欧美98| 高清毛片免费观看视频网站| 人妻夜夜爽99麻豆av| 国产精品美女特级片免费视频播放器 | 一进一出好大好爽视频| xxxwww97欧美| 欧美日韩精品网址| 国产精品久久久人人做人人爽| 丰满人妻熟妇乱又伦精品不卡| 亚洲国产欧美人成| 亚洲av第一区精品v没综合| 国产亚洲av嫩草精品影院| 成年免费大片在线观看| 成人18禁高潮啪啪吃奶动态图| 一区二区三区国产精品乱码| 两性午夜刺激爽爽歪歪视频在线观看 | 色噜噜av男人的天堂激情| 免费av毛片视频| av有码第一页| 久久久久国内视频| 亚洲人成伊人成综合网2020| 亚洲av电影不卡..在线观看| 观看免费一级毛片| 国产成人精品久久二区二区免费| 欧美性长视频在线观看| 亚洲 欧美 日韩 在线 免费| 欧美+亚洲+日韩+国产| 久久中文看片网| 天天添夜夜摸| 嫁个100分男人电影在线观看| av片东京热男人的天堂| 色尼玛亚洲综合影院| 日韩欧美在线乱码| 欧美绝顶高潮抽搐喷水| 99久久久亚洲精品蜜臀av| 国产野战对白在线观看| 欧美日韩中文字幕国产精品一区二区三区| 嫁个100分男人电影在线观看| 校园春色视频在线观看| 亚洲成av人片在线播放无| 国内精品久久久久精免费| 精品第一国产精品| 怎么达到女性高潮| 老熟妇乱子伦视频在线观看| 亚洲专区中文字幕在线| 久久久久久久久久黄片| 久久久国产精品麻豆| 一本久久中文字幕| 日本三级黄在线观看| 精品国内亚洲2022精品成人| 精品一区二区三区视频在线观看免费| 精华霜和精华液先用哪个| 视频区欧美日本亚洲| 禁无遮挡网站| 精品久久蜜臀av无| 麻豆一二三区av精品| 在线观看66精品国产| 国产精品影院久久| 亚洲av美国av| 亚洲精品中文字幕一二三四区| 18禁黄网站禁片午夜丰满| 50天的宝宝边吃奶边哭怎么回事| 亚洲av五月六月丁香网| 亚洲av成人不卡在线观看播放网| 美女黄网站色视频| 亚洲国产欧美人成| 亚洲五月婷婷丁香| 99国产精品一区二区蜜桃av| 狂野欧美白嫩少妇大欣赏| 国产在线精品亚洲第一网站| 啦啦啦韩国在线观看视频| 在线观看66精品国产| 国产野战对白在线观看| 国产一区二区激情短视频| av超薄肉色丝袜交足视频| 免费看日本二区| 两个人看的免费小视频| 国产精品98久久久久久宅男小说| 日韩欧美精品v在线| 天堂动漫精品| 国产成人精品久久二区二区91| 18禁裸乳无遮挡免费网站照片| aaaaa片日本免费| 久久久精品国产亚洲av高清涩受| 观看免费一级毛片| 老熟妇乱子伦视频在线观看| 精华霜和精华液先用哪个| 国产一区二区三区在线臀色熟女| 欧美乱妇无乱码| 色精品久久人妻99蜜桃| 在线观看午夜福利视频| 首页视频小说图片口味搜索| 一级毛片精品| 黄色 视频免费看| 18禁黄网站禁片免费观看直播| 免费av毛片视频| 久久久水蜜桃国产精品网| 亚洲精品美女久久久久99蜜臀| 黄频高清免费视频| 别揉我奶头~嗯~啊~动态视频| 高清在线国产一区| 天天一区二区日本电影三级| 波多野结衣高清无吗| 亚洲成人国产一区在线观看| 亚洲av电影在线进入| 18美女黄网站色大片免费观看| 国产日本99.免费观看| 伦理电影免费视频| 免费在线观看视频国产中文字幕亚洲| 熟女电影av网| 97人妻精品一区二区三区麻豆| 国产精品日韩av在线免费观看| 免费看美女性在线毛片视频| 久久久久九九精品影院| 欧美一级毛片孕妇| 中文字幕久久专区| 亚洲一区中文字幕在线| 国产精品影院久久| 国产高清视频在线观看网站| 人成视频在线观看免费观看| 国产亚洲欧美98| 久久 成人 亚洲| 在线观看www视频免费| 久久这里只有精品中国| 在线观看美女被高潮喷水网站 | 国产精品一区二区三区四区免费观看 | 国产精品影院久久| 九九热线精品视视频播放| tocl精华| 日日夜夜操网爽| 日本五十路高清| 亚洲成人精品中文字幕电影| 一个人免费在线观看的高清视频| 可以在线观看的亚洲视频| 亚洲男人的天堂狠狠| 欧美精品啪啪一区二区三区| 欧美在线黄色| 视频区欧美日本亚洲| tocl精华| 精品久久久久久久久久久久久| 欧美 亚洲 国产 日韩一| 日韩欧美国产一区二区入口| 亚洲精品久久成人aⅴ小说| 国产精品免费一区二区三区在线| 亚洲欧美一区二区三区黑人| 三级毛片av免费| 亚洲在线自拍视频| 又紧又爽又黄一区二区| 在线观看一区二区三区| 国内毛片毛片毛片毛片毛片| 一进一出抽搐动态| 九色国产91popny在线| 少妇熟女aⅴ在线视频| 亚洲真实伦在线观看| 哪里可以看免费的av片| 欧美日韩一级在线毛片| 免费观看精品视频网站| 黑人巨大精品欧美一区二区mp4| 亚洲男人天堂网一区| 国产真实乱freesex| 亚洲国产中文字幕在线视频| 久久热在线av| 成人欧美大片| 亚洲全国av大片| 欧美性猛交黑人性爽| 热99re8久久精品国产| 精品久久久久久久人妻蜜臀av| 国产精品影院久久| 久久人妻福利社区极品人妻图片| 国产日本99.免费观看| 久久精品国产综合久久久| 妹子高潮喷水视频| 亚洲成人国产一区在线观看| 91国产中文字幕| 淫妇啪啪啪对白视频| 老司机深夜福利视频在线观看| 亚洲国产看品久久| 老鸭窝网址在线观看| 亚洲第一欧美日韩一区二区三区| 亚洲中文日韩欧美视频| 久热爱精品视频在线9| 亚洲真实伦在线观看| 色综合站精品国产| 后天国语完整版免费观看| 正在播放国产对白刺激| 亚洲国产精品合色在线| 久久人人精品亚洲av| 嫩草影院精品99| 桃色一区二区三区在线观看| 在线国产一区二区在线| www.自偷自拍.com| 十八禁网站免费在线| 男插女下体视频免费在线播放| 制服人妻中文乱码| 在线a可以看的网站| 久久99热这里只有精品18| 中亚洲国语对白在线视频| 日本三级黄在线观看| 哪里可以看免费的av片| 99在线视频只有这里精品首页| 精品国产乱子伦一区二区三区| 999久久久国产精品视频| 黄片小视频在线播放| 在线观看免费日韩欧美大片| 日韩欧美国产在线观看| 天堂av国产一区二区熟女人妻 | 高清毛片免费观看视频网站| 制服人妻中文乱码| 亚洲av成人不卡在线观看播放网| 欧美在线一区亚洲| 天堂影院成人在线观看| 国产亚洲av高清不卡| 亚洲国产欧洲综合997久久,| 亚洲人与动物交配视频| 搞女人的毛片| 亚洲男人天堂网一区| 桃色一区二区三区在线观看| 国产熟女xx| 国产精品香港三级国产av潘金莲| 后天国语完整版免费观看| 搡老熟女国产l中国老女人| 两个人免费观看高清视频| 麻豆av在线久日| 真人做人爱边吃奶动态| 亚洲全国av大片| 舔av片在线| 日本三级黄在线观看| 亚洲一区中文字幕在线| 麻豆国产97在线/欧美 | 在线观看舔阴道视频| 日韩精品青青久久久久久| 91成年电影在线观看| 少妇的丰满在线观看| 757午夜福利合集在线观看| 国产精品免费一区二区三区在线| 欧美成狂野欧美在线观看| 特大巨黑吊av在线直播| 小说图片视频综合网站| 国产欧美日韩精品亚洲av| 免费在线观看亚洲国产| 一区二区三区国产精品乱码| 国产男靠女视频免费网站| 国产精品,欧美在线| 欧美色视频一区免费| 久久精品国产综合久久久| 日本五十路高清| 久久天躁狠狠躁夜夜2o2o| 精品欧美一区二区三区在线| 午夜两性在线视频| 免费高清视频大片| 亚洲人成伊人成综合网2020| 老熟妇乱子伦视频在线观看| 天堂动漫精品| 亚洲成a人片在线一区二区| 在线a可以看的网站| 黄色视频不卡| 亚洲免费av在线视频| 亚洲最大成人中文| 少妇被粗大的猛进出69影院| 嫁个100分男人电影在线观看| 啦啦啦观看免费观看视频高清| 久久精品人妻少妇| 村上凉子中文字幕在线| 国产不卡一卡二| 99riav亚洲国产免费| 国产99久久九九免费精品| 日韩精品青青久久久久久| АⅤ资源中文在线天堂| av福利片在线| 亚洲午夜理论影院| www日本黄色视频网| 国产成人影院久久av| 两个人看的免费小视频| 色哟哟哟哟哟哟| 九九热线精品视视频播放| 国产精品亚洲av一区麻豆| 欧美最黄视频在线播放免费| 国产人伦9x9x在线观看| 国产99白浆流出| 亚洲无线在线观看| 欧美日韩亚洲国产一区二区在线观看| 精品不卡国产一区二区三区| www.999成人在线观看| 女人被狂操c到高潮| 日本成人三级电影网站| 女生性感内裤真人,穿戴方法视频| 在线看三级毛片| 亚洲色图av天堂| 国产91精品成人一区二区三区| 在线观看免费午夜福利视频| 天天一区二区日本电影三级| 亚洲免费av在线视频| 免费在线观看视频国产中文字幕亚洲| 国产主播在线观看一区二区| 中文字幕熟女人妻在线| 日韩三级视频一区二区三区| 亚洲人与动物交配视频| 欧美激情久久久久久爽电影| 精品国产美女av久久久久小说| 久久性视频一级片| 亚洲 欧美一区二区三区| av中文乱码字幕在线| 一夜夜www| 国产成人啪精品午夜网站| 三级国产精品欧美在线观看 | 久久久久久久久久黄片| 国产成人av教育| 亚洲一区中文字幕在线| 99精品欧美一区二区三区四区| tocl精华| 国产伦一二天堂av在线观看| 一a级毛片在线观看| 欧美乱妇无乱码| 91九色精品人成在线观看| 男女做爰动态图高潮gif福利片| 精品欧美国产一区二区三| netflix在线观看网站| 久久这里只有精品中国| 欧美人与性动交α欧美精品济南到| 一本大道久久a久久精品| 亚洲男人天堂网一区| 国产视频内射| 国产精品亚洲一级av第二区| 久久中文看片网| 欧美色视频一区免费| x7x7x7水蜜桃| 日韩国内少妇激情av| 视频区欧美日本亚洲| 丰满人妻熟妇乱又伦精品不卡| 人人妻人人澡欧美一区二区| 黄色视频,在线免费观看| 亚洲av美国av| 国产亚洲欧美98| 在线观看66精品国产| 久久久国产精品麻豆| 欧美一级毛片孕妇| 每晚都被弄得嗷嗷叫到高潮| 夜夜爽天天搞| 午夜日韩欧美国产| 午夜a级毛片| 高清毛片免费观看视频网站| 欧美 亚洲 国产 日韩一| 中文资源天堂在线| 美女午夜性视频免费| 男女午夜视频在线观看| 国产精品亚洲一级av第二区| 免费观看人在逋| 精品久久久久久久久久久久久| 此物有八面人人有两片| 亚洲av熟女| 窝窝影院91人妻| 丁香欧美五月| 麻豆国产av国片精品| 波多野结衣巨乳人妻| av免费在线观看网站| 一区二区三区高清视频在线| 久久久久国内视频| 99国产精品99久久久久| 亚洲男人天堂网一区| 亚洲男人的天堂狠狠| 国产三级在线视频| 一本一本综合久久| 757午夜福利合集在线观看| 午夜福利免费观看在线| 九色国产91popny在线| 成人三级黄色视频| 狂野欧美白嫩少妇大欣赏| 一本综合久久免费| 五月玫瑰六月丁香| 特大巨黑吊av在线直播| 又粗又爽又猛毛片免费看| 久久久久九九精品影院| 欧美乱码精品一区二区三区| 亚洲国产精品999在线| 久久午夜亚洲精品久久| 国内精品一区二区在线观看| 老汉色av国产亚洲站长工具| 亚洲第一欧美日韩一区二区三区| 老司机靠b影院| 亚洲国产欧美一区二区综合| 麻豆一二三区av精品| 丰满人妻一区二区三区视频av | 女警被强在线播放| 国产亚洲精品一区二区www| 岛国视频午夜一区免费看| 日本在线视频免费播放| 久久国产乱子伦精品免费另类| 麻豆国产av国片精品| 又紧又爽又黄一区二区| 99国产综合亚洲精品| 欧美最黄视频在线播放免费| 亚洲av美国av| 中文在线观看免费www的网站 | 99热6这里只有精品| 欧美三级亚洲精品| 欧美在线一区亚洲| 免费一级毛片在线播放高清视频| 国产主播在线观看一区二区| 久久久久久亚洲精品国产蜜桃av| 亚洲一区二区三区色噜噜| 午夜福利在线观看吧| 无限看片的www在线观看| 久久香蕉国产精品| 成人三级做爰电影| 12—13女人毛片做爰片一| 亚洲国产欧美一区二区综合| 国产精品电影一区二区三区| 亚洲av美国av| 日本在线视频免费播放| 一区福利在线观看| 久久亚洲真实| 亚洲自偷自拍图片 自拍| 久久久久久久午夜电影| www.精华液| 美女午夜性视频免费| 婷婷丁香在线五月| 少妇人妻一区二区三区视频| 18禁黄网站禁片午夜丰满| 身体一侧抽搐| 91国产中文字幕| 亚洲欧美精品综合一区二区三区| 母亲3免费完整高清在线观看| netflix在线观看网站| 亚洲精品国产精品久久久不卡| 最近最新中文字幕大全电影3| 五月伊人婷婷丁香| 国产成人一区二区三区免费视频网站| 午夜两性在线视频| 久久久久久大精品| 波多野结衣巨乳人妻| 国产高清视频在线观看网站| www.精华液| 精品久久久久久久人妻蜜臀av| 岛国视频午夜一区免费看| 国产精品永久免费网站| 亚洲成人中文字幕在线播放| 国产69精品久久久久777片 | 日韩成人在线观看一区二区三区| 在线观看免费午夜福利视频| 99国产精品一区二区三区| 久久久久久大精品| 成人欧美大片| 亚洲精品美女久久av网站| 天堂影院成人在线观看| 国产又色又爽无遮挡免费看| 可以免费在线观看a视频的电影网站| 国产精品久久久久久亚洲av鲁大| tocl精华| 日本黄色视频三级网站网址| 亚洲黑人精品在线| 日本熟妇午夜| 性色av乱码一区二区三区2| 亚洲 欧美一区二区三区| 国产黄a三级三级三级人| 日韩大尺度精品在线看网址| 久久这里只有精品中国| 亚洲第一欧美日韩一区二区三区| 亚洲真实伦在线观看| 日本一区二区免费在线视频| 不卡一级毛片| 在线观看午夜福利视频| 国产精品98久久久久久宅男小说| 性色av乱码一区二区三区2| 男男h啪啪无遮挡| 亚洲熟妇熟女久久| 久久热在线av| 久久人人精品亚洲av| 国产97色在线日韩免费| 亚洲av成人不卡在线观看播放网| 成年人黄色毛片网站| 国产99白浆流出| 丝袜人妻中文字幕| 久久久久免费精品人妻一区二区| 欧美在线黄色| 欧美日韩亚洲国产一区二区在线观看| 国产三级在线视频| 日本撒尿小便嘘嘘汇集6| 欧美+亚洲+日韩+国产| bbb黄色大片| 国产高清视频在线播放一区| 嫁个100分男人电影在线观看| 国产精品98久久久久久宅男小说| 成人午夜高清在线视频| 欧美性长视频在线观看| av视频在线观看入口| 亚洲va日本ⅴa欧美va伊人久久| 制服丝袜大香蕉在线| 欧美性长视频在线观看| 国产成人精品久久二区二区91| 亚洲一区中文字幕在线| 夜夜爽天天搞| 麻豆成人av在线观看| 国产精华一区二区三区| 精品国产亚洲在线| 亚洲欧美日韩高清专用| 色哟哟哟哟哟哟| 一个人免费在线观看的高清视频| 狂野欧美白嫩少妇大欣赏| 午夜免费成人在线视频| 人妻久久中文字幕网| 国产精品久久久人人做人人爽| 一本精品99久久精品77| 五月玫瑰六月丁香| √禁漫天堂资源中文www| 1024香蕉在线观看| 精品久久久久久久久久免费视频| 亚洲精品美女久久av网站| 啦啦啦观看免费观看视频高清| 国产欧美日韩精品亚洲av| 人人妻人人看人人澡| 听说在线观看完整版免费高清| 国产精品亚洲美女久久久| 亚洲一码二码三码区别大吗| 国产精品免费视频内射| 日韩大码丰满熟妇| 日本成人三级电影网站| 这个男人来自地球电影免费观看| 在线观看免费视频日本深夜| 一本久久中文字幕| 999久久久精品免费观看国产| 久久天躁狠狠躁夜夜2o2o| 午夜两性在线视频| 欧美日韩福利视频一区二区| 亚洲全国av大片| 精品一区二区三区四区五区乱码| 91字幕亚洲| 热99re8久久精品国产| 久久欧美精品欧美久久欧美| 欧美人与性动交α欧美精品济南到| 欧美+亚洲+日韩+国产| 最新在线观看一区二区三区| 身体一侧抽搐| 国产熟女午夜一区二区三区| 午夜福利在线在线| 久久久国产成人精品二区| www日本黄色视频网| 欧美成人免费av一区二区三区| 国产高清激情床上av| 黄色丝袜av网址大全| 亚洲熟妇熟女久久| 日日摸夜夜添夜夜添小说| 久久久久久久午夜电影| 国产成+人综合+亚洲专区| 男女之事视频高清在线观看| 国产黄片美女视频| a在线观看视频网站| 一区二区三区激情视频| 可以在线观看的亚洲视频| 99国产极品粉嫩在线观看| xxxwww97欧美| 国内揄拍国产精品人妻在线| 男女那种视频在线观看| 久久香蕉国产精品| 无限看片的www在线观看| 最近最新免费中文字幕在线| 999久久久精品免费观看国产| 日韩有码中文字幕| 美女大奶头视频| 国产aⅴ精品一区二区三区波| 视频区欧美日本亚洲| 又黄又爽又免费观看的视频| 国模一区二区三区四区视频 | 亚洲国产中文字幕在线视频| 亚洲av美国av| 久久 成人 亚洲| 国产精品精品国产色婷婷| 亚洲精品一卡2卡三卡4卡5卡| 好男人在线观看高清免费视频| 久久人人精品亚洲av| 精品久久久久久久久久久久久| 免费高清视频大片| 亚洲自偷自拍图片 自拍| 日韩高清综合在线| 亚洲熟女毛片儿| 日本一区二区免费在线视频| 在线视频色国产色| 熟女少妇亚洲综合色aaa.| 精品乱码久久久久久99久播| 波多野结衣巨乳人妻| 嫩草影院精品99| 亚洲欧美日韩东京热| 午夜免费激情av| 波多野结衣高清无吗| 狂野欧美激情性xxxx| 久久精品夜夜夜夜夜久久蜜豆 | 免费在线观看视频国产中文字幕亚洲| 午夜福利在线观看吧| 人妻夜夜爽99麻豆av| 免费在线观看亚洲国产| 五月伊人婷婷丁香| 黄色a级毛片大全视频| 舔av片在线| 成人国产综合亚洲| 亚洲精品久久国产高清桃花| 欧美日韩黄片免| 操出白浆在线播放| 日本五十路高清| 亚洲av电影不卡..在线观看| 丰满人妻一区二区三区视频av | 成人av一区二区三区在线看|