A software reliability evaluation method, system, device and storage medium
By statistically analyzing signals and modeling matrices in complex software systems, a fault propagation intensity matrix K and a signal transition probability submatrix Q are constructed. This solves the accuracy problem of reliability assessment for complex software in existing technologies, enabling more accurate reliability assessment and fault-tolerant design.
Patent Information
- Application Number
- CN202511437161.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-09
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2045-10-09
AI Technical Summary
Existing architecture-based reliability assessment methods for complex software suffer from difficulties in obtaining component failure data, unclear fault propagation relationships, inability to handle the dynamic nature of fault propagation, and poor adaptability to complex systems, resulting in inaccurate assessment results.
By statistically analyzing the normal and fault signals in the preset test signal set, an input-output state matrix and a diagonal matrix D are constructed. Combined with the fault propagation intensity matrix K, a signal transition probability submatrix Q is generated. The parameter matrix is extracted using the inverse matrix S, and the software reliability R is calculated.
It improves the accuracy of reliability assessment for complex software systems, provides a precise foundation for component-level and system-level reliability analysis, and supports fault-tolerant design and optimization of systems.
Smart Images

Figure CN120909947B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the technical field of software testing and evaluation, and particularly relate to a software reliability evaluation method, system, device and storage medium. BACKGROUND
[0002] In the development and verification process of complex software systems, especially in safety-critical fields such as aerospace, autonomous driving and industrial control systems, it is necessary to accurately evaluate software reliability at an early stage of system design to identify potential risks and guide architecture optimization.
[0003] Existing architecture-based complex software reliability evaluation methods have many shortcomings, mainly in the following aspects:
[0004] (1) Difficulty in obtaining component failure data: Traditional architecture-based evaluation methods usually rely on obtaining accurate component failure data to evaluate system reliability. However, in complex software systems, due to the large number and diversity of components, the collection and accuracy of failure data are very difficult to guarantee, especially in the design stage, the failure data of many components cannot be obtained in real time. This defect causes traditional methods to often rely on inaccurate assumptions when evaluating complex software systems, thereby affecting the accuracy of the evaluation results.
[0005] (2) Unclear relationship between fault propagation and system failure: Traditional architecture-based reliability evaluation methods assume that the relationship between component failure and system failure is clear, but in complex software systems, the failure of a component does not always directly lead to the overall failure of the system. Fault propagation within the system is usually nonlinear, and the failure of multiple components may not simultaneously cause system failure, especially when the system has fault-tolerant mechanisms. Many existing models ignore this point and fail to fully consider the complexity and dynamics of fault propagation, which makes existing evaluation methods perform poorly when faced with systems with dynamic interactions and redundant fault-tolerant features.
[0006] (3) Unable to effectively handle the dynamics of fault propagation: Existing evaluation methods usually use static fault propagation models, which assume that fault propagation is deterministic and does not change over time. However, in complex software systems, fault propagation is usually dynamic and influenced by various factors such as runtime environment, component interaction, etc. Traditional static models fail to fully consider these dynamic factors. Therefore, these methods are difficult to accurately reflect the actual situation of fault propagation in practical applications, resulting in a large deviation in reliability evaluation results.
[0007] (4) Poor adaptability to complex systems: The structure of complex software systems is very large and heterogeneous, and the interaction modes and failure modes between components are diverse. Traditional architecture-based reliability evaluation methods often appear to be inadequate when facing these systems. Traditional methods usually assume that component failures are independent and ignore the complex dependencies and interactions between components within the system. This makes the reliability evaluation results of traditional methods often not accurate enough when evaluating systems with multiple modules, dynamic interactions, fault-tolerant redundancy, etc.
[0008] (5) Over-reliance on idealized assumptions: Many existing architecture-based evaluation models rely too much on idealized assumptions, such as assuming independent fault propagation, deterministic component behavior, etc. These assumptions often do not hold in actual software systems because the interactions and failure modes of components in complex systems are highly complex and uncertain. This over-idealized assumption limits the applicability and accuracy of traditional evaluation methods in actual complex software systems. SUMMARY
[0009] To this end, the embodiments of the present application provide a software reliability evaluation method, system, device and storage medium to solve the problem that current complex software reliability evaluation is affected by many aspects, resulting in low accuracy.
[0010] In order to achieve the above-mentioned purpose, the embodiments of the present application provide the following technical solutions:
[0011] According to a first aspect of the embodiments of the present application, the embodiments of the present application provide a software reliability evaluation method, the method comprising:
[0012] statistically obtaining a first statistical result and a second statistical result and ;
[0013] inputting all normal signals and all fault signals in the preset test signal set into the software to be evaluated respectively to obtain a first test result and a second test result;
[0014] based on the first test result and the second test result, constructing a first input-output state matrix of each first component ;
[0015] using each first input-output state matrix , constructing a diagonal matrix D;
[0016] inputting all signals in the preset test signal set into the software to be evaluated to obtain a third test result;
[0017] based on the third test result, constructing a fault diffusion intensity matrix K;
[0018] obtaining a signal transition probability sub-matrix Q by multiplying the diagonal matrix D with the fault propagation strength matrix K;
[0019] obtaining a first parameter matrix and a second parameter matrix from an inverse matrix S of the signal transition probability sub-matrix Q;
[0020] calculating a product of the first parameter matrix and the second parameter matrix to obtain a second input-output state matrix A of the software to be evaluated;
[0021] obtaining a first probability parameter and a second probability parameter from the second input-output state matrix A;
[0022] calculating a reliability R of the software to be evaluated, the calculation formula of the reliability R being:
[0023] .
[0024] Further, the first statistical result and the second statistical result are a normal signal proportion and a fault signal proportion in a preset test signal set, respectively.
[0025] The first test result includes an error rate of each first component in the software to be evaluated , and the second test result includes a fault mode number of each first component processed by a fault-tolerant mechanism design and a first component set of all the remaining first components to which a fault of the first component is propagated.
[0026] The test formula of the error rate of each component is:
[0027]
[0028] wherein, is a number of normal input signals of the i-th first component, is a number of fault output signals of the i-th first component.
[0029] Further, based on the first test result and the second test result, a first input-output state matrix of each first component is constructed , including:
[0030] The first input-output state matrix of each first component is calculated by using the error rate and the fault mode number of each first component. The first input-output state matrix of each first component for:
[0031]
[0032] in, The first probability that the output signal is normal corresponding to the normal input signal of the i-th first component. , The second probability of a normal input signal to the i-th first component corresponding to a faulty output signal. , The third probability that the output signal is normal corresponding to a fault in the input signal of the i-th first component. , The fourth probability of an output signal failure corresponding to an input signal failure of the i-th first component. .
[0033] Furthermore, utilizing each of the first input-output state matrices Construct a diagonal matrix D, including:
[0034] The first input-output state matrices The first non-zero element is distributed along the diagonal, resulting in a diagonal matrix D, which is:
[0035]
[0036] Where, when i1=j1=i, ,otherwise .
[0037] Furthermore, the third test result includes: the signal transition probability matrix P and the set of signal execution paths between the input signal and the output signal. The signal transition probability matrix P is:
[0038]
[0039] in, The signal in the software to be evaluated at the 1st After the first component executes, it is transferred to the second... The first signal transfer probability of the first component;
[0040] The set of signal execution paths for:
[0041]
[0042] in, This represents the execution path of the nth signal between the input and output signals.
[0043] Further, based on the third test result, a fault diffusion intensity matrix K is constructed, including:
[0044] selecting adjacent two first components on each signal propagation path in the signal execution path set as a second component and a third component , generating a target component pair set E;
[0045] from the first signal transition probability matrix P, taking the corresponding second signal transition probability of each target component pair in the target component pair set E , generating a second signal transition probability set ;
[0046] obtaining a corresponding first component set of each second component , as a second component set;
[0047] based on the signal execution path set , calculating the sum of fan-in and fan-out of the corresponding third component of each second component and the sum of fan-in and fan-out of each first component in the second component set, obtaining the corresponding first node degree and second node degree of each target component pair;
[0048] calculating the corresponding fault diffusion intensity of each target component pair in the target component pair set E , and the calculation formula of the fault diffusion intensity is:
[0049]
[0050] wherein, p is a preset transition probability weight, is a preset node degree weight, is a number set of all first components in the corresponding second component set of each second component , and n is the number of each first component in the second component set;
[0051] using each fault diffusion intensity as the corresponding second non-zero element , constructing the fault diffusion intensity matrix K.
[0052] Further, the signal transition probability sub-matrix Q is:
[0053] ;
[0054] The calculation formula of the inverse matrix S is:
[0055] ;
[0056] The first parameter matrix is the first row first column element of the inverse matrix S, and the second parameter matrix is the first input-output state matrix of the first component. The first probability parameter is the first row first column element of the second input-output state matrix A, and the second probability parameter is the second row first column element. Wherein, the maximum value of the first probability parameter and the second probability parameter is
[0057] The first probability parameter is the first row first column element of the second input-output state matrix A, and the second probability parameter is the second row first column element. According to the second aspect of the embodiment of the present application, the embodiment of the present application provides a software reliability evaluation system, the system comprises:
[0058] The statistical module is used for statistically processing the normal signals and the fault signals in the preset test signal set, and obtaining the first statistical result and the second statistical result respectively.
[0059] The first test module is used for inputting all the normal signals in the preset test signal set into the software to be evaluated, and obtaining the first test result. The second test module is used for inputting all the fault signals in the preset test signal set into the software to be evaluated, and obtaining the second test result.
[0060] The first construction module is used for constructing the first input-output state matrix of each first component based on the first test result and the second test result, and constructing a diagonal matrix D by using each first input-output state matrix.
[0061] The third test module is used for inputting all the signals in the preset test signal set into the software to be evaluated, and obtaining the third test result.
[0062] The second construction module is used for constructing the fault diffusion intensity matrix K based on the third test result, and obtaining the signal transition probability sub-matrix Q by multiplying the diagonal matrix D by the fault diffusion intensity matrix K.
[0063]
[0064]
[0065] The first calculation module is configured to obtain a first parameter matrix and a second parameter matrix from an inverse matrix S of the signal transition probability sub-matrix Q, and calculate a product of the first parameter matrix and the second parameter matrix to obtain a second input-output state matrix A of the software to be evaluated.
[0066] The second calculation module is configured to obtain a first probability parameter and a second probability parameter from the second input-output state matrix A, and calculate a reliability R of the software to be evaluated, where the calculation formula of the reliability R is as follows:
[0067] .
[0068] According to a third aspect of the embodiments of the present application, a software reliability evaluation device is provided, which comprises a processor and a memory.
[0069] The memory is configured to store one or more program instructions.
[0070] The processor is configured to execute the one or more program instructions to perform the steps of the software reliability evaluation method according to any one of the above aspects.
[0071] According to a fourth aspect of the embodiments of the present application, a computer readable storage medium is provided, which stores a computer program, and the computer program is executed by a processor to implement the steps of the software reliability evaluation method according to any one of the above aspects.
[0072] Compared with the prior art, the software reliability evaluation method, system, device and storage medium provided by the embodiments of the present application can greatly improve the accuracy of quantitative evaluation of complex software reliability by statistically analyzing the normal and fault test signals, obtaining the test results of the normal signals and the fault signals, constructing an input-output state matrix A and a diagonal matrix D, constructing a fault diffusion strength matrix K by using the test results of all signals, obtaining a signal transition probability sub-matrix Q by combining the fault diffusion strength matrix K and the diagonal matrix D, extracting a first parameter matrix and a second parameter matrix from an inverse matrix S of the signal transition probability sub-matrix Q, obtaining a second input-output state matrix A of the software by multiplying the first parameter matrix and the second parameter matrix, extracting key probability parameters from the second input-output state matrix A, and calculating a reliability R of the software to be evaluated. BRIEF DESCRIPTION OF DRAWINGS
[0073] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only exemplary, and for those skilled in the art, other drawings can also be obtained from the provided drawings without creative labor.
[0074] The structures, proportions, sizes, etc. shown in the specification are only used to cooperate with the content disclosed in the specification, to be understood and read by those skilled in the art, and are not used to limit the conditions that the present application can be implemented, so they do not have technical significance. Any modification of structure, change of proportion relationship or adjustment of size, without affecting the effects and purposes that the present application can produce, should still fall within the scope of the technical content disclosed by the present application.
[0075] Figure 1 A logical structure diagram of a software reliability evaluation system provided by an embodiment of the present application is provided.
[0076] Figure 2 A flowchart of a software reliability evaluation method provided by an embodiment of the present application is provided.
[0077] Figure 3 A flowchart of constructing a fault diffusion strength matrix K based on a third test result provided by an embodiment of the present application is provided. DETAILED DESCRIPTION
[0078] The embodiments of the present application are described below by specific specific embodiments, and those skilled in the art can easily understand other advantages and effects of the present application from the content disclosed in the specification. Obviously, the described embodiments are part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of the present application.
[0079] In order to solve the above technical problems, as shown in the specification, the present application provides a software reliability evaluation system, which is applied to software reliability evaluation, and realizes quantitative evaluation of software reliability and ensures accuracy through signal statistics and matrix modeling. Figure 1
[0080] Specifically, the software reliability evaluation system provided by the present application comprises a statistical module 1, a first test module 2, a second test module 3, a first construction module 4, a third test module 5, a second construction module 6, a first calculation module 7 and a second calculation module 8.
[0081] Further, the statistics module 1 is configured to count the normal signals and the fault signals in the preset test signal set to obtain a first statistics result P1 and a second statistics result P2, respectively. The function thereof is to preliminarily classify and count the input test signal set, so as to provide a data basis for subsequent testing and analysis. P1 and P2 usually represent the number or some statistical characteristics of the normal signals and the fault signals.
[0082] The first test module 2 is configured to input all the normal signals in the preset test signal set into the software to be evaluated to obtain a first test result. The function thereof is to use the normal input signals to run the software to be evaluated, and collect the output response of the software under normal conditions, so as to construct a normal behavior model of the software.
[0083] The second test module 3 is configured to input all the fault signals in the preset test signal set into the software to be evaluated to obtain a second test result. The function thereof is to use the simulated fault signals to run the software to be evaluated, and collect the second test result of the software under abnormal or fault conditions, so as to analyze the processing capability and behavior change of the software to the fault.
[0084] The first construction module 4 is configured to construct a first input-output state matrix of each first component based on the first test result and the second test result, and construct a diagonal matrix D by using the first input-output state matrix. The function thereof is to first establish the state conversion between the input and the output of the first component of the software according to the normal and fault test results, so as to construct a first input-output state matrix; and then combine these independent component-level matrices into a system-level block diagonal matrix D, which comprehensively reflects the performance of all components in the test.
[0085] The third test module 5 is configured to input all the signals in the preset test signal set into the software to be evaluated to obtain a third test result. The function thereof is to perform a complete test, input the entire test set mixed with the normal and fault signals into the software, and record the third test result, which reflects the overall situation of the signal transmission and evolution among the components of the software.
[0086] The second construction module 6 is configured to construct a fault diffusion intensity matrix K based on the third test result, and obtain a signal transition probability sub-matrix Q by multiplying the diagonal matrix D by the fault diffusion intensity matrix K. The function thereof is to first analyze and quantify the intensity and path of the fault propagation among the different components of the software according to the third test result, so as to construct a fault diffusion intensity matrix K; and then combine the matrix D representing the behavior of the component with the matrix K representing the correlation among the components, to obtain a key signal transition probability sub-matrix Q through matrix multiplication, which describes the probability of the state transition of the signal (including the fault signal) in the software system.
[0087] The first calculation module 7 is used to obtain the first parameter matrix and the second parameter matrix from the inverse matrix S of the signal transition probability sub-matrix Q, and calculate the product of the first parameter matrix and the second parameter matrix to obtain the second input-output state matrix A of the software to be evaluated. The function is to obtain the matrix S by performing the inverse operation on the signal transition probability matrix Q, and analyze the two key first parameter matrix and second parameter matrix from the inverse matrix S. Finally, the state matrix A representing the overall input-output behavior characteristics of the software to be evaluated is calculated by multiplying the two parameter matrices.
[0088] The second calculation module 8 is used to obtain the first probability parameter and the second probability parameter from the second input-output state matrix A, and calculate the reliability R of the software to be evaluated. The function is to extract the two core probability measurement values from the matrix A representing the overall behavior of the software. Finally, the final quantitative reliability evaluation result R of the software is calculated according to the specific reliability calculation formula.
[0089] Compared with the prior art, the software reliability evaluation system provided by the embodiment of the application can greatly improve the accuracy of quantitative evaluation of complex software reliability by constructing the input-output state matrix A and the diagonal matrix D through the statistics of normal signals and fault signals and the test results of normal signals and fault signals, constructing the fault diffusion strength matrix K through the test results of all signals, obtaining the signal transition probability sub-matrix Q combined with the fault diffusion strength matrix K and the diagonal matrix D, extracting the first and second parameter matrices from the inverse matrix S of the transition probability sub-matrix Q, obtaining the second input-output state matrix A of the software by multiplying the first and second parameter matrices, and finally extracting the key probability parameters from A and calculating the reliability R of the software to be evaluated. The embodiment of the application combines the test signal statistical results and the signal test results to perform matrix modeling and conversion calculation, which greatly improves the accuracy of quantitative evaluation of complex software reliability. Corresponding to the above-mentioned software reliability evaluation system, the embodiment of the application further discloses a software reliability evaluation method.
[0090] The following will introduce in detail the software reliability evaluation method disclosed in the embodiment of the application in combination with the above-mentioned software reliability evaluation system, which is to solve the problem of low evaluation accuracy in the prior art.
[0091] As Figure 2 shown, the following will describe in detail the specific steps of the software reliability evaluation method provided by the embodiment of the application.
[0092] The normal signals and the fault signals in the preset test signal set are counted by the statistical module 1 to obtain the first statistical result and the second statistical result .
[0093] The preset test signal set refers to a set of test cases containing normal signals and fault signals designed in advance, including input data for simulating various normal operating conditions and abnormal fault scenarios.
[0094] The "preset test signal set" refers to a set of test cases constructed in advance according to the architecture and functional specification of the software to be evaluated before implementing the method of the present application, containing normal signals that can represent the normal operating state of the system and fault signals that can trigger potential abnormal behavior.
[0095] Each test signal is composed of input data and its corresponding expected output, used to comprehensively simulate the running of the software under various normal operating conditions and abnormal fault scenarios.
[0096] Normal signals refer to input signals that meet the system design requirements and are within the specified value range, including expected valid data that can be correctly processed by the system. Fault signals refer to input signals that exceed the system's specified value range or do not meet the design requirements, including abnormal data and error inputs for testing the system's fault tolerance capability. The first statistical result refers to the proportion of the number of normal signals in the total number of signals in the preset test signal set, including statistical quantities reflecting the proportion of normal inputs in the test set. The second statistical result refers to the proportion of the number of fault signals in the total number of signals in the preset test signal set, including statistical quantities reflecting the proportion of abnormal inputs in the test set.
[0097] In the embodiments of the present application, first, all signals contained in the preset test signal set need to be classified and identified, distinguishing between normal signals and fault signals; second, the number of normal signals and the number of fault signals are respectively counted; finally, the first statistical result is obtained by calculating the proportion of the number of normal signals to the total number of signals, and the second statistical result is obtained by calculating the proportion of the number of fault signals to the total number of signals.
[0098] In the embodiments of the present application, the first statistical result and the second statistical result are the normal signal proportion and the fault signal proportion in the preset test signal set, respectively.
[0099] The normal signal proportion refers to the ratio of the number of normal signals to the total number of signals in the preset test signal set, including indicators reflecting the quality of the test data set and the coverage of normal inputs. The fault signal proportion refers to the ratio of the number of fault signals to the total number of signals in the preset test signal set, including abnormal input proportion indicators for testing the system's fault tolerance and abnormal processing capability.
[0100] The first test module 2 inputs all normal signals in the preset test signal set into the software to be evaluated to obtain a first test result, and the second test module 3 inputs all fault signals in the preset test signal set into the software to be evaluated to obtain a second test result.
[0101] The software to be evaluated refers to a target software system that needs to be evaluated for reliability, including a software product composed of multiple components and having a complex architecture. The first test result refers to a set of output results obtained after normal signals are input into the software to be evaluated, including data reflecting processing performance of each component under normal input. The second test result refers to a set of output results obtained after fault signals are input into the software to be evaluated, including data reflecting fault tolerance processing capability of each component under abnormal input.
[0102] In the embodiment of the present application, first, all normal signals in the preset test signal set are input into the software to be evaluated as input data to execute and collect output results; second, all fault signals in the preset test signal set are input into the same software to be evaluated as another set of input data to execute and collect output results; finally, the first test result reflecting normal processing capability of each component and the second test result reflecting fault tolerance processing capability of each component are obtained by analyzing and processing the two sets of output results.
[0103] The first test result includes error rates of each first component in the software to be evaluated The second test result includes a number of fault modes handled by the fault tolerance mechanism design of each first component in the software to be evaluated and a first component set of all other first components to which the fault corresponding to each first component is propagated from the first component.
[0104] In the embodiment of the present application, first, the output results obtained after normal signals are input into the software to be evaluated are analyzed to extract and calculate the error rate of each first component when processing normal input; second, the output results obtained after fault signals are input into the software to be evaluated are analyzed to extract the number of fault types that can be successfully handled by each first component through the built-in fault tolerance mechanism; at the same time, the range of other components that can be affected when each first component fails is determined by analyzing the propagation path of the fault among the components, thereby forming a first component set with the component as the starting point.
[0105] Further, the test formula of the error rate of each component is as follows:
[0106]
[0107] wherein, is the number of normal input signals of the i th first component, the number of fault output signals of the i-th first component.
[0108] The error rate refers to the probability of a component producing a fault output when processing a normal input, and is calculated by dividing the number of fault output signals by the number of normal input signals. It is a key indicator of the basic reliability of a component.
[0109] Fault-tolerant mechanism design refers to the technical solution designed inside a component for detecting and handling abnormal situations, including the design and implementation of error detection, recovery, and isolation function modules. The number of fault modes refers to the number of fault types that a component can identify and handle through fault-tolerant mechanisms, including quantitative indicators of fault-tolerant capabilities based on fault tree analysis and design document analysis. The first component set refers to the combination of all remaining first components that may be affected when a certain first component fails, including the determination of the fault propagation range through analysis of system architecture and dependency relationships.
[0110] In the embodiments of the present application, first, the total number of all normal input signals that meet the specification requirements input to the i-th first component is counted; second, the total number of fault output signals that do not meet the specification requirements generated by the i-th first component after processing these normal input signals is counted; and finally, the error rate quantitative indicator of the i-th first component is obtained by dividing the number of fault output signals by the number of normal input signals.
[0111] The following is a specific example: first, by injecting normal test signals into the distributed database system to be evaluated, record the number of times each query processing component produces an error result when processing a normal query request, and calculate the error rate indicator of each component. Then, inject various fault test signals, analyze the fault-tolerant processing logs of each component, count the number of fault types that can be successfully processed, and determine the range of other components that may be affected when each component fails by tracing the fault propagation path. Finally, based on these quantitative indicators, a reliability feature model of each component is established, providing accurate input parameters for subsequent system-level reliability analysis.
[0112] By performing the above steps, the embodiments of the present application provide accurate component-level parameter basis for reliability evaluation by quantifying the error rate and fault-tolerant capability indicators of the components, enabling system-level reliability analysis to be based on accurate component behavior data, thereby improving the accuracy and reliability of the evaluation results, and providing data support for fault-tolerant design and optimization of the system.
[0113] The first input-output state matrix of each first component is constructed by the first construction module 4 based on the first test results and the second test results .
[0114] The first component refers to a basic function module unit in the software to be evaluated, including each independent processing module constituting the software architecture. The first input-output state matrix refers to a probability matrix describing the input-output state transition relationship of a single component, including four probability values of different outputs generated by the component under normal and fault input conditions.
[0115] In the embodiments of the present application, the above steps specifically include: calculating the first input-output state matrix of each first component by using the error rate of each first component and the number of fault modes . The first input-output state matrix of each first component is calculated by using the error rate of each first component .
[0116]
[0117] wherein, is the first probability of the i-th first component input signal normal corresponding to the output signal normal , is the second probability of the i-th first component input signal normal corresponding to the output signal fault , is the third probability of the i-th first component input signal fault corresponding to the output signal normal , is the fourth probability of the i-th first component input signal fault corresponding to the output signal fault .
[0118] The first probability refers to the conditional probability of the i-th first component generating a normal output signal when receiving a normal input signal, which is calculated by subtracting the error rate of the component from one, and is an index reflecting the basic processing reliability of the component. The second probability refers to the conditional probability of the i-th first component generating a fault output signal when receiving a normal input signal, which directly uses the error rate value of the component, and is an index measuring the degree of internal defects of the component. The third probability refers to the conditional probability of the i-th first component generating a normal output signal after processing by the fault-tolerant mechanism when receiving a fault input signal, which is calculated based on the proportion of the fault modes that the component can handle in the total fault modes, and is a key index reflecting the fault-tolerant capability of the component. The fourth probability refers to the conditional probability of the i-th first component generating a fault output signal when receiving a fault input signal without successfully processing, which is calculated by subtracting the third probability from one, and is an index representing the possibility of failure of the fault-tolerant mechanism of the component.
[0119] In the embodiment of the present application, firstly, the error rate parameter of each first component obtained by testing is acquired, which represents the probability of the component producing a failure output when processing a normal input. Secondly, the failure mode number parameter of each first component obtained by fault tolerance analysis is acquired, which reflects the number of failure types that the component can handle. Subsequently, the probability of the component producing a normal output through the fault tolerance mechanism under the condition of a failure input is calculated based on the component design specification and analysis data. Then, the probability of the component still producing a failure output under the condition of a failure input is obtained through mathematical operation. Finally, the four probability values are combined into a two-dimensional matrix form in a specific order to form a first input-output state matrix that completely describes the input-output behavior characteristics of the component .
[0120] A diagonal matrix D is constructed by the first construction module 4 using each first input-output state matrix .
[0121] The diagonal matrix D refers to a block diagonal matrix composed of the first input-output state matrix of each first component as the diagonal line element, including a composite matrix integrating all component individual state transition characteristics.
[0122] In the embodiment of the present application, the above steps specifically include: distributing each first input-output state matrix as a first non-zero element along the diagonal line to obtain a diagonal matrix D, the diagonal matrix D being:
[0123]
[0124] wherein, when i1=j1=i, , otherwise .
[0125] The first non-zero element refers to each first input-output state matrix placed on the diagonal line position when constructing the diagonal matrix, which is a matrix block reflecting the independent state transition characteristics of each first component and is obtained based on component test data and fault tolerance analysis results.
[0126] In the embodiment of the present application, firstly, the first input-output state matrix of all first components is acquired as the construction material, and each element in these matrices is determined as the first non-zero element to be placed on the diagonal line. Secondly, each first input-output state matrix is placed in turn on the position corresponding to the diagonal line in the order of the number of the first components. Subsequently, all non-diagonal line positions are filled with zero matrices to ensure that the elements of other positions except the diagonal line are all zero. Finally, a block diagonal matrix, i.e., the diagonal matrix D, is generated through this arrangement, wherein each diagonal line block corresponds to the complete state transition characteristics of a specific first component.
[0127] The following is a specific example: first, obtain the state transition matrix of each service component in the distributed system, including the first input and output state matrix of the authentication service component, the transaction processing component and the data storage component. Then, according to the logical order of the components in the system, place the state matrix of the authentication service component in the upper left corner diagonal position, place the state matrix of the transaction processing component in the middle diagonal position, and place the state matrix of the data storage component in the lower right corner diagonal position. Then set all non-diagonal positions to zero matrix elements to form a complete block diagonal matrix. The final diagonal matrix D contains the independent state characteristics of all components, providing a complete component characteristic data basis for subsequent system-level fault propagation analysis.
[0128] The embodiment of the application integrates the state transition characteristics of each component into a unified matrix framework by constructing a block diagonal matrix, which not only maintains the independence of the component characteristics, but also provides a structured data organization form for subsequent system-level analysis, so that the component characteristics and system characteristics can be effectively integrated through matrix operations.
[0129] The following is a specific example: first, obtain the test data of each service component in the distributed transaction system, including the error rate of the transaction processing component and the number of exception types that can be handled by the rollback mechanism. Then, according to the error rate, calculate the success probability and failure probability of the component in normal transaction processing, and according to the fault tolerance capability data, calculate the probability of the component recovering to normal state through the rollback mechanism when receiving an abnormal transaction and the probability of failure. Finally, organize these probability values into a two-dimensional state matrix form to establish a complete input and output behavior model for each service component, and provide accurate component-level basic data for subsequent analysis of the overall reliability of the distributed transaction system.
[0130] By performing the above steps, the embodiment of the application unifies the normal processing capability and fault tolerance processing capability of the component in the same probability model by establishing a quantitative component input and output state matrix, providing an accurate component behavior model for system-level reliability analysis, so that the subsequent system-level reliability evaluation can be based on the actual behavior characteristics of the component rather than idealized assumptions, improving the accuracy and practicality of the evaluation results.
[0131] The third test module 5 inputs all signals of the preset test signal set into the software to be evaluated to obtain a third test result.
[0132] The third test result refers to the global test result obtained after inputting all signals into the software to be evaluated, including system-level signal transition path and component-to-component call relationship data.
[0133] In this embodiment, a preset test signal set is first input into the software to be evaluated as a complete mixed signal set; second, the signal flow and inter-component calling relationship are monitored during the software execution process; and finally, a third test result containing the signal transfer path and inter-component calling relationship is recorded and output.
[0134] In this embodiment of the application, the third test result includes: the signal transition probability matrix P and the set of signal execution paths between the input signal and the output signal. .
[0135] The signal transition probability matrix P is:
[0136]
[0137] in, The signal in the software to be evaluated at the 1st After the first component executes, it is transferred to the second... The first signal transfer probability of the first component.
[0138] The signal transfer probability matrix P is a square matrix that describes the probability of signal transfer between the various first components of the software to be evaluated. It includes signal transfer probability data between components organized in matrix form, and is obtained based on actual operation statistics and analysis.
[0139] In this embodiment of the application, the actual transfer process of signals between various first components in the software to be evaluated is first monitored, and the signal from the first component is statistically analyzed. After the first component executes, it is transferred to the second... The number of times the first component occurs. Next, calculate the percentage of this transition count relative to the first component. The proportion of all output signals of each first component is used to obtain the first signal transition probability between each component pair. Then, the first signal transition probabilities between all component pairs are organized into a matrix according to row and column correspondence, where rows represent the source component number and columns represent the target component number. Finally, a complete signal transition probability matrix P is formed, which comprehensively describes the signal transition probability distribution among the components of the system.
[0140] Signal execution path set for:
[0141]
[0142] in, This represents the execution path of the nth signal between the input and output signals.
[0143] Signal execution path set Signal execution path set refers to a set containing all possible execution paths from input signal to output signal, including complete description of various signal processing links and propagation paths existing in the system. Signal execution path refers to a sequence of components and processing flow that input signal passes through from entering the system to the final output, including complete description of component number and processing link in sequence.
[0144] In the embodiments of the present application, firstly, all possible execution processes of input signal to output signal in the software to be evaluated are tracked, and each complete signal processing link is recorded. Secondly, each signal processing link is numbered and described, wherein each path represents the sequence of components and their order relationship from input to output. Then all these signal processing paths are collected into a complete set. Finally, the signal execution path set is formed, which contains all possible signal propagation path information from input to output in the system.
[0145] The following is a specific example: firstly, by monitoring the flow of messages among various microservices in a distributed message processing system, the probabilities of message transfer from authentication service to message queue service, and from message queue service to business processing service, and various component transfer probabilities are counted. Then these probability values are organized into a signal transfer probability matrix according to service number. At the same time, the complete processing process of the message from access to output is tracked, and all possible service links are recorded, including direct processing paths and indirect paths through the retry mechanism. Finally, all these path information is organized into a signal execution path set, providing complete path basic data for analyzing the reliability and performance characteristics of the message processing system.
[0146] The embodiments of the present application accurately describe the propagation characteristics and execution paths of signals in the system by establishing the signal transfer probability matrix and the complete path set, providing complete path information for analyzing the behavior characteristics and fault propagation mechanism of the system, so that the system reliability evaluation can be based on actual signal flow and path data, improving the accuracy and practicality of the evaluation results.
[0147] The fault diffusion intensity matrix K is constructed by the second construction module 6 based on the third test results.
[0148] The fault diffusion intensity matrix K refers to a matrix quantifying the propagation intensity and range of faults among components, including fault propagation influence measurement combined with transfer probability and node degree weighting.
[0149] In the embodiment of the present application, firstly, the signal transition probability data between components is extracted from the third test result; secondly, the propagation path and influence range of the fault signal between components are analyzed; and finally, the fault diffusion strength matrix K representing the fault propagation strength is generated by combining the fan-in and fan-out degree of the components and the weighted calculation of the transition probability.
[0150] Reference Figure 3 The above specific steps are described as follows.
[0151] Selecting two adjacent first components on each signal propagation path in the signal execution path set as the second component and the third component to generate the target component pair set E.
[0152] The second component refers to the component as the signal source in the target component pair, including the adjacent component in front on the signal propagation path, which is obtained based on the signal execution path analysis. The third component refers to the component as the signal target in the target component pair, including the adjacent component behind on the signal propagation path, which is obtained based on the signal execution path analysis. The target component pair set E refers to the set containing all adjacent component pairs, including the complete record of the direct connection relationship existing in the system, which is obtained based on the signal propagation path analysis.
[0153] In the embodiment of the present application, firstly, each signal propagation path in the signal execution path set is traversed, and each component node sequentially connected on the path is analyzed in turn. Secondly, each two adjacent first components are marked as the second component and the third component respectively, wherein the second component is the signal source component, and the third component is the signal target component. Subsequently, all these adjacent component pairs are collected and duplicates are removed, and finally the target component pair set E containing all adjacent component connection relationships is formed.
[0154] Taking the second signal transition probability of each target component pair in the target component pair set E from the first signal transition probability matrix P to generate the second signal transition probability set .
[0155] The second signal transition probability set refers to the set of transition probability values corresponding to each component pair in the target component pair set E, including the specific probability data extracted from the first signal transition probability matrix.
[0156] In the embodiments of the present application, firstly, the second component number and the third component number of each component pair in the target component pair set E are determined according to the corresponding position in the first signal transition probability matrix P. Secondly, the transition probability values in these positions are extracted from the first signal transition probability matrix P, and these values are the second signal transition probabilities. Then, all the extracted second signal transition probabilities are organized according to the component pair order, and finally the second signal transition probability set corresponding to the target component pair set E is generated .
[0157] The corresponding first component set of each second component is obtained as the second component set.
[0158] The second component set refers to the set of all third components directly connected to each second component, including the definition of the direct influence range of each component, which is obtained based on the analysis of the target component pair set.
[0159] In the embodiments of the present application, firstly, the connection relationship of each second component as a signal source in the target component pair set E is analyzed. Secondly, all third components directly connected to each second component are found, and these third components constitute the direct influence range of the second component. Then, the set of these directly connected components is taken as the second component set corresponding to the second component, and finally the influence range definition of each second component is obtained.
[0160] Based on the signal execution path set , the sum of the fan-in and fan-out of each second component corresponding third component and the sum of the fan-in and fan-out of each first component in the second component set are calculated to obtain the first node degree and the second node degree of each target component pair.
[0161] Fan-in refers to the number of times a component is called by other components, including an index for measuring the degree of dependence of a component, which is obtained based on system architecture analysis. Fan-out refers to the number of times a component calls other components, including an index for measuring the degree of dependence of a component on others, which is obtained based on system architecture analysis. The first node degree refers to the sum of the fan-in and fan-out of the third component, including a comprehensive index reflecting the connection activity of the component. The second node degree refers to the average of the degrees of all components in the second component set, including a comprehensive index reflecting the connection activity of the component group.
[0162] In the embodiments of the present application, firstly, the number of times each third component is called by other components, i.e., the fan-in value, and the number of times the third component calls other components, i.e., the fan-out value, are counted, and the fan-in and the fan-out are added to obtain the first node degree. Secondly, the sum of the fan-in and the fan-out of each component in the second component set is also calculated, and then the average of these degrees is taken as the second node degree . Finally, two degree values corresponding to each target component pair are obtained, which are used for subsequent calculation of the fault diffusion strength.
[0163] The corresponding fault diffusion strength of each target component pair in the target component pair set E is calculated , and the calculation formula of the fault diffusion strength is:
[0164]
[0165] wherein, is a preset transition probability weight, is a preset node degree weight, is a number set of all first components in the corresponding second component set of each second component , and is the number of each first component in the second component set.
[0166] The fault diffusion strength refers to an index quantifying the propagation strength of faults among components, including a composite measurement value considering the transition probability and the node degree. The preset transition probability weight refers to an importance weight coefficient of the preset transition probability in the calculation of the fault diffusion strength, which is used to adjust the contribution degree of different factors. The preset node degree weight refers to an importance weight coefficient of the preset node degree in the calculation of the fault diffusion strength, which is used to adjust the contribution degree of different factors. The number set refers to a set composed of the numbers of all components in the second component set, which is used to identify the range of affected components.
[0167] In the embodiments of the present application, firstly, the preset transition probability weight and the node degree weight are obtained, and the two weights are used to adjust the importance of different factors. Secondly, the second signal transition probability is multiplied by the transition probability weight to obtain the transition probability contribution part. Then, the first node degree is divided by the second node degree and multiplied by the node degree weight to obtain the node degree contribution part. Finally, the two parts are multiplied to obtain the final fault diffusion strength value, which comprehensively reflects the possibility and the influence range of the propagation of faults among components.
[0168] Each fault diffusion strength is used as the corresponding second non-zero element to construct a fault diffusion strength matrix K.
[0169] Second non-zero elements Refers to the element value in the fault propagation intensity matrix corresponding to the position of the target component pair, including the quantitative data reflecting the fault propagation intensity between the component pairs.
[0170] In the embodiments of the present application, first, a full zero matrix with the same dimension as the first signal transition probability matrix P is created as a base matrix. Second, according to the position information of each component pair in the target component pair set E, the calculated fault propagation intensity values are placed in the corresponding row and column positions of the matrix, and these values are the second non-zero elements. Then, the zero values of other positions are kept unchanged, and finally the complete fault propagation intensity matrix K is formed, which describes the intensity distribution of fault propagation between components in the system.
[0171] The following is a specific example: First, analyze all API call paths in the microservice system, extract the call relationship between adjacent services to form a target component pair set. Then, obtain the call probability data between adjacent services from the service call statistical matrix. Next, calculate the number of times each service is called and the number of times it calls others to obtain the connection activity index of each service. Then, according to the preset weight coefficient, combine the call probability and connection activity to calculate the fault propagation intensity between each pair of services. Finally, fill these intensity values into the service relationship matrix to construct a complete fault propagation intensity matrix, providing quantitative basis for analyzing system-level fault propagation characteristics.
[0172] The embodiments of the present application construct a fault propagation intensity matrix by analyzing the connection relationship between components and transition probability, combined with the node degree characteristics, which can accurately quantify the propagation intensity and influence range of faults in the system, providing important fault propagation characteristic data for system reliability analysis, enabling system-level reliability evaluation to be based on the actual interaction between components, and improving the accuracy and practicality of the evaluation results.
[0173] The second construction module 6 multiplies the diagonal matrix D by the fault propagation intensity matrix K to obtain the signal transition probability sub-matrix Q.
[0174] The signal transition probability sub-matrix Q refers to the composite matrix obtained by multiplying the diagonal matrix D and the fault propagation intensity matrix K, including the transition probability matrix that combines component state characteristics and fault propagation characteristics.
[0175] In the embodiments of the present application, first, the diagonal matrix D and the fault propagation intensity matrix K are subjected to matrix multiplication operation; second, the state transition characteristics of the components and the fault propagation characteristics are combined through matrix operation; finally, the signal transition probability sub-matrix Q that combines the component reliability and the fault propagation characteristics is obtained.
[0176] The signal transition probability sub-matrix Q is:
[0177] .
[0178] The calculation formula of the inverse matrix S is:
[0179] ;
[0180] The first parameter matrix is the first element in the first row of the inverse matrix S, and the second parameter matrix is the first input-output state matrix of the component numbered , wherein the maximum value of is the maximum value of .
[0181] The maximum value refers to the maximum value in the component number, including the value representing the total number or maximum index of components in the system, which is obtained based on the analysis of the component number set. The first element in the first row is the matrix element located in the first row and the first column of the inverse matrix S, including the key parameter reflecting the system-level propagation characteristics, which is obtained based on the inverse matrix operation.
[0182] In the embodiments of the present application, first, the maximum value of the component number is determined, which represents the total number or maximum number of components in the system. Secondly, the element corresponding to the first column in the first row of the inverse matrix S is extracted, which is used as the first parameter matrix. Then, the first input-output state matrix of the component numbered is obtained, which is used as the second parameter matrix. Finally, the two parameter matrices will be used for subsequent system-level state matrix calculation.
[0183] The first probability parameter is the element in the first row and the first column of the second input-output state matrix A, and the second probability parameter is the element in the second row and the first column.
[0184] The element in the first row and the first column refers to the matrix element located in the upper left corner of the second input-output state matrix A, including the parameter representing the probability of normal operation of the system under ideal conditions. The element in the second row and the first column refers to the matrix element located in the second row and the first column of the second input-output state matrix A, including the parameter representing the probability of normal operation of the system under fault conditions through fault tolerance processing.
[0185] In the embodiment of the present application, the second input-output state matrix A obtained through matrix operation is first acquired. Then the element at the first row and first column position in the matrix is extracted as the first probability parameter. Subsequently, the element at the second row and first column position in the matrix is extracted as the second probability parameter. Finally, the two probability parameters are used for final calculation of system reliability.
[0186] The following is a specific example: first, the maximum number of all service components in the distributed transaction processing system is determined, and then the parameter element at the corresponding position in the system inverse matrix is extracted, and the state matrix of the component with the maximum number is acquired as the second parameter. Then the system-level state matrix is obtained through matrix multiplication operation, and two key parameters describing the system normal operation probability and fault tolerance recovery probability are extracted from the matrix. Finally, these parameters are used to calculate the overall reliability evaluation value of the entire distributed transaction processing system, providing data support for system fault tolerance optimization and reliability improvement.
[0187] The embodiment of the present application provides accurate probability data for reliability evaluation by extracting key parameters from the system-level matrix, so that the final system reliability calculation can be based on accurate mathematical derivation results, ensuring the accuracy and reliability of the evaluation results, and providing an important basis for system optimization and maintenance.
[0188] The first parameter matrix and the second parameter matrix are acquired from the inverse matrix S of the signal transition probability sub-matrix Q by the first calculation module 7.
[0189] The inverse matrix S refers to the inverse matrix of the signal transition probability sub-matrix Q, including a key transformation matrix for solving the system state equation. The first parameter matrix refers to a matrix composed of the corresponding elements of the first row and the maximum column number extracted from the inverse matrix S, including a parameter set reflecting the system-level fault propagation characteristics. The second parameter matrix refers to the first input-output state matrix of the component corresponding to the maximum column number, including a parameter set representing the state transition characteristics of the key component.
[0190] In the embodiment of the present application, the inverse matrix S is first obtained by performing inverse operation on the signal transition probability sub-matrix Q; secondly, the element corresponding to the first row and the maximum column number in the inverse matrix S is extracted as the first parameter matrix; finally, the first input-output state matrix of the component corresponding to the maximum column number is taken as the second parameter matrix.
[0191] The product of the first parameter matrix and the second parameter matrix is calculated by the first calculation module 7 to obtain the second input-output state matrix A of the software to be evaluated.
[0192] The second input-output state matrix A refers to a state matrix representing the global input-output relationship of the entire software system, including a system-level state transition matrix that comprehensively considers the characteristics of all components and fault propagation characteristics.
[0193] In the embodiment of the present application, the first parameter matrix is firstly subjected to matrix multiplication operation with the second parameter matrix; secondly, the system-level propagation characteristics and the component-level state characteristics are fused through matrix multiplication; and finally, the second input-output state matrix A representing the global input-output relationship of the whole software system to be evaluated is obtained.
[0194] The first probability parameter and the second probability parameter are obtained from the second input-output state matrix A by the second calculation module 8. .
[0195] The first probability parameter refers to the element in the first row and the first column of the second input-output state matrix A, representing the probability of the system producing correct output under ideal input condition. The second probability parameter refers to the element in the second row and the first column of the second input-output state matrix A, representing the probability of the system producing correct output after fault-tolerant processing under fault input condition.
[0196] In the embodiment of the present application, the element in the first row and the first column of the second input-output state matrix A is firstly extracted as the first probability parameter; and the element in the second row and the first column of the second input-output state matrix A is secondly extracted as the second probability parameter.
[0197] The reliability R of the software to be evaluated is calculated by the second calculation module 8.
[0198] The reliability R refers to the overall probability of the software system to produce correct output, including the final reliability measurement value considering the normal processing capability and the fault-tolerant processing capability. The calculation formula of the reliability R is as follows:
[0199] 。
[0200] In the embodiment of the present application, the prior probability of correct system input is firstly obtained; the prior probability of incorrect system input is secondly obtained; and finally, the product of the first probability parameter and the probability of correct input is added to the sum of the second probability parameter and the probability of incorrect input, so as to obtain the final evaluation result of the reliability R of the software to be evaluated.
[0201] The following is a specific example: first, a test signal set containing normal operation data and abnormal input data is constructed, and the normal and fault signal proportions are obtained by classifying the signals. Then, the normal signal group and the fault signal group are respectively input into the distributed transaction processing system to be evaluated, the processing result data of each microservice component is collected, and the error rate and fault tolerance processing capability indicators of each microservice component are calculated. Based on these indicators, a state transition matrix is constructed for each microservice component, and is integrated into a block diagonal matrix. At the same time, the mixed signal set is input into the system, the inter-service call link is monitored, and a fault propagation intensity matrix is constructed. The transition probability submatrix is obtained by multiplying the diagonal matrix and the diffusion matrix, the key parameter matrix is extracted after inversion, and matrix multiplication is performed, finally the global state matrix of the system is obtained, and the key probability parameters are extracted from the matrix to calculate the reliability evaluation value of the system, and the reliability quantitative evaluation of the entire distributed system based on the architecture model is completed.
[0202] The embodiment of the application can more accurately quantify the propagation process and influence range of faults in complex software systems by establishing component-level input-output state models and system-level fault propagation models, and can effectively overcome the over-reliance on historical failure data, and can provide accurate reliability prediction in the early stages of software development, and can provide quantitative basis for system architecture optimization and fault tolerance mechanism design, and can organically integrate component characteristics and system characteristics through matrix operation and mathematical models, and can improve the accuracy and engineering practicability of the evaluation results.
[0203] Compared with the prior art, the embodiment of the application can obtain the test results of normal signals and fault signals by statistically analyzing the normal and fault signals of the test signals, and construct an input-output state matrix A and a diagonal matrix D; then a fault diffusion intensity matrix K is constructed by the test results of all signals, and a signal transition probability submatrix Q is obtained by combining the fault diffusion intensity matrix K and the diagonal matrix D. The first and second parameter matrices are extracted from the inverse matrix S of the transition probability submatrix Q, and the second input-output state matrix A of the software is obtained after multiplication. Finally, the key probability parameters are extracted from A, and the reliability R of the software to be evaluated is calculated. The embodiment of the application combines the test signal statistical results and signal test results for matrix modeling and transformation calculation, which greatly improves the accuracy of quantitative evaluation of complex software reliability.
[0204] The embodiment of the application constructs a component state matrix and a fault diffusion model based on the statistics and multi-dimensional testing of the preset test signal set, combines matrix operation and probability analysis, obtains the input-output state matrix and key probability parameters of the software system, and finally calculates the reliability of the software.
[0205] The embodiment of the present application applies systematic modeling and mathematical statistics technology to realize automatic and quantitative evaluation of software reliability. The method deeply mines the connotation of test data through mathematical modeling in the early stage of test verification, converts discrete test results into system-level reliability metrics, improves the accuracy and efficiency of evaluation, and reduces the dependence on a large number of test cases and manual analysis in the traditional method. The reliability indicators generated by the unified and strict mathematical model provide a scientific basis for software quality certification and life cycle management, and ensure the accuracy and objectivity of high-reliability software system verification. In addition, the embodiment of the present application also provides a software reliability evaluation device, which comprises a processor and a memory; the memory is used to store one or more program instructions; and the processor is used to run one or more program instructions to execute the steps of the software reliability evaluation method according to any one of the above.
[0206] In addition, the embodiment of the present application also provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to realize the steps of the software reliability evaluation method according to any one of the above.
[0207] In the embodiment of the present application, the processor can be an integrated circuit chip with signal processing capability. The processor can be a general processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component.
[0208] The disclosed methods, steps and logic block diagrams in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as hardware code processor execution or executed by a combination of hardware and software modules in the code processor. The software module can be located in a random memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register or other mature storage medium in the art. The processor reads the information in the storage medium and combines the hardware to complete the steps of the above method.
[0209] The storage medium can be a memory, for example, can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories.
[0210] The non-volatile memory can be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically EPROM (EEPROM), or a flash memory.
[0211] The volatile memory can be a Random Access Memory (RAM) used as an external cache. By way of example, and not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus RAM (DRRAM).
[0212] The storage media described in the embodiments of the present application is intended to include, but not limited to, these and any other suitable types of memory.
[0213] Those skilled in the art should be aware that the functions described in the embodiments of the present application can be implemented in combination of hardware and software in one or more of the above examples. When the software is applied, the corresponding functions can be stored in a computer readable medium or transmitted as one or more instructions or codes on the computer readable medium. The computer readable medium includes a computer storage medium and a communication medium, wherein the communication medium includes any medium that facilitates the transfer of computer programs from one place to another. The storage medium can be any available medium that can be accessed by a general or special purpose computer.
[0214] Although the present application has been described in detail above with general and specific embodiments, it is obvious to those skilled in the art that some modifications or improvements can be made to the present application on the basis of the present application. Therefore, these modifications or improvements made on the basis of not deviating from the spirit of the present application, are within the scope of the present application.
Claims
1. A software reliability assessment method, characterized in that, The method includes: The normal signals and fault signals in the preset test signal set are statistically analyzed to obtain the first statistical result P1 and the second statistical result P2, respectively. Input all normal signals and all fault signals from the preset test signal set into the software to be evaluated to obtain the first test result and the second test result. Based on the first test result and the second test result, construct the first input-output state matrix A for each first component. i ; Using each first input-output state matrix A i Construct a diagonal matrix D; Input all signals from the preset test signal set into the software to be evaluated to obtain the third test result; Based on the third test results, a fault propagation intensity matrix K is constructed; By multiplying the diagonal matrix D by the fault propagation intensity matrix K, the signal transfer probability submatrix Q is obtained; Obtain the first parameter matrix and the second parameter matrix from the inverse matrix S of the signal transition probability submatrix Q; Calculate the product of the first parameter matrix and the second parameter matrix to obtain the second input-output state matrix A of the software to be evaluated; Obtain the first probability parameter A from the second input-output state matrix A. 1,1 Second probability parameter A 1,2 ; Calculate the reliability R of the software to be evaluated. The formula for calculating the reliability R is as follows: R=P1A 1,1 +P2A 1,2 ; Based on the third test results, a fault propagation intensity matrix K is constructed, including: Select two adjacent first components from each signal propagation path in the signal execution path set R′ as the second component. and the third component Generate a set of target component pairs E; Take the corresponding second signal transition probability from the target component pair set E of the first signal transition probability matrix P. Generate a second signal transition probability set P′; Get each second component The corresponding first component set serves as the second component set; Based on the signal execution path set R′, calculate each second component. Corresponding to the third component The sum of fan-in and fan-out values, along with the sum of fan-in and fan-out values of each first component in the second component set, yields the degree of each target component with respect to the corresponding first node. Second node degree d j′ ; Calculate the corresponding fault propagation intensity for each target component in the target component pair set E. The fault propagation intensity The calculation formula is: Among them, w p To preset the transition probability weights, w d F is the preset node degree weight. i For each second component The set of numbers of all first components in the corresponding second component set, where j′ is the number of each first component in the second component set; Utilizing the intensity of each fault propagation As the corresponding second non-zero element Construct the fault propagation intensity matrix K.
2. The software reliability assessment method as described in claim 1, characterized in that, The first statistical result P1 and the second statistical result P2 are the proportions of normal signals and fault signals in the preset test signal set, respectively; The first test result includes the error rate f of each first component in the software to be evaluated. i The second test result includes the number ρ of failure modes handled by each first component in the software under evaluation through fault-tolerant mechanism design. i And the set of first components from which the fault of each first component propagates to all other first components; Error rate f of each component i The test formula is: Where, n i m represents the number of normal input signals for the i-th first component. i The number of fault output signals for the i-th first component.
3. The software reliability assessment method as described in claim 2, characterized in that, Based on the first test result and the second test result, construct the first input-output state matrix A for each first component. i , include: Using the error rate f of each first component i and the number of failure modes ρ i Calculate the first input-output state matrix A of each first component. i The first input-output state matrix A of each first component i for: Among them, O i (C|C) represents the first probability that the output signal of the i-th first component is normal when the input signal of the first component is normal. O i (C|I) represents the second probability that the output signal of the i-th first component is faulty when the input signal of the first component is normal. O i (I|C) represents the third probability that the output signal is normal corresponding to a fault in the input signal of the i-th first component. O i (I|I) represents the fourth probability of an output signal failure corresponding to an input signal failure of the i-th first component.
4. The software reliability assessment method as described in claim 3, characterized in that, Using each first input-output state matrix A i Construct a diagonal matrix D, including: The first input-output state matrix A i The first non-zero element is distributed along the diagonal, resulting in a diagonal matrix D, which is: Where, when i1=j1=i, otherwise 5. The software reliability assessment method as described in claim 4, characterized in that, The third test result includes: the signal transition probability matrix P and the set of signal execution paths R′ between the input signal and the output signal. The signal transition probability matrix P is: in, Let be the first signal transfer probability in the software to be evaluated, where the signal is transferred to the j2nd first component after the i2th first component is executed. The set of signal execution paths R′ is: R′=[r n ] Where, r n This represents the execution path of the nth signal between the input and output signals.
6. The software reliability assessment method as described in claim 5, characterized in that, The signal transition probability submatrix Q is: The formula for calculating the inverse matrix S is: The first parameter matrix is the j-th element in the first row of the inverse matrix S. 3max element The second parameter matrix is the j-th 3max The first input-output state matrix A of the first component j3max , where j 3max The maximum value of j3; The first probability parameter A 1,1 The element in the first row and first column of the second input-output state matrix A is the second probability parameter A. 1,2 The element in the second row and first column.
7. A software reliability assessment system, characterized in that, The system includes: The statistics module is used to perform statistics on normal signals and fault signals in a preset test signal set, and obtain the first statistical result P1 and the second statistical result P2 respectively. The first test module is used to input all normal signals from the preset test signal set into the software to be evaluated to obtain the first test result. The second test module is used to input all the fault signals from the preset test signal set into the software to be evaluated to obtain the second test result. The first construction module is used to construct the first input-output state matrix A of each first component based on the first test result and the second test result. i ; and utilize each of the first input-output state matrices A i Construct a diagonal matrix D; The third test module is used to input all signals from the preset test signal set into the software to be evaluated to obtain the third test result. The second construction module is used to construct the fault propagation intensity matrix K based on the third test result; and to obtain the signal transfer probability submatrix Q by multiplying the diagonal matrix D by the fault propagation intensity matrix K. The first calculation module is used to obtain the first parameter matrix and the second parameter matrix from the inverse matrix S of the signal transition probability submatrix Q; and to calculate the product of the first parameter matrix and the second parameter matrix to obtain the second input-output state matrix A of the software to be evaluated. The second calculation module is used to obtain the first probability parameter A from the second input-output state matrix A. 1,1 Second probability parameter A 1,2 And calculate the reliability R of the software to be evaluated, the formula for calculating the reliability R is: R=P1A 1,1 +P2A 1,2 ; Based on the third test results, a fault propagation intensity matrix K is constructed, including: Select two adjacent first components from each signal propagation path in the signal execution path set R′ as the second component. and the third component Generate a set of target component pairs E; Take the corresponding second signal transition probability from the target component pair set E of the first signal transition probability matrix P. Generate a second signal transition probability set P′; Get each second component The corresponding first component set serves as the second component set; Based on the signal execution path set R′, calculate each second component. Corresponding to the third component The sum of fan-in and fan-out values, along with the sum of fan-in and fan-out values of each first component in the second component set, yields the degree of each target component with respect to the corresponding first node. Second node degree d j′ ; Calculate the corresponding fault propagation intensity for each target component in the target component pair set E. The fault propagation intensity The calculation formula is: Among them, w p To preset the transition probability weights, w d F is the preset node degree weight. i For each second component The set of numbers of all first components in the corresponding second component set, where j′ is the number of each first component in the second component set; Utilizing the intensity of each fault propagation As the corresponding second non-zero element Construct the fault propagation intensity matrix K.
8. A software reliability assessment device, characterized in that, The device includes: a processor and a memory; The memory is used to store one or more program instructions; The processor is configured to run one or more program instructions to perform the steps of a software reliability assessment method as described in any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the software reliability assessment method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Software reliability assessment method based on component influence
CN110275825A
Evaluation method and evaluation system for reliability of spaceflight measurement and control software
CN115203059A