CN113190457A - Software reliability evaluation method for networked system - Google Patents

Software reliability evaluation method for networked system Download PDF

Info

Publication number
CN113190457A
CN113190457A CN202110533261.XA CN202110533261A CN113190457A CN 113190457 A CN113190457 A CN 113190457A CN 202110533261 A CN202110533261 A CN 202110533261A CN 113190457 A CN113190457 A CN 113190457A
Authority
CN
China
Prior art keywords
reliability
test
software
profile
software reliability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110533261.XA
Other languages
Chinese (zh)
Inventor
简阳
许兆伟
张炜华
沈泽华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Institute Of Marine Technology & Economy
Original Assignee
China Institute Of Marine Technology & Economy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Institute Of Marine Technology & Economy filed Critical China Institute Of Marine Technology & Economy
Priority to CN202110533261.XA priority Critical patent/CN113190457A/en
Publication of CN113190457A publication Critical patent/CN113190457A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

The invention discloses a software reliability evaluation method for a networked system, which comprises the following steps: respectively carrying out software reliability evaluation on a plurality of network subsystems in a networked system and calculating the reliability index of each network subsystem; generating a plurality of system tasks according to the application scene of the networked system, and analyzing the weight of each system task; analyzing the migration relationship of the network nodes in the execution process of each system task; building a Markov chain based on the migration relationship, and calculating the reliability of each system task according to the Markov chain and the reliability index of each network subsystem; and calculating the reliability of the networked system according to the reliability of each system task and the weight of each system task. The method can be used for reliability test and evaluation of ship networked system software, and can also be used for other network-based software systems with similar characteristics.

Description

Software reliability evaluation method for networked system
Technical Field
The invention relates to the technical field of software testing, in particular to a software reliability evaluation method for a networked system.
Background
In modern war, the reliability of software is directly related to the strength of the weapon related to the software in the actual combat process, and simultaneously, whether the exertion of the weapon reaches the limit or not can be caused. For large and critical complex computer systems, software reliability is of particular importance. Among them, software failure has become one of the core factors affecting the quality of the system.
The network system for ships and warships uses computer network as core, and is composed of command control, information reconnaissance, early warning detection, communication navigation, electronic countermeasure, comprehensive guarantee and other systems, and can obtain, transmit and process battlefield information in real time, and is a military information system for guaranteeing that each level of command organization carries out scientific and efficient command control on belonged troops and weapons, and is a complex software system. The ship networking system has the characteristics of complex functions and operations and numerous input and output variables, and along with the development of high and new technologies and the continuous improvement of informatization degree, the scale and the quantity of software of the ship networking system are greatly increased, and the ship networking system mainly has the new characteristics of networking, synthesis, diversification and intelligence. The stability and reliability of the software directly relate to the fighting effect. Due to the particularity of the application background of the ship networking system, the reliability of software becomes a bottleneck for restricting the reliability of the system.
The software reliability test is a test method suitable for software reliability engineering, is very important or even indispensable in the software reliability engineering, and is a basis for correctly estimating the reliability of a software product. The existing software test case generation method is lack of formalization mode, so the automatic generation tool of the test case in various software test tools is yet to be further developed and perfected. Although hundreds of software reliability models are established at present, the software reliability models have certain limitations, and therefore, how to establish reasonable and practical software reliability models further is still to be studied from the problems of whether the software reliability models are reasonable in assumption, whether the actual application is simple and convenient, whether the application range is wide and the like. For some software with extremely high reliability requirements, the software reliability influence factors are numerous, and the software reliability evaluation by only depending on one software reliability model is not practical, because the necessary test time far exceeds the limit of practical significance. How to evaluate the reliability of these software is still lacking.
Besides whether the output result of the ship networked system is correct or not, whether the ship networked system can obtain the result in a specified time or not is also considered in the reliability test of the ship networked system software. The same applies to the input, which should be taken into account not only for the correctness of the variables to be input, but also for the input to take place at a predetermined time. An automatic closed-loop test system is required to be constructed for deep testing of embedded software. The software reliability test must use a proprietary software reliability test data generation method, and software requirements and software use conditions of users are reflected in the generated test data. The currently available software reliability testing and evaluating tools are few, the manual mode evaluation and prediction of software reliability engineering quantity is large, and the development of corresponding software reliability testing and evaluating tools is urgently needed.
Disclosure of Invention
The invention aims to provide a software reliability evaluation method for a networked system, which is used for solving the problems that in the prior art, the software reliability test and evaluation tools are few, and the engineering quantity of manual software reliability evaluation and prediction is large.
The above object of the present invention can be achieved by the following technical solutions:
the invention provides a software reliability evaluation method facing a networked system, which comprises the following steps: respectively carrying out software reliability evaluation on a plurality of network subsystems in a networked system and calculating the reliability index of each network subsystem; generating a plurality of system tasks according to the application scene of the networked system, and analyzing the weight of each system task; analyzing the migration relationship of the network nodes in the execution process of each system task; building a Markov chain based on the migration relationship, and calculating the reliability of each system task according to the Markov chain and the reliability index of each network subsystem; and calculating the reliability of the networked system according to the reliability of each system task and the weight of each system task.
Preferably, the calculating the reliability index of each network subsystem includes: describing and analyzing the application scene of the network subsystem to generate an analysis result, and constructing a software reliability test profile group based on the analysis result; acquiring operation transition probability of an application scene of the network subsystem based on an operation log method, an expert consultation method, an operation pile inserting method and a similar product method, and setting section transition probability in the test section group according to the operation transition probability; traversing each test profile in the test profile group, and randomly extracting an operation sequence according to the profile transition probability to generate a plurality of software reliability test cases in a target form; adopting a simulation test tool to analyze an execution mode and/or a manual auxiliary execution mode, and executing the test case to form failure data including failure events and the occurrence time of the failure events; two software reliability evaluation models are constructed by considering a test workload factor, a test coverage factor and a fault introduction factor; performing software reliability multi-model fusion evaluation on the plurality of failure data and the two evaluation models by using a neural network to generate a reliability index of the network subsystem; the test profile group comprises a user authority profile, a network environment profile, a task scene profile, a function use profile and an operation relation profile.
Preferably, the target form of the test case includes an XML form and a text form.
Preferably, the constructing two software reliability evaluation models by considering the test workload factor, the test coverage factor and the fault introduction factor includes: performing software reliability modeling in consideration of the test workload and the test coverage factor to form a first model; performing software reliability modeling in consideration of the fault introduction factors to form a second model; confirming the first model and the second model as the evaluation model respectively.
Preferably, the performing, by using a neural network, a software reliability multi-model fusion evaluation on the plurality of failure data and the two evaluation models to generate a reliability index of the network subsystem includes: establishing the neural network; training the neural network according to a plurality of failure data to enable the two evaluation models to be fused to form a target model meeting the use requirement; and calculating the reliability index of the network subsystem by using the target model.
Preferably, in the process of training the neural network according to the plurality of failure data, based on the fact that the number of terms in the failure data is greater than a preset value, a part of the number of terms is intercepted from the failure data to train the neural network.
Preferably, the test case is executed in an artificial auxiliary execution mode based on the fact that the test case is difficult to execute in an analysis execution mode of a simulation test tool.
The invention has at least the following characteristics and advantages:
the method can be used for reliability test and evaluation of ship networked system software, and can also be used for other network-based software systems with similar characteristics. Meanwhile, the method is suitable for the reliability evaluation of software by an evaluation mechanism and the reliability distribution and evaluation of the general unit. In addition, the invention also has the condition of popularization and application in the military software evaluation industry, and has obvious economic benefit, important military benefit and good social benefit.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a flow chart of the software reliability evaluation method for the networked system according to the present invention;
FIG. 2 is a flowchart of the software reliability evaluation method for the networked system according to the present invention;
FIG. 3 is a flowchart of the software reliability evaluation method for the networked system according to the present invention;
FIG. 4 is a flowchart of the software reliability evaluation method for the networked system according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the embodiments described below are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention provides a software reliability evaluation method for a networked system, please refer to fig. 1 to 4, which comprises the following steps:
s1, respectively carrying out software reliability evaluation on a plurality of network subsystems in the networked system and calculating the reliability index of each network subsystem;
s2, generating a plurality of system tasks according to the application scene of the networked system, and analyzing the weight of each system task;
s3, analyzing the migration relationship of the network nodes in the process of executing each system task;
s4, constructing a Markov chain based on the migration relationship, and calculating the reliability of each system task according to the Markov chain and the reliability index of each network subsystem;
and S5, calculating the reliability of the networked system according to the reliability of each system task and the weight of each system task.
In some specific embodiments, if the networked system includes a plurality of network subsystems, the whole system is complex and large, and it is difficult to construct a reliability test profile and a test environment for the whole system, software reliability evaluation can be performed on each subsystem according to steps one to six, and subsystem software reliability indexes are calculated respectively. Dividing system tasks according to the application scene of the whole system, analyzing the weight of the system tasks, analyzing the network node migration relationship in the task execution process of the networked system, constructing a Markov chain according to the structure migration process, and calculating the reliability of each task through the Markov; and finally, calculating the reliability of the whole system according to the task weight.
In some embodiments, referring to fig. 2, calculating the reliability indicator for each network subsystem includes:
s11, describing and analyzing the application scene of the network subsystem to generate an analysis result, and constructing a software reliability test profile group based on the analysis result;
in some embodiments, the software reliability test profile group is constructed in a top-down, layer-by-layer refinement manner. Specifically, the test profile group includes a user authority profile, a network environment profile, a task scene profile, a function usage profile, and an operation relationship profile.
Wherein, (1) user authority profile: for military software systems based on networks, there is usually only one software client, namely the military. But a software system has different user rights. For example, ship formation combat command control system software has various user rights such as a sea commander, an air commander and an emotion and power commander. The user permission profile is a collection of user groups and their probability of occurrence, in either case, different users may use the system in different ways, and this difference may be the result of different roles of work.
(2) Network environment profile: the system or the equipment is used for describing the communication interaction with the tested software, and meanwhile, a one-way relation and a two-way relation are provided for describing the interaction relation between the tested software and the outside. And constructing related parameters of communication and message formats of the communication in a network environment profile. The communication parameters comprise parameters such as protocol types, local IP addresses, local ports, subnet masks, remote IP addresses, remote ports and the like, each message is formed by packaging different variables, and the variables are Boolean type variables, integer type variables, floating point type variables, enumeration type variables and character string type variables. The network environment profile is mainly used for generating test environment configuration parameters and providing basic variables for operation.
(3) Task scene profile: the task scenes are a set of functions, the system is decomposed from a macroscopic view, under different task scenes, the system can execute completely different functions, the system can be switched among a plurality of task scenes, but only one task scene is operated at the same time; or several task scenes exist simultaneously, share the same resource, and switch among several task scenes according to a time slice principle or a certain trigger condition. And the task scenes correspond to the system working modes one to one. The warship formation combat command control system software is taken as an example and has the forms of an on-duty task scene, a training task scene and a replay task scene.
(4) Functional use profile: after the task scene profiles exist, the task scene profiles need to be continuously divided into function profiles, each task scene may include a plurality of functions, different task scene profiles may include the same function, but occurrence probabilities of the different task scene profiles may be different, and the function profiles are more specific than the task scene profiles. For each task scenario, at least one functional profile must be determined. The functional profile is also made up of functions and the probability of their occurrence, i.e. which services the software needs to provide to the user, is usually constructed during the demand analysis phase, and this process extends all the way to the high level design phase.
(5) Operational relationship section: which is a combination of operations and probabilities of occurrence of the operations. In the functional profile, a function is not yet an entity that can actually be executed, and an operation is performed on a specific variable. It is understood that operating as a specific non-separable small function under the functional profile, a function is a collection, and the elements in the collection are individual operations. The same operation may occur in different functional profiles, and the same operation may occur in different functions. The operation can be seen as consisting of a sequence of input variables with timing and conditions, the combination of the different values of the variables constituting different instances of operation, i.e. runs. Different values of some variables are equivalent to software failure, so that different value levels can be divided for the input value range of the input variable.
The method is used for constructing the software reliability test profile group, is the basis of software reliability test, and can record correct data in the subsequent test only by accurately describing the mode of actually using the software by a user, so that the reliability index of the software can be analyzed. The software reliability test profile group construction method can describe the migration and conversion relations among software user authority, network architecture, task scene and function and operation, can more accurately describe the operation and use relation of a networked system, and can automatically generate and execute test cases.
S12, acquiring operation transition probability of an application scene of the network subsystem based on an operation log method, an expert consultation method, an operation instrumentation method and a similar product method, and setting section transition probability in a test section group according to the operation transition probability;
the method for acquiring the test profile transition probability mainly comprises the steps of acquiring the profile probability based on an operation log, acquiring the profile probability based on an expert consulting method, acquiring the profile probability based on an operation pile inserting method and acquiring the profile probability based on a similar product method. The operation log-based method is to analyze according to the log record of the system to obtain an operation list and an operation frequency. The expert consultation based method is to score the software using condition according to the personal knowledge, experience and expertise of experts on the system. The operation-based instrumentation method means that a probe is manually inserted into a tested program to record the execution condition of the operation. Similar product based methods refer to obtaining probabilities between products and approximating product usage. With the connection relation and the transition probability of the profile elements, a complete software reliability test profile is obtained. The software reliability test profile is used for automatically generating a reliability test case.
S13, traversing each test profile in the test profile group, and randomly extracting an operation sequence according to the profile transition probability to generate a plurality of software reliability test cases in a target form;
firstly, traversing a test profile on the basis of using a classical depth-first search algorithm, and then extracting an operation sequence according to the occurrence probability of the operation sequence after traversing the use profile to obtain the operation sequence covering all paths; after the operation sequence is extracted, constraint processing is carried out by combining operation information on each operation point, and executable test data are generated. The information on the operation point is mainly constraint information, and the constraint can be classified into a value constraint and a time constraint.
Different values of some variables are equivalent to software failure, so that different value levels can be divided for the input value domain of the input variable, and the values in the same level execute the same code path and have the same failure influence.
According to the concept of operation classification, the combination of the value levels of the variables constituting the operation constitutes an operation classification, and the number of the operation classifications is the full combination of the value levels of the input variables constituting the operation. And (4) selecting the operation classification which has the highest occurrence probability and meets the pairwise combination requirement by considering the probability of the value level of the input variable, and obtaining the operation classification group according to the real operation in the test. Selecting one operation classification from the operation classification group according to the probability as a basis for instantiating the operation. And finally, selecting a specific value for each variable level in the selected operation classification, and instantiating the specific value into a reliability test case.
Test environment information is generated through the network environment profile, and test environment construction and configuration can be assisted.
In some embodiments, the target form of the test case includes an XML form and a text form. The invention adopts XML technology to store the test case, which is convenient for the user to browse, and can drive the test execution by means of a third-party tool, and after the test data is generated by the test profile, the XML technology is used to define the case model for the storage, display and conversion of the test case. The XML test case model comprises test case numbers, test titles, importance levels, step combination, test steps and the like.
S14, adopting a simulation test tool to analyze an execution mode and/or a manual auxiliary execution mode, and executing a test case to form failure data including failure events and the occurrence time of the failure events;
in some embodiments, the test case can be executed by analyzing the execution mode by using the simulation test tool, so that the test case is executed only by using the mode. By adopting the mode, the execution of the test case can be automatically finished without manual assistance, so that high automation is achieved, the risk of manual misoperation is reduced, and the test efficiency can be improved.
In some embodiments, the test case is executed in a manual-assisted execution mode based on the difficulty in executing the test case in the simulation test tool analysis execution mode. The method can improve the execution efficiency of the test case, thereby achieving the effect of saving the test time and the test cost.
Of course, in some extreme embodiments, it is difficult to analyze the execution mode by using the simulation test tool and execute one test case, so for this case, the execution mode of human assistance is used for all test cases.
In some embodiments, when the test starts, the test platform main control node issues the test case XML file to each simulation node, and after receiving the test cases in the XML format, the simulation node performs instruction parsing to identify each execution instruction therein, and drives automatic execution of each step of the test case, thereby implementing automatic execution of the test case. And executing the use cases which are difficult to analyze and execute through the test tool in a manual operation mode. The software reliability test is a 'test-modification-test' closed loop process, the software reliability evaluation is required to be carried out according to a related method in the test process, a reliability target value to be reached is selected in advance, and when the reliability estimated value reaches or exceeds the target value, the test is considered to be sufficient.
S15, considering a test workload factor, a test coverage factor and a fault introduction factor to construct two software reliability evaluation models;
the software reliability evaluation model is a mathematical equation for describing the relationship between software failure and software error and the relationship between software failure and an operation profile, and the characteristics of the software reliability can be quantitatively evaluated by the aid of the model. In the modeling process, the influence effect of some important test factors on the software reliability is considered, and the detection and elimination process of failure in the actual test process, and the fitting and prediction precision of the model are more accurately described. The testing workload quantitatively describes various consumed testing resources, the testing coverage rate is an effective measurement index of testing sufficiency and testing efficiency, and the testing workload and the testing coverage rate are the most important influence factors on the software reliability. The testing workload can quantitatively depict various testing resources consumed in the software testing process, and is measured by testing information such as human, the number of testing cases, CPU time and the like. According to different coverage information, the test coverage can be measured by a plurality of types of test information, such as statement coverage, branch coverage, C-use coverage, P-use coverage and the like. The fault introduction progress has an important influence on the software debugging process, and the conditions of irregular change, regular unstable change and the like of the fault introduction are considered.
In some embodiments, referring to fig. 3, constructing two software reliability assessment models considering the test workload factor, the test coverage factor and the fault introduction factor, S15 includes:
s151, modeling software reliability by considering test workload and test coverage rate factors to form a first model;
the basic assumption is that: the detection and elimination process of software failure obeys the NHPP process along with time; current failures are caused by defects remaining in the software; in the time interval [ t, t + delta t ], the ratio of the detected defect number average value to the current test workload consumption rate is in direct proportion to the software residual defect number average value, the ratio is the current defect detection rate function r (t), and can be represented by the ratio of the test coverage increase rate function C' (t) at the time t to the current uncovered code ratio 1-C (t); once a defect is found, it is immediately eliminated and no new defects are introduced.
NHPP modeling framework considering test workload and test coverage
Figure BDA0003068718880000081
Wherein m (t) represents an expected mean function of the number of detected defects over a time interval [0, t ]; w (t) represents the test workload consumption rate function, which is the derivative of the test workload function (denoted as w (t)) over the test time t, i.e., w (t) dw (t)/dt. And when the boundary conditions are that m (0) is 0 and W (0) is 0, substituting different forms of test workload functions W (t) into the differential equation and solving to obtain various different reliability models of the NHPP software.
Assuming that the Logistic function is used to describe the variation of the test coverage rate with time, the cumulative test coverage rate reached in [0, t ] is:
Figure BDA0003068718880000091
assuming that the variation of the test workload with time is described by a deformed sigmoid function, the cumulative test workload consumed in [0, t ] is:
Figure BDA0003068718880000092
under the condition that m (0) IS 0 and W (0) IS 0, the simplified differential equation IS solved, and the multi-factor NHPP model considering IS-TEF and LO-TCF can be obtained:
Figure BDA0003068718880000093
s152, performing software reliability modeling by considering fault introduction factors to form a second model;
the basic assumption is that: fault detection follows a non-homogeneous bernoulli process (NHPP) and fault introduction follows a normal distribution. Software failure occurs randomly, and the currently detected software failure has a certain relationship with the remaining failures in the software. The introduced faults occur randomly, and the currently introduced new software faults have a certain relation with the introduction of new faults from the rest faults in the software. The fault introduction rate fluctuates irregularly with the test time. Each time a fault is detected and immediately removed, a new fault may be introduced. The fault content (total) function is a non-linear and time dependent function.
The software reliability growth model based on NHPP (non-volatile random Access) classes assumes that the number of faults detected in unit time has a certain relation with the number of remaining faults in software
Figure BDA0003068718880000094
Wherein m (t) represents a mean function; b (t) represents a fault detection rate function; a (t) function representing the contents (total number) of the fault
Figure BDA0003068718880000095
α (t) represents a fault introduction rate function; a represents the number of expected initial detected faults; a is1Indicating the number of faults expected to eventually be introduced.
Considering the irregular variation of the fault introduction rate, the following fault introduction rate function can be obtained,
α(t)=αtd+ δ γ (t) where α is the fault introduction rate; d is a shape parameter; d is a normal quantity expressed as an irregular fluctuation series; g (t) represents standard gaussian white noise.
The expected fault content (total) function can be expressed as,
Figure BDA0003068718880000101
assuming b (t) is b, the solution yields:
Figure BDA0003068718880000102
and S153, respectively confirming the first model and the second model as evaluation models.
In the modeling process, the influence effect of the testing workload, the testing coverage rate, the fault introduction, the fault detection rate and other important testing factors on the software reliability is considered, so that the detection and elimination process of the failure in the actual testing process can be more accurately described, and the fitting and prediction precision of the model can be further improved. Meanwhile, by means of the thought of the combined model and the strong fitting capability and generalization characteristic of the neural network, a plurality of reliability models suitable for failure data are selected according to failure data trend analysis, and the optimal configuration of the weight of each model is realized by utilizing a three-layer BP neural network algorithm, so that a better reliability prediction effect is obtained.
S16, performing software reliability multi-model fusion evaluation on the plurality of failure data and the two evaluation models by using a neural network to generate a reliability index of the network subsystem;
in some embodiments, referring to fig. 4, S16, the performing a software reliability multi-model fusion evaluation on the plurality of failure data and the two evaluation models by using a neural network to generate the reliability index of the network subsystem includes:
s161, establishing a neural network;
s162, training the neural network according to the plurality of failure data so as to fuse the two evaluation models to form a target model meeting the use requirement;
in some embodiments, in the process of training the neural network according to the plurality of failure data, based on the fact that the number of terms in the failure data is greater than a preset value, a part of the number of terms is intercepted from the failure data to train the neural network.
In some specific embodiments, the two reliability evaluation models are fused based on a neural network according to failure data of the tested object, so that the one-sidedness predicted by a single model is eliminated, and the comprehensive optimization is achieved. And synthesizing the data by adopting a BP neural network. Establishing a BP neural network, taking the prediction data of the selected basic model as network input and training the network input, predicting software failure data by using the trained network, and comparing and analyzing the prediction result with the prediction result of the corresponding model. The method comprises the steps that n basic models selected by software reliability model classification comparison predict a set of failure data to obtain n sets of prediction results, corresponding items of the n sets of data form a set of n-dimensional vectors, each n-dimensional vector and actual data corresponding to the n-dimensional vectors form a training pair of a BP neural network, the n-dimensional vectors are used as input of the network, the actual data are used as ideal output of the network, and the network is trained. Because the increase of software failure data can not obviously improve the prediction result of the model, if a certain group of failure data items are excessive, a part of items can be intercepted as the input of a BP neural network to perform model fusion prediction on the failure data items.
And S163, calculating the reliability index of the network subsystem by using the target model.
The method can be used for reliability test and evaluation of ship networked system software, and can also be used for other network-based software systems with similar characteristics. Meanwhile, the method is suitable for the reliability evaluation of software by an evaluation mechanism and the reliability distribution and evaluation of the general unit. In addition, the invention also has the condition of popularization and application in the military software evaluation industry, and has obvious economic benefit, important military benefit and good social benefit.
Although the present invention has been described with reference to the preferred embodiments, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (7)

1. A software reliability evaluation method for a networked system is characterized by comprising the following steps:
respectively carrying out software reliability evaluation on a plurality of network subsystems in a networked system and calculating the reliability index of each network subsystem;
generating a plurality of system tasks according to the application scene of the networked system, and analyzing the weight of each system task;
analyzing the migration relationship of the network nodes in the execution process of each system task;
building a Markov chain based on the migration relationship, and calculating the reliability of each system task according to the Markov chain and the reliability index of each network subsystem;
and calculating the reliability of the networked system according to the reliability of each system task and the weight of each system task.
2. The networked system-oriented software reliability assessment method according to claim 1, wherein the calculating the reliability index of each network subsystem comprises:
describing and analyzing the application scene of the network subsystem to generate an analysis result, and constructing a software reliability test profile group based on the analysis result;
acquiring operation transition probability of an application scene of the network subsystem based on an operation log method, an expert consultation method, an operation pile inserting method and a similar product method, and setting section transition probability in the test section group according to the operation transition probability;
traversing each test profile in the test profile group, and randomly extracting an operation sequence according to the profile transition probability to generate a plurality of software reliability test cases in a target form;
adopting a simulation test tool to analyze an execution mode and/or a manual auxiliary execution mode, and executing the test case to form failure data including failure events and the occurrence time of the failure events;
two software reliability evaluation models are constructed by considering a test workload factor, a test coverage factor and a fault introduction factor;
performing software reliability multi-model fusion evaluation on the plurality of failure data and the two evaluation models by using a neural network to generate a reliability index of the network subsystem;
the test profile group comprises a user authority profile, a network environment profile, a task scene profile, a function use profile and an operation relation profile.
3. The networked system-oriented software reliability assessment method according to claim 2, wherein the target form of the test case comprises an XML form and a text form.
4. The networked system-oriented software reliability assessment method according to claim 2, wherein the step of constructing two software reliability assessment models in consideration of the test workload factor, the test coverage factor and the fault introduction factor comprises:
performing software reliability modeling in consideration of the test workload and the test coverage factor to form a first model;
performing software reliability modeling in consideration of the fault introduction factors to form a second model;
confirming the first model and the second model as the evaluation model respectively.
5. The networked system-oriented software reliability assessment method according to claim 4, wherein the performing software reliability multi-model fusion evaluation on the plurality of failure data and the two evaluation models by using a neural network to generate the reliability index of the network subsystem comprises:
establishing the neural network;
training the neural network according to a plurality of failure data to enable the two evaluation models to be fused to form a target model meeting the use requirement;
and calculating the reliability index of the network subsystem by using the target model.
6. The networked system-oriented software reliability evaluation method according to claim 5, wherein in the process of training the neural network according to the plurality of failure data, based on the fact that the number of terms in the failure data is greater than a preset value, a part of the number of terms is intercepted from the failure data to train the neural network.
7. The networked system-oriented software reliability assessment method according to any one of claims 2 to 6, wherein the test case is executed in a manual-assisted execution manner based on the difficulty in executing the test case in an analysis execution manner by using a simulation test tool.
CN202110533261.XA 2021-05-17 2021-05-17 Software reliability evaluation method for networked system Pending CN113190457A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110533261.XA CN113190457A (en) 2021-05-17 2021-05-17 Software reliability evaluation method for networked system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110533261.XA CN113190457A (en) 2021-05-17 2021-05-17 Software reliability evaluation method for networked system

Publications (1)

Publication Number Publication Date
CN113190457A true CN113190457A (en) 2021-07-30

Family

ID=76982111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110533261.XA Pending CN113190457A (en) 2021-05-17 2021-05-17 Software reliability evaluation method for networked system

Country Status (1)

Country Link
CN (1) CN113190457A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807743A (en) * 2021-10-08 2021-12-17 中国电力科学研究院有限公司 Power grid dispatching automation software reliability assessment method and system
CN114816963A (en) * 2022-06-28 2022-07-29 南昌航空大学 Embedded software quality evaluation method, system, computer and readable storage medium
CN115827453A (en) * 2022-12-01 2023-03-21 中国兵器工业信息中心 Reliability test profile construction and test case generation method for networked software system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914353A (en) * 2014-04-17 2014-07-09 北京航空航天大学 Combined test method for combining software reliability tests with hardware reliability tests
CN104679650A (en) * 2015-02-03 2015-06-03 上海交通大学 Method for evaluating credibility of software architecture oriented models
CN106529832A (en) * 2016-12-06 2017-03-22 贵州电网有限责任公司电力科学研究院 Relay protection system risk assessment method based on Markov reliability correction model
CN109828925A (en) * 2018-06-25 2019-05-31 北京航空航天大学 A kind of software reliability measure based on software network structure feature
CN109933047A (en) * 2019-03-22 2019-06-25 北京航空航天大学 A kind of joint reliability test sectional plane building method of software and hardware hybrid system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914353A (en) * 2014-04-17 2014-07-09 北京航空航天大学 Combined test method for combining software reliability tests with hardware reliability tests
CN104679650A (en) * 2015-02-03 2015-06-03 上海交通大学 Method for evaluating credibility of software architecture oriented models
CN106529832A (en) * 2016-12-06 2017-03-22 贵州电网有限责任公司电力科学研究院 Relay protection system risk assessment method based on Markov reliability correction model
CN109828925A (en) * 2018-06-25 2019-05-31 北京航空航天大学 A kind of software reliability measure based on software network structure feature
CN109933047A (en) * 2019-03-22 2019-06-25 北京航空航天大学 A kind of joint reliability test sectional plane building method of software and hardware hybrid system

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LIJIN WU: "Scenario-Based Software Reliability Testing and Evaluation of Complex Information Systems", 《2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY COMPANION》 *
唐佩佳;谢永杰;吴安波;焦姣;: "基于马尔可夫链的构件软件可靠性评估模型", 计算机应用 *
霍永华;汤十党;: "分级分布式软件系统可靠性评估算法", 无线电通信技术 *
韩凤霞;王红军;邱城;: "基于模糊贝叶斯网络的生产线系统可靠性评价", 制造技术与机床 *
韩卫占: "通信网网络管理控制系统可靠性及其评价研究", 《西安电子科技大学学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807743A (en) * 2021-10-08 2021-12-17 中国电力科学研究院有限公司 Power grid dispatching automation software reliability assessment method and system
CN114816963A (en) * 2022-06-28 2022-07-29 南昌航空大学 Embedded software quality evaluation method, system, computer and readable storage medium
CN114816963B (en) * 2022-06-28 2022-09-20 南昌航空大学 Embedded software quality evaluation method, system, computer and readable storage medium
CN115827453A (en) * 2022-12-01 2023-03-21 中国兵器工业信息中心 Reliability test profile construction and test case generation method for networked software system
CN115827453B (en) * 2022-12-01 2023-09-08 中国兵器工业信息中心 Reliability test section structure and test case generation method of networked software system

Similar Documents

Publication Publication Date Title
CN112202736B (en) Communication network anomaly classification method based on statistical learning and deep learning
Bolbot et al. Vulnerabilities and safety assurance methods in Cyber-Physical Systems: A comprehensive review
CN113190457A (en) Software reliability evaluation method for networked system
CN107231436B (en) Method and device for scheduling service
Aizpurua et al. Supporting group maintenance through prognostics-enhanced dynamic dependability prediction
CN110489898B (en) Dynamic multi-level system modeling and state prediction method based on hybrid cognition
CN111177900B (en) Space man-machine system security dynamic modeling method based on matching fitness
Gregoriades et al. Scenario-based assessment of nonfunctional requirements
CN106446506A (en) Multi-method-combined automatic and intelligent prediction method of moonlet state
Pilch et al. Statistical Model Checking for hybrid Petri nets with multiple general transitions
Bouktif et al. A novel composite model approach to improve software quality prediction
Gillula et al. Sampling-based approximation of the viability kernel for high-dimensional linear sampled-data systems
Yang et al. An intelligent operational supervision system for operability and reliability analysis of operators manual actions in Task Implementation
Mordoch et al. Learning safe numeric action models
Khalid et al. Early cost estimation of software reworks using fuzzy requirement-based model
Wei et al. A new BRB model for security-state assessment of cloud computing based on the impact of external and internal environments
Alweshah et al. Evolution of software reliability growth models: a comparison of auto-regression and genetic programming models
Boring et al. A research roadmap for computation-based human reliability analysis
US11494654B2 (en) Method for machine failure prediction using memory depth values
Ferlin et al. An automated method for the study of human reliability in railway supervision systems
Nardone et al. Probabilistic model checking applied to autonomous spacecraft reconfiguration
Peng et al. A multi-layer FRAM based approach to short-term human-automation resilience assessment: A case study on dynamic positioning system in offshore tandem offloading process
CN110865939B (en) Application program quality monitoring method, device, computer equipment and storage medium
Pattnaik et al. Prediction of software quality using neuro-fuzzy model
Mikat et al. Development of Diagnostics & Prognostics for Condition-Based Decision Support

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Lijin

Inventor after: Jian Yang

Inventor after: Xu Zhaowei

Inventor after: Zhang Weihua

Inventor after: Shen Zehua

Inventor before: Jian Yang

Inventor before: Xu Zhaowei

Inventor before: Zhang Weihua

Inventor before: Shen Zehua