[go: up one dir, main page]

CN107797931B - Software quality evaluation method and system based on secondary evaluation - Google Patents

Software quality evaluation method and system based on secondary evaluation Download PDF

Info

Publication number
CN107797931B
CN107797931B CN201711115048.7A CN201711115048A CN107797931B CN 107797931 B CN107797931 B CN 107797931B CN 201711115048 A CN201711115048 A CN 201711115048A CN 107797931 B CN107797931 B CN 107797931B
Authority
CN
China
Prior art keywords
neural network
result
evaluation
software
software quality
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.)
Active
Application number
CN201711115048.7A
Other languages
Chinese (zh)
Other versions
CN107797931A (en
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.)
Changchun Changguang Precision Instrument Group Co ltd
Original Assignee
Changchun Changguang Precision Instrument Group Co ltd
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 Changchun Changguang Precision Instrument Group Co ltd filed Critical Changchun Changguang Precision Instrument Group Co ltd
Priority to CN201711115048.7A priority Critical patent/CN107797931B/en
Publication of CN107797931A publication Critical patent/CN107797931A/en
Application granted granted Critical
Publication of CN107797931B publication Critical patent/CN107797931B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • G06F11/3608Analysis of software for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Complex Calculations (AREA)

Abstract

The invention provides a software quality evaluation method and a system based on secondary evaluation, which are characterized in that a software quality evaluation index space is selected, and a software quality evaluation result identification framework is constructed; collecting sample data and software data to be evaluated; determining the number and the topological structure of BP neural networks; training each BP neural network in parallel, and calculating the credibility; respectively inputting quality evaluation index data of software to be evaluated into each trained BP neural network, and obtaining a preliminary evaluation result according to the output result of the BP neural network; correcting the primary evaluation result by combining the reliability of the BP neural network to generate basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing DS evidence theory to obtain a fusion result; and carrying out decision on the fusion result based on the decision criterion to generate a final evaluation result. The invention can effectively realize the evaluation of software quality.

Description

Software quality evaluation method and system based on secondary evaluation
Technical Field
The invention relates to the technical field of software quality evaluation, in particular to a software quality evaluation method and system based on secondary evaluation.
Background
Software quality is the sum of all features and all characteristics of a software product that are relevant to meeting a specified and implicit required capability. The software quality evaluation is to measure quality characteristics, sub-characteristics and the like of the evaluated software by using a proper technology and evaluate the measured result, thereby giving an evaluation result of whether the software product can meet specific requirements. The quality evaluation of the software can quantitatively give the quality level of the software, and the software can be correspondingly managed and improved according to the evaluation result data of the quality of the software.
At present, the software quality evaluation method mainly comprises the following steps:
1. analytical hierarchy process: and decomposing various factors influencing the quality of the software according to a certain standard to form different layers, and comparing the factors of the same layer by each expert in pairs to obtain a comparison matrix. However, when the comparison factors of the same level are more, the expert easily gets confused or contradictory judgment, and the comparison matrix is huge and has higher complexity.
2. Fuzzy comprehensive evaluation method: the evaluation standard of the index is subjected to fuzzy processing by adopting a method for constructing a membership function in fuzzy mathematics, and the maximum membership principle is utilized to ensure that the evaluation made according to the evaluation standard is more in line with the thinking mode of people. However, the defect of fuzzy mathematics can cause the principle to be frequently ineffective, so that phenomena such as evaluation result distortion, homogenization, jump and the like occur, and the selection of a proper membership function according to actual conditions is difficult.
3. Based on a support vector machine: the support vector machine has the unique advantage of processing the problem of small samples, avoids the process from induction to deduction of the traditional statistical learning method, and greatly simplifies the problems of traditional classification, regression and the like. However, the support vector machine is difficult to implement for large-scale training samples, and has a slightly poorer capability of solving the multi-classification problem.
4. Based on the neural network: the quality evaluation method for the complex software system is the quality evaluation method with highest current accuracy. Training the neural network by using the sample data, training the neural network as a software quality evaluation field expert, and inputting quality evaluation index data of the software to be evaluated into the neural network to obtain an evaluation result. However, the neural network is complex in calculation, the influence of parameter configuration on the output result is large, and particularly when the dimension is large, the convergence speed is low, and even the situations of non-convergence, erroneous judgment or missed judgment and the like can occur.
In summary, how to effectively implement the evaluation of the software quality is a problem to be solved.
Disclosure of Invention
In view of the above, the invention provides a software quality evaluation method and a system based on secondary evaluation, which can effectively solve the problems of low accuracy, larger influence by subjective factors of experts, weaker expandability and the like of the software quality evaluation method in the prior art.
The invention provides a software quality evaluation method based on secondary evaluation, which comprises the following steps:
selecting a software quality evaluation index space and constructing a software quality evaluation result identification framework;
collecting sample data according to a software quality evaluation index space and a software quality evaluation result identification framework, and collecting software quality evaluation index data of software to be evaluated;
determining the number of BP neural networks, and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result recognition frame;
for each BP neural network, dividing sample data into a training sample set and a test sample set, training the BP neural network by using the training sample set, and calculating the credibility of each BP neural network by using the test sample set;
respectively inputting quality evaluation index data of software to be evaluated into each trained BP neural network, and obtaining a preliminary evaluation result according to the output result of the BP neural network;
correcting the primary evaluation result by combining the reliability of the BP neural network to generate basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing DS evidence theory to obtain a fusion result;
And carrying out decision on the fusion result based on the decision criterion to generate a final evaluation result.
Preferably, the determining the number of BP neural networks, according to the software quality evaluation index space and the software quality evaluation result recognition framework, determining the topology structure of each BP neural network includes:
determining the number L of BP neural networks;
determination of BP neural network C i (i=1, 2, …, L);
and determining an activation function and a learning algorithm of the BP neural network.
Preferably, for each BP neural network, the dividing the sample data into a training sample set and a test sample set, training the BP neural network by using the training sample set, and calculating the credibility of each BP neural network by using the test sample set includes:
dividing the collected sample data set D into a training sample set and a test sample set by adopting a cross validation method;
respectively training BP neural network, and setting the currently trained BP neural network as C i
Respectively calculating the credibility of each BP neural network, and setting the BP neural network which is currently processed as C i
Preferably, the correcting the preliminary evaluation result by combining the reliability of the BP neural network to generate the basic probability assignment distribution of each proposition in the recognition frame, and fusing each evidence by using the DS evidence theory, wherein the obtaining the fusion result comprises:
Combining BP neural network C i Reliability θ of (i=1, 2, …, L) i For the preliminary evaluation results
Figure BDA0001466004570000031
Performing correction processing to generate evidence E i Basic probability assignment E of (i=1, 2, …, L) i =(m i (A 1 ),m i (A 2 ),…,m i (A N ),m i (Θ)), wherein:
Figure BDA0001466004570000032
evidence E is obtained by DS evidence theory i And (5) fusing to obtain a fusion result F.
A software quality evaluation system based on secondary evaluation, comprising:
the construction module is used for selecting a software quality evaluation index space and constructing a software quality evaluation result identification framework;
the acquisition module is used for acquiring sample data and acquiring software quality evaluation index data of the software to be evaluated according to the software quality evaluation index space and the software quality evaluation result identification frame;
the determining module is used for determining the number of BP neural networks and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result identification framework;
the calculation module is used for dividing sample data into a training sample set and a test sample set for each BP neural network, training the BP neural network by using the training sample set and calculating the credibility of each BP neural network by using the test sample set;
the output module is used for respectively inputting the quality evaluation index data of the software to be evaluated into each trained BP neural network, and obtaining a preliminary evaluation result according to the output result of the BP neural network;
The processing module is used for correcting the primary evaluation result by combining the reliability of the BP neural network, generating basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing the DS evidence theory to obtain a fusion result;
and the generating module is used for making a decision on the fusion result based on the decision criterion to generate a final evaluation result.
Preferably, the determining module is specifically configured to:
determining the number L of BP neural networks;
determination of BP neural network C i (i=1, 2, …, L);
and determining an activation function and a learning algorithm of the BP neural network.
Preferably, the computing module is specifically configured to:
dividing the collected sample data set D into a training sample set and a test sample set by adopting a cross validation method;
respectively training BP neural network, and setting the currently trained BP neural network as C i
Respectively calculating the credibility of each BP neural network, and setting the BP neural network which is currently processed as C i
Preferably, the processing module is specifically configured to:
combining BP neural network C i Reliability θ of (i=1, 2, …, L) i For the preliminary evaluation result R i + Performing correction processing to generate evidence E i Basic probability assignment E of (i=1, 2, …, L) i =(m i (A 1 ),m i (A 2 ),…,m i (A N ),m i (Θ)), wherein:
Figure BDA0001466004570000041
Evidence E is obtained by DS evidence theory i And (5) fusing to obtain a fusion result F.
According to the technical scheme, the invention provides a software quality evaluation method based on secondary evaluation, when evaluating the software quality, firstly selecting a software quality evaluation index space, and constructing a software quality evaluation result identification frame; collecting sample data according to a software quality evaluation index space and a software quality evaluation result identification framework, and collecting software quality evaluation index data of software to be evaluated; determining the number of BP neural networks, and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result recognition frame; for each BP neural network, dividing sample data into a training sample set and a test sample set, training the BP neural network by using the training sample set, and calculating the credibility of each BP neural network by using the test sample set; respectively inputting quality evaluation index data of software to be evaluated into each trained BP neural network, and obtaining a preliminary evaluation result according to the output result of the BP neural network; correcting the primary evaluation result by combining the reliability of the BP neural network to generate basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing DS evidence theory to obtain a fusion result; and carrying out decision on the fusion result based on the decision criterion to generate a final evaluation result. The software quality evaluation method disclosed by the invention has the advantages of higher accuracy, stronger expandability and shorter training time and evaluation time, and meets the requirement of quality evaluation on software.
Drawings
In order to more clearly illustrate the embodiments of the invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of an embodiment 1 of a software quality evaluation method based on secondary evaluation;
FIG. 2 is a schematic diagram of a method of dividing a sample data set into a training set and a testing set according to the present invention;
FIG. 3 is a flow chart of calculating the reliability of BP neural network according to the present disclosure;
FIG. 4 is a schematic structural diagram of an embodiment 1 of a software quality evaluation system based on secondary evaluation according to the present disclosure;
FIG. 5 is a block diagram of an on-board optoelectronic imaging system;
FIG. 6 is a training curve of the Levenberg-Marquard algorithm;
fig. 7 is a gradient descent algorithm training curve.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
As shown in fig. 1, a flowchart of an embodiment 1 of a software quality evaluation method based on secondary evaluation disclosed in the present invention is shown, where the method includes:
s101, selecting a software quality evaluation index space and constructing a software quality evaluation result identification framework;
let the selected software quality evaluation index space be u= { T 1 ,T 2 ,…,T M }, T therein i (i=1, 2, …, M) represents the i-th index in the software quality evaluation index space; the software quality evaluation result identification framework is Θ= { A 1 ,A 2 ,…,A N And software evaluation results were N levels (V 1 、V 2 、…、V N ) Proposition A i (i=1, 2, …, N) means that the quality rating of the software currently under evaluation is V i
S102, acquiring sample data according to a software quality evaluation index space and a software quality evaluation result identification framework and acquiring software quality evaluation index data of software to be evaluated;
s103, determining the number of BP neural networks, and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result identification framework;
the BP neural networks are mutually independent, and the topological structures and the parameter configurations of the BP neural networks can be completely different.
(1) And determining the number of BP neural networks as L.
(2) Determination of BP neural network C i (i=1, 2, …, L).
(1) Number of hidden layers: set to 1. The study proves that the BP neural network with a single hidden layer and an activation function of Sigmoid can approach any complex function with any precision. Increasing the number of network layers can improve the calculation accuracy and reduce errors, but can lead to greater network complexity and increase training time. To improve the calculation accuracy, a hidden layer can be selected to be used to increase the number of nodes of the hidden layer.
(2) Number of nodes of input layer: equal to the number M of evaluation indexes in the evaluation index space U.
(3) Number of nodes of output layer: the number of propositions in the software quality evaluation result identification framework theta is equal to the number N of evaluation grade numbers of the evaluation results.
(4) Number of nodes in hidden layer: and determining the number of hidden layer nodes according to the combination of the empirical formula (1) and the learning training result, wherein i is the number of nodes of an input layer, o is the number of nodes of an output layer, and a is an integer in a [1,10] interval.
Figure BDA0001466004570000061
(3) And determining an activation function and a learning algorithm of the BP neural network.
The Sigmoid function is selected as the activation function, and the Levenberg-Marquard algorithm is selected as the learning algorithm.
S104, for each BP neural network, dividing sample data into a training sample set and a test sample set, training the BP neural network by using the training sample set, and calculating the credibility of each BP neural network by using the test sample set;
For each BP neural network, dividing sample data into a training sample set and a test sample set; training the BP neural network by using a training sample set, and calculating the credibility theta of the BP neural network by using a test sample set i (i=1,2,…,L)。
(1) The acquired sample data set D is divided into training sample sets and test sample sets by cross validation (cross validation). And D is divided into S mutually exclusive subsets with similar sizes according to a formula (2), and each subset keeps the consistency of data distribution as much as possible. And taking the union set of the S-1 subsets as a training sample set each time, taking the rest subsets as test sample sets, thus obtaining S groups of training sample sets and test sample sets, carrying out S times of training and S times of testing on the BP neural network, and calculating the credibility of the BP neural network according to S times of testing results. Without loss of generality, in the present invention, s=10, and the sample data set partitioning process is detailed in fig. 2.
Figure BDA0001466004570000071
(2) Respectively training BP neural network, and setting the currently trained BP neural network as C i
(1) A training sample set is selected.
(2) Initializing parameters. Initializing and assigning weights and thresholds related in the BP neural network, and carrying out normalization processing on each sample data in the training set to enable each sample data to be located in a [ -1,1] interval.
(3) And calculating a new value obtained by inputting the weighted data in the input layer into the activation function in the hidden layer, and then performing weighted input processing on the new value to the output layer activation function to obtain a calculation result of the output layer.
(4) If the calculated result is in error with the expected result, the weight, threshold value are adjusted and the output result of each layer is recalculated until the error is within the error range.
(3) Respectively calculating the credibility of each BP neural network, and setting the BP neural network which is currently processed as C i
And evaluating the test samples in the test sample set by using the trained BP neural network, so as to calculate the credibility of the BP neural network, and the credibility is shown in figure 3. The confidence level is used for correcting the primary evaluation result before fusing the primary evaluation result by using DS evidence theory.
Set BP neural network C i The output result of (i=1, 2, …, L) is R i =(C i1 ,C i2 ,…,C iN ) Wherein C ij Represent C i Output result of j (j=1, 2, …, N) th node. Set Num k The total number of samples, alpha, of the test sample set with the sequence number k k Is C i Evaluating correct test sample count,β k Is C i Evaluating the number of erroneous test samples, gamma k Is C i The number of test samples that gave the evaluation result was rejected, and it was apparent that this was true according to definition formula (3).
Num k =α kkk (3)
In calculation C i Before the credibility of (C), R needs to be set i Normalization processing is carried out according to formulas (4) and (5), and the processing result is that
Figure BDA0001466004570000081
Wherein->
Figure BDA0001466004570000082
Is C ij Normalized results, < >>
Figure BDA0001466004570000083
Figure BDA0001466004570000084
Figure BDA0001466004570000085
To calculate BP neural network C i And (3) establishing an evaluation criterion for evaluating the software quality of the test sample by using only the BP neural network, wherein the evaluation criterion is shown in a formula (6). Wherein ε i For a preset threshold value epsilon i E (0, 1). Suppose C is to i The normalized output result is that
Figure BDA0001466004570000086
If->
Figure BDA0001466004570000087
The following evaluation criteria are satisfied, the software quality evaluation result G' =v of the current test sample p Otherwise, refusing to give the evaluation result, gamma i The value is added to 1. If BP neural network C i The given evaluation result is consistent with the real result of the test sample, alpha i Value plus 1, otherwise beta i The value is added to 1.
Figure BDA0001466004570000088
According to BP neural network C i The BP neural network C is calculated according to formulas (7) and (8) for the processing condition of the whole test sample i Reliability theta of output software quality preliminary evaluation result i ,θ i ∈[0,1]。
Figure BDA0001466004570000091
Figure BDA0001466004570000092
S105, respectively inputting quality evaluation index data of software to be evaluated into each trained BP neural network, and obtaining a preliminary evaluation result according to an output result of the BP neural network;
respectively inputting quality evaluation index data of software to be evaluated into BP neural network C i (i=1, 2, …, L) to obtain an output result R i R is taken as i Normalization processing is carried out according to formulas (4) and (5) to obtain a preliminary evaluation result
Figure BDA0001466004570000093
Wherein->
Figure BDA0001466004570000094
Is C ij Results after normalization treatment (C i For A j Is a preliminary evaluation result of (c).
S106, correcting the primary evaluation result by combining the reliability of the BP neural network to generate basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing a DS evidence theory to obtain a fusion result;
(1) Combining BP neural network C i Reliability θ of (i=1, 2, …, L) i For the preliminary evaluation result R i + Performing correction processing according to formula (9) to generate evidence E i Basic probability assignment E of (i=1, 2, …, L) i =(m i (A 1 ),m i (A 2 ),…,m i (A N ),m i (Θ))。
Figure BDA0001466004570000095
(2) Evidence E is obtained by DS evidence theory i And (5) fusing to obtain a fusion result F.
Let the possible value of random variable X be theta, call theta the identification framework of random variable X, if all elements in theta are mutually incompatible. In the invention, Θ= { A 1 ,A 2 ,…,A N And software evaluation results were N levels (V 1 、V 2 、…、V N ) Proposition A i (i=1, 2, …, N) means that the quality rating of the software currently under evaluation is V i . Let the recognition frame be Θ,2 Θ Is a power set of Θ if for the function m:2 Θ →[0,1]Satisfying equation (10), then m (A) is the base probability assignment for A.
Figure BDA0001466004570000101
Setting a function m 2 Θ →[0,1]To identify basic probability assignments on the framework Θ, the function BEL is called a trust function on Θ if the function BEL:2 Θ →[0,1]Equation (11) is satisfied and BEL (A) > 0, then A is the focal element of the trust function BEL.
Figure BDA0001466004570000102
The identification frame Θ is provided with trust functions BEL1 and BEL2, and the corresponding basic probability is assigned as m 1 And m 2 The corresponding focal element isA 1 ,…,A k And B 1 ,…,B r Then F in equation (12) is the collision factor and equation (13) is the Dempster combining rule. The Dempster combining rule satisfies the rule of combination, and when multiple evidences are fused, a pairwise fusion method can be adopted.
Figure BDA0001466004570000103
Figure BDA0001466004570000104
Evidence E for each evidence using Dempster combining rules i (i=1, 2, …, L) to obtain a fusion result f= (m) f (A 1 ),m f (A 2 ),…,m f (A N ),m f (Θ))。
And S107, making a decision on the fusion result based on a decision criterion to generate a final evaluation result.
The method for making decisions based on DS evidence theory fusion mainly comprises decisions based on trust functions, decisions based on basic probability assignment and decisions based on minimum risks. The invention selects a decision method based on basic probability assignment, and the decision criterion is shown in a formula (14). Let A be p 、A q If A p All of the following criteria are satisfied, then A p And (5) judging the result as a decision result, otherwise, refusing to give an evaluation result. Wherein Γ is 1 、Γ 2 Is a preset threshold Γ 1 ∈(0,1),Γ 1 E (0, 1). According to decision result A p The final evaluation result G=V of the software to be evaluated can be known p
Figure BDA0001466004570000111
As shown in fig. 4, a schematic structural diagram of an embodiment 1 of a software quality evaluation system based on secondary evaluation according to the present disclosure is shown, where the system includes:
the construction module 401 is used for selecting a software quality evaluation index space and constructing a software quality evaluation result identification framework;
let the selected software quality evaluation index space be u= { T 1 ,T 2 ,…,T M }, T therein i (i=1, 2, …, M) represents the i-th index in the software quality evaluation index space; the software quality evaluation result identification framework is Θ= { A 1 ,A 2 ,…,A N And software evaluation results were N levels (V 1 、V 2 、…、V N ) Proposition A i (i=1, 2, …, N) means that the quality rating of the software currently under evaluation is V i
The acquisition module 402 is used for acquiring sample data and acquiring software quality evaluation index data of the software to be evaluated according to the software quality evaluation index space and the software quality evaluation result identification framework;
a determining module 403, configured to determine the number of BP neural networks, and determine a topology structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result recognition framework;
The BP neural networks are mutually independent, and the topological structures and the parameter configurations of the BP neural networks can be completely different.
(1) And determining the number of BP neural networks as L.
(2) Determination of BP neural network C i (i=1, 2, …, L).
(1) Number of hidden layers: set to 1. The study proves that the BP neural network with a single hidden layer and an activation function of Sigmoid can approach any complex function with any precision. Increasing the number of network layers can improve the calculation accuracy and reduce errors, but can lead to greater network complexity and increase training time. To improve the calculation accuracy, a hidden layer can be selected to be used to increase the number of nodes of the hidden layer.
(2) Number of nodes of input layer: equal to the number M of evaluation indexes in the evaluation index space U.
(3) Number of nodes of output layer: the number of propositions in the software quality evaluation result identification framework theta is equal to the number N of evaluation grade numbers of the evaluation results.
(4) Number of nodes in hidden layer: and determining the number of hidden layer nodes according to the combination of the empirical formula (1) and the learning training result, wherein i is the number of nodes of an input layer, o is the number of nodes of an output layer, and a is an integer in a [1,10] interval.
Figure BDA0001466004570000121
(3) And determining an activation function and a learning algorithm of the BP neural network.
The Sigmoid function is selected as the activation function, and the Levenberg-Marquard algorithm is selected as the learning algorithm.
The calculation module 404 is configured to divide the sample data into a training sample set and a test sample set for each BP neural network, train the BP neural network by using the training sample set, and calculate the credibility of each BP neural network by using the test sample set;
for each BP neural network, dividing sample data into a training sample set and a test sample set; training the BP neural network by using a training sample set, and calculating the credibility theta of the BP neural network by using a test sample set i (i=1,2,…,L)。
(1) The acquired sample data set D is divided into training sample sets and test sample sets by cross validation (cross validation). And D is divided into S mutually exclusive subsets with similar sizes according to a formula (2), and each subset keeps the consistency of data distribution as much as possible. And taking the union set of the S-1 subsets as a training sample set each time, taking the rest subsets as test sample sets, thus obtaining S groups of training sample sets and test sample sets, carrying out S times of training and S times of testing on the BP neural network, and calculating the credibility of the BP neural network according to S times of testing results. Without loss of generality, in the present invention, s=10, and the sample data set partitioning process is detailed in fig. 2.
Figure BDA0001466004570000122
(2) The BP neural network is trained respectively,let the currently trained BP neural network be C i
(1) A training sample set is selected.
(2) Initializing parameters. Initializing and assigning weights and thresholds related in the BP neural network, and carrying out normalization processing on each sample data in the training set to enable each sample data to be located in a [ -1,1] interval.
(3) And calculating a new value obtained by inputting the weighted data in the input layer into the activation function in the hidden layer, and then performing weighted input processing on the new value to the output layer activation function to obtain a calculation result of the output layer.
(4) If the calculated result is in error with the expected result, the weight, threshold value are adjusted and the output result of each layer is recalculated until the error is within the error range.
(3) Respectively calculating the credibility of each BP neural network, and setting the BP neural network which is currently processed as C i
And evaluating the test samples in the test sample set by using the trained BP neural network, so as to calculate the credibility of the BP neural network, and the credibility is shown in figure 3. The confidence level is used for correcting the primary evaluation result before fusing the primary evaluation result by using DS evidence theory.
Set BP neural network C i The output result of (i=1, 2, …, L) is R i =(C i1 ,C i2 ,…,C iN ) Wherein C ij Represent C i Output result of j (j=1, 2, …, N) th node. Set Num k The total number of samples, alpha, of the test sample set with the sequence number k k Is C i Evaluating the correct test sample count, beta k Is C i Evaluating the number of erroneous test samples, gamma k Is C i The number of test samples that gave the evaluation result was rejected, and it was apparent that this was true according to definition formula (3).
Num k =α kkk (3)
In calculation C i Before the credibility of (C), R needs to be set i Normalization processing is carried out according to formulas (4) and (5), and the processing result is that
Figure BDA0001466004570000131
Wherein->
Figure BDA0001466004570000132
Is C ij Normalized results, < >>
Figure BDA0001466004570000133
Figure BDA0001466004570000134
Figure BDA0001466004570000135
To calculate BP neural network C i And (3) establishing an evaluation criterion for evaluating the software quality of the test sample by using only the BP neural network, wherein the evaluation criterion is shown in a formula (6). Wherein ε i For a preset threshold value epsilon i E (0, 1). Suppose C is to i The normalized output result is that
Figure BDA0001466004570000136
If->
Figure BDA0001466004570000137
The following evaluation criteria are satisfied, the software quality evaluation result G' =v of the current test sample p Otherwise, refusing to give the evaluation result, gamma i The value is added to 1. If BP neural network C i The given evaluation result is consistent with the real result of the test sample, alpha i Value plus 1, otherwise beta i The value is added to 1.
Figure BDA0001466004570000141
According to BP neural network C i The BP neural network C is calculated according to formulas (7) and (8) for the processing condition of the whole test sample i Output software quality preliminary evaluation result Degree of confidence theta i ,θ i ∈[0,1]。
Figure BDA0001466004570000142
Figure BDA0001466004570000143
The output module 405 is configured to input quality evaluation index data of software to be evaluated into each trained BP neural network, and obtain a preliminary evaluation result according to an output result of the BP neural network;
respectively inputting quality evaluation index data of software to be evaluated into BP neural network C i (i=1, 2, …, L) to obtain an output result R i R is taken as i Normalization processing is carried out according to formulas (4) and (5) to obtain a preliminary evaluation result
Figure BDA0001466004570000144
Wherein->
Figure BDA0001466004570000145
Is C ij Results after normalization treatment (C i For A j Is a preliminary evaluation result of (c).
The processing module 406 is configured to modify the preliminary evaluation result in combination with the reliability of the BP neural network, generate a basic probability assignment of each proposition in the recognition frame, and fuse each evidence by using the DS evidence theory to obtain a fused result;
(1) Combining BP neural network C i Reliability θ of (i=1, 2, …, L) i For the preliminary evaluation result R i + Performing correction processing according to formula (6) to generate evidence E i Basic probability assignment E of (i=1, 2, …, L) i =(m i (A 1 ),m i (A 2 ),…,m i (A N ),m i (Θ))。
Figure BDA0001466004570000146
(2) Evidence E is obtained by DS evidence theory i And (5) fusing to obtain a fusion result F.
Let the possible value of random variable X be theta, call theta the identification framework of random variable X, if all elements in theta are mutually incompatible. In the invention, Θ= { A 1 ,A 2 ,…,A N And software evaluation results were N levels (V 1 、V 2 、…、V N ) Proposition A i (i=1, 2, …, N) means that the quality rating of the software currently under evaluation is V i . Let the recognition frame be Θ,2 Θ Is a power set of Θ if for the function m:2 Θ →[0,1]Satisfying equation (10), then m (A) is the base probability assignment for A.
Figure BDA0001466004570000151
Setting a function m 2 Θ →[0,1]To identify basic probability assignments on the framework Θ, the function BEL is called a trust function on Θ if the function BEL:2 Θ →[0,1]Equation (11) is satisfied and BEL (A) > 0, then A is the focal element of the trust function BEL.
Figure BDA0001466004570000152
The identification frame Θ is provided with trust functions BEL1 and BEL2, and the corresponding basic probability is assigned as m 1 And m 2 The corresponding focal element is A 1 ,…,A k And B 1 ,…,B r Then F in equation (12) is the collision factor and equation (13) is the Dempster combining rule. The Dempster combining rule satisfies the rule of combination, and when multiple evidences are fused, a pairwise fusion method can be adopted.
Figure BDA0001466004570000153
Figure BDA0001466004570000154
Evidence E for each evidence using Dempster combining rules i (i=1, 2, …, L) to obtain a fusion result f= (m) f (A 1 ),m f (A 2 ),…,m f (A N ),m f (Θ))。
The generating module 407 is configured to make a decision on the fusion result based on the decision criterion to generate a final evaluation result.
The method for making decisions based on DS evidence theory fusion mainly comprises decisions based on trust functions, decisions based on basic probability assignment and decisions based on minimum risks. The invention selects a decision method based on basic probability assignment, and the decision criterion is shown in a formula (14). Let A be p 、A q If A p All of the following criteria are satisfied, then A p And (5) judging the result as a decision result, otherwise, refusing to give an evaluation result. Wherein Γ is 1 、Γ 2 Is a preset threshold Γ 1 ∈(0,1),Γ 1 E (0, 1). According to decision result A p The final evaluation result G=V of the software to be evaluated can be known p
Figure BDA0001466004570000161
For further explanation of the present invention, specific analysis and test results will be described below.
An onboard photoelectric imaging system is selected as a complex software system to be evaluated, and is used for verifying the evaluation accuracy of the invention, wherein the system is shown in a detailed view in FIG. 5, and the related index data and the evaluation result level are shown in a detailed view in Table 1. The system mainly comprises on-ball main control software, in-ball main control software, servo controller software, image tracker software, visible light camera software, laser range finder software and infrared thermal imager software, and has the main functions of autonomous tracking imaging and multiple servo working modes such as manual searching, automatic searching, digital guiding, scanning and the like.
The method of the invention is realized by MATLAB R2014a and simulation experiments are carried out. Hardware configuration of the execution environment of MATLAB R2014 a: CPU is Intel Core i 5.2 GHz, memory is 4GB, hard disk is 1TB; the operating system is Win7SP1.
The following describes the software quality evaluation process of the on-board photoelectric imaging system by using the invention, and the values of various indexes are shown in table 1:
(1) And determining the input and output of the evaluation method.
The selected software quality evaluation index space is U= { T 1 ,T 2 ,…,T 31 The process comprises the steps of } = { functional integrity, functional correctness, functional applicability, time characteristic, resource utilization, capacity, coexistence, interoperability, identifiable appropriateness, easy learning, easy operation, user error protection, user interface aesthetics, easy accessibility, maturity, availability, fault tolerance, easy recovery, confidentiality, integrity, anti-repudiation, accountability, authenticity, modularity, reusability, easy analysis, easy modification, easy testability, adaptability, easy installation, easy substitution }, and is detailed in table 1.
The built software quality evaluation result identification framework is Θ= { A 1 ,A 2 ,A 3 ,A 4 ,A 5 The software quality evaluation results were classified into 5 classes, each using V 1 、V 2 、V 3 、V 4 、V 5 To indicate that the software quality is excellent, good, acceptable, poor. Proposition A i (i=1, 2,3,4, 5) means that the quality level of the currently-to-be-evaluated software is V i
(2) 240 groups of evaluation data are collected as sample data according to the software quality evaluation index space, and the collected sample data are divided into a training sample set and a test sample set by adopting a cross validation method. For reasons of space limitations, 10 training samples and 4 test samples were selected to describe the present invention, as detailed in Table 1. Wherein the score of each evaluation index is 0,1, and the larger the score is, the better the quality of the software covered by the index is.
TABLE 1 training samples, test samples, software data to be evaluated
Figure BDA0001466004570000171
(3) After the software quality evaluation index space and the software quality evaluation result recognition frame are determined, the BP neural network C is determined i (i=1, 2, …, 8), the network topology is detailed in table 2. The neural networks are mutually independent, and the topological structures and the parameter configurations of the neural networks can be completely different.
TABLE 2 topology of neural networks
Figure BDA0001466004570000181
With 1 st BP neural network C 1 The process of training using the Levenberg-Marquard algorithm is described for purposes of example. BP neural network C 1 The parameters of (a) are set as follows: the learning rate is 0.1, the maximum training frequency is 100000, the error precision is 0.000001, the activation function is a Sigmoid function, the learning algorithm is respectively set to be a Levenberg-Marquard algorithm and a gradient descent algorithm, other parameters are set to be the same, then sample data in a training set are input, the BP neural network is trained, and corresponding training curves are shown in fig. 6 and 7 in detail. The analysis experiment result shows that the training effect of the Levenberg-Marquard algorithm is obviously better than that of the gradient descent algorithm, the gradient descent algorithm reaches the error precision after 34376 iterations, and the Levenberg-Marquard algorithm reaches the error precision after 9 iterations.
(4) After the BP neural network training is completed, the trained 8 BP neural networks are used for evaluating the test samples respectively, and the credibility of the 8 BP neural networks is calculated and obtained, and is shown in Table 3 in detail.
(5) And (3) respectively inputting M=31 evaluation indexes in U into L=8 BP neural networks to perform preliminary evaluation on software quality. The complex software system was primarily evaluated using the above-described trained 8 BP neural networks, respectively, and the results are detailed in table 3. If only one BP neural network is used for evaluating software qualityThe value (see formula (6)) is directly based on
Figure BDA0001466004570000182
The determined software quality evaluation result is G', and analysis table 3 shows that C 3 And C 5 Refusing to give the evaluation result, C 2 The determined software quality grade is V 3 ,C 1 、C 4 、C 6 、C 7 And C 8 The determined software quality grade is V 2 The evaluation conditions of the BP neural networks differ greatly, so that fusion using DS evidence theory is necessary to mitigate uncertainty.
(6) Output result R of BP neural network i (i=1, 2, …, 8) respectively and sequentially performing normalization processing and utilizing the credibility theta i Correction processing, generating evidence E i The assignment of basic probability assignments to the propositions in the recognition framework is detailed in Table 4.
(7) The results D of the 8 evidences fused by DS evidence theory are shown in Table 5.
(8) Setting a threshold in the decision criterion to Γ 1 =0.10,Γ 2 =0.10, the decision result according to the decision criterion is a 2 I.e. the final evaluation result of a certain onboard photoelectric imaging system to be evaluated is g=v 2 (good) and the true evaluation results in the sample data are consistent.
TABLE 3 preliminary evaluation results, direct evaluation results
Figure BDA0001466004570000191
Table 4 basic probability assignment for identifying propositions in a framework
Figure BDA0001466004570000192
Table 5 DS evidence theory fusion results
Figure BDA0001466004570000193
In order to verify the evaluation accuracy, training time and evaluation processing time of the method of the present invention, the above 240 sets of evaluation data were processed by the typical methods of the present invention and table 6, respectively, and the experimental results are shown in tables 7 and 8. Wherein, the evaluation processing time refers to the time from inputting the evaluation index data of the software to be evaluated into the evaluation method to obtaining the software quality evaluation result.
Table 6 experimental involves an overview of the evaluation method
Figure BDA0001466004570000201
TABLE 7 evaluation results of software to be evaluated (data sequence number 15)
Figure BDA0001466004570000202
Table 8 performance index comparison
Evaluation method Accuracy of evaluation results Training time Evaluation of processing time
PNN 73.86% 183.80ms 73.50ms
BPNN 76.73% 48285.00ms 76.60ms
LM-BPNN 85.16% 553.20ms 77.10ms
RBFNN 89.75% 201.50ms 70.80ms
The invention is that 95.23% 576.00ms 77.50ms
As can be seen from analysis of tables 7 and 8, the evaluation accuracy of the method of the invention can reach 95.23%, and is improved by 6.11% compared with RBFNN with better evaluation accuracy. The reason for this is:
(1) Compared with other methods, the method provided by the invention has the advantages that on the basis of fully playing the characteristics of the BP neural network to perform preliminary evaluation on the software quality, the DS evidence theory is utilized again to fuse the preliminary evaluation results, so that the uncertainty of evaluation data is further weakened, and the interference and conflict between evaluation indexes are effectively solved.
(2) In view of the flexibility of the system structure, each BP neural network can be dynamically modified and configured according to the credibility condition of the BP neural network so as to further improve the evaluation accuracy.
The training time of the method is 576.0ms, which is reduced by 98.81% compared with the BPNN adopting a gradient descent learning algorithm, and is the same as the LM-BPNN training time. The evaluation processing time of the method is 77.5ms, and is only increased by 9.46% compared with RBFNN with the highest evaluation speed. The reasons for this are:
(1) The invention uses a plurality of BP neural networks, but the BP neural networks are mutually independent, the training and preliminary evaluation of each BP neural network can be processed in parallel, and the training time and the preliminary evaluation time of the BP neural network only depend on one or more BP neural networks with the longest training time and the longest preliminary evaluation time. In addition, in view of the flexibility of the system structure, the BP neural network can be dynamically modified and configured according to the training time and the preliminary evaluation time of the BP neural network so as to further reduce the training time and the evaluation time of the method.
(2) Compared with other methods, the method only increases the processing time of carrying out data fusion by the DS evidence theory, but the DS evidence theory has the advantages of higher data fusion speed and lower time cost.
In summary, the innovation points of the invention are as follows:
1. the BP neural network is utilized to solve the problem that the evaluation result is greatly influenced by subjective factors of experts. The relation between the BP neural network input and the BP neural network output is a highly nonlinear mapping relation, the relation is difficult to express generally, the objective weight is automatically obtained according to feedback information through a training and learning process, and the influence of expert subjective factors in the traditional evaluation method is greatly weakened. Meanwhile, the parameters of the BP neural network have a larger influence on the fusion result, and when the prior knowledge of the problem is lacking, a large number of experiments are required to be searched for to determine the proper parameter setting. In order to solve the problem, the invention adopts a plurality of BP neural networks to carry out independent preliminary evaluation on the same evaluation index space, and utilizes DS evidence theory to fuse the preliminary evaluation results so as to obviously improve the generalization capability of the BP neural networks.
2. Interference and conflict among evaluation indexes can be effectively solved. The invention solves the problem by fusing the preliminary evaluation results by using DS evidence theory. Meanwhile, the problem that the DS evidence theory gives out paradox when the evidence of high collision is fused is fully considered.
3. In the invention, BP neural networks are mutually independent, and the topological structures and parameter configurations of the BP neural networks can be completely different, so that the system structure has the following advantages:
(1) The training and preliminary evaluation of each BP neural network can be processed in parallel, the parallel processing capacity of a computer can be fully utilized, and the data processing speed is further increased;
(2) The evaluation method has flexible system structure and strong expandability. One or more BP neural networks can be conveniently configured, added, deleted and modified, and because other BP neural networks are not affected, the existing trained BP neural networks do not need to be retrained and the reliability of the output software quality preliminary evaluation result (hereinafter referred to as the reliability of the BP neural network) is calculated, and the newly added and modified BP neural networks can be directly integrated into the existing evaluation method after the reliability is calculated. Meanwhile, the BP neural network can be dynamically modified and configured according to the training speed, the preliminary evaluation speed and the credibility condition of the BP neural network so as to further improve the training speed, the evaluation processing speed and the evaluation accuracy.
In the present specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different point from other embodiments, and identical and similar parts between the embodiments are all enough to refer to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (4)

1. The software quality evaluation method based on the secondary evaluation is characterized by comprising the following steps of:
selecting a software quality evaluation index space and constructing a software quality evaluation result identification framework;
collecting sample data according to a software quality evaluation index space and a software quality evaluation result identification framework, and collecting software quality evaluation index data of software to be evaluated;
determining the number of BP neural networks, and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result recognition frame;
for each BP neural network, dividing sample data into a training sample set and a test sample set, training the BP neural network by using the training sample set, and calculating the credibility of each BP neural network by using the test sample set, wherein the method comprises the following steps: the sample dataset D is formulated as:
Figure FDF0000023909170000011
dividing the BP neural network into S mutually exclusive subsets with similar sizes, taking a union set of S-1 subsets as a training sample set each time, taking the rest subsets as a test sample set, thus obtaining S groups of training sample sets and test sample sets, carrying out S times of training and S times of testing on the BP neural network, and calculating the credibility of the BP neural network according to S times of testing results;
The quality evaluation index data of the software to be evaluated is respectively input into each trained BP neural network, and a preliminary evaluation result is obtained according to the output result of the BP neural network, and the method comprises the following steps:
obtaining a preliminary evaluation result by the following formula
Figure FDF0000023909170000012
C ij Representing BP neural network C i Output results of j (j=1, 2, …, N) th node;
Figure FDF0000023909170000013
Figure FDF0000023909170000014
correcting the primary evaluation result by combining the reliability of the BP neural network to generate basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing DS evidence theory to obtain a fusion result;
based on the decision criterion, making a decision on the fusion result to generate a final evaluation result;
the method for calculating the reliability of the BP neural network according to the S test results comprises the following steps:
the following formula is employed as an evaluation criterion when evaluating software quality of a test sample using only a BP neural network, wherein,
Figure FDF0000023909170000021
BP neural network C respectively i Normalized output result, ε i For a preset threshold value epsilon i E (0, 1); if->
Figure FDF0000023909170000022
If the following formula is not satisfied, refusing to give an evaluation result;
Figure FDF0000023909170000023
the reliability of the BP neural network is calculated according to the following formula,
Num k =α kkk
Figure FDF0000023909170000024
Figure FDF0000023909170000025
wherein θ i Is the credibility of BP neural network, theta i ∈[0,1];Num k The total number of samples, alpha, of the test sample set with the sequence number k k Evaluating the correct test sample number, beta, for BP neural network k Evaluating the number of erroneous test samples for BP neural network, gamma k Rejecting the number of test samples giving the evaluation result to the BP neural network;
the determining the number of the BP neural networks and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result recognition frame comprises the following steps:
determining the number L of BP neural networks;
determination of BP neural network C i (i=1, 2, …, L);
wherein the number of hidden layers in the topology is set to 1,the number of nodes of the input layer is equal to the number M of the evaluation indexes in the evaluation index space U, the number of nodes of the output layer is equal to the number of propositions in the software quality evaluation result identification framework theta, namely the number N of evaluation grades of the evaluation result, and the number of nodes of the hidden layer is according to a formula
Figure FDF0000023909170000026
Is determined by combining the learning training result, wherein i is the node number of the input layer, o is the node number of the output layer, and a is [1,10 ]]Integers within the interval;
determining an activation function and a learning algorithm of the BP neural network;
the primary evaluation result is corrected by combining the reliability of the BP neural network, basic probability assignment allocation of each proposition in the recognition frame is generated, each evidence is fused by utilizing DS evidence theory, and the acquisition of the fusion result comprises the following steps:
Combining BP neural network C i Reliability θ of (i=1, 2, …, L) i For the preliminary evaluation results
Figure FDF0000023909170000033
Performing correction processing to generate evidence E i Basic probability assignment E of (i=1, 2, …, L) i =(m i (A 1 ),m i (A 2 ),…,m i (A N ),m i (Θ)), wherein:
Figure FDF0000023909170000031
evidence E is obtained by DS evidence theory i And (5) fusing to obtain a fusion result F.
2. The method of claim 1, wherein for each BP neural network, dividing the sample data into a training sample set and a test sample set, training the BP neural network using the training sample set, and calculating the reliability of each BP neural network using the test sample set comprises:
dividing the collected sample data set D into a training sample set and a test sample set by adopting a cross validation method;
respectively training BP neural network, and setting the currently trained BP neural network as C i
Respectively calculating the credibility of each BP neural network, and setting the BP neural network which is currently processed as C i
3. A software quality evaluation system based on secondary evaluation, comprising:
the construction module is used for selecting a software quality evaluation index space and constructing a software quality evaluation result identification framework;
the acquisition module is used for acquiring sample data and acquiring software quality evaluation index data of the software to be evaluated according to the software quality evaluation index space and the software quality evaluation result identification frame;
The determining module is used for determining the number of BP neural networks and determining the topological structure of each BP neural network according to the software quality evaluation index space and the software quality evaluation result identification framework;
the calculation module is configured to divide sample data into a training sample set and a test sample set for each BP neural network, train the BP neural network by using the training sample set, and calculate the credibility of each BP neural network by using the test sample set, and includes: the sample dataset D is formulated as:
Figure FDF0000023909170000032
dividing the BP neural network into S mutually exclusive subsets with similar sizes, taking a union set of S-1 subsets as a training sample set each time, taking the rest subsets as a test sample set, thus obtaining S groups of training sample sets and test sample sets, carrying out S times of training and S times of testing on the BP neural network, and calculating the credibility of the BP neural network according to S times of testing results;
the output module is used for respectively inputting the quality evaluation index data of the software to be evaluated into each trained BP neural network, and obtaining a preliminary evaluation result according to the output result of the BP neural network, and comprises the following steps:
obtaining a preliminary evaluation result by the following formula
Figure FDF0000023909170000041
C ij Representing BP neural network C i Output results of j (j=1, 2, …, N) th node;
Figure FDF0000023909170000042
Figure FDF0000023909170000043
The processing module is used for correcting the primary evaluation result by combining the reliability of the BP neural network, generating basic probability assignment allocation of each proposition in the recognition frame, and fusing each evidence by utilizing the DS evidence theory to obtain a fusion result;
the generating module is used for making a decision on the fusion result based on the decision criterion to generate a final evaluation result;
the method for calculating the reliability of the BP neural network according to the S test results comprises the following steps:
the following formula is employed as an evaluation criterion when evaluating software quality of a test sample using only a BP neural network, wherein,
Figure FDF0000023909170000044
BP neural network C respectively i Normalized output result, ε i For a preset threshold value epsilon i E (0, 1); if->
Figure FDF0000023909170000045
If the following formula is not satisfied, refusing to give an evaluation result;
Figure FDF0000023909170000046
the reliability of the BP neural network is calculated according to the following formula,
Num k =α kkk
Figure FDF0000023909170000047
Figure FDF0000023909170000048
wherein θ i Is the credibility of BP neural network, theta i ∈[0,1];Num k The total number of samples, alpha, of the test sample set with the sequence number k k Evaluating the correct test sample number, beta, for BP neural network k Evaluating the number of erroneous test samples for BP neural network, gamma k Rejecting the number of test samples giving the evaluation result to the BP neural network;
the determining module is specifically configured to:
Determining the number L of BP neural networks;
determination of BP neural network C i (i=1, 2, …, L);
wherein the number of hidden layers in the topology structure is set to be 1, the number of nodes of the input layer is equal to the number M of evaluation indexes in the evaluation index space U, the number of nodes of the output layer is equal to the number of propositions in the software quality evaluation result identification framework Θ, namely the number N of evaluation grades of the evaluation result, and the number of nodes of the hidden layer is according to a formula
Figure FDF0000023909170000051
Is determined by combining the learning training result, wherein i is the node number of the input layer, o is the node number of the output layer, and a is [1,10 ]]Integers within the interval;
determining an activation function and a learning algorithm of the BP neural network;
the processing module is specifically configured to:
combining BP neural network C i Reliability θ of (i=1, 2, …, L) i For the preliminary evaluation results
Figure FDF0000023909170000052
Performing correction processing to generate evidence E i Basic probability assignment E of (i=1, 2, …, L) i =(m i (A 1 ),m i (A 2 ),…,m i (A N ),m i (Θ)), wherein:
Figure FDF0000023909170000053
evidence E is obtained by DS evidence theory i And (5) fusing to obtain a fusion result F.
4. A system according to claim 3, wherein the calculation module is specifically configured to:
dividing the collected sample data set D into a training sample set and a test sample set by adopting a cross validation method;
Respectively training BP neural network, and setting the currently trained BP neural network as C i
Respectively calculating the credibility of each BP neural network, and setting the BP neural network which is currently processed as C i
CN201711115048.7A 2017-11-13 2017-11-13 Software quality evaluation method and system based on secondary evaluation Active CN107797931B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711115048.7A CN107797931B (en) 2017-11-13 2017-11-13 Software quality evaluation method and system based on secondary evaluation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711115048.7A CN107797931B (en) 2017-11-13 2017-11-13 Software quality evaluation method and system based on secondary evaluation

Publications (2)

Publication Number Publication Date
CN107797931A CN107797931A (en) 2018-03-13
CN107797931B true CN107797931B (en) 2023-05-23

Family

ID=61534912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711115048.7A Active CN107797931B (en) 2017-11-13 2017-11-13 Software quality evaluation method and system based on secondary evaluation

Country Status (1)

Country Link
CN (1) CN107797931B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595961B (en) * 2018-04-12 2021-07-02 西安邮电大学 A non-uniform software trust index fusion method based on grade allocation
CN108711008B (en) * 2018-05-17 2022-03-29 北京中软国际信息技术有限公司 Multi-dimensional software project health degree evaluation method based on convolutional neural network
CN109117380B (en) * 2018-09-28 2022-02-08 中国科学院长春光学精密机械与物理研究所 A software quality evaluation method, device, device and readable storage medium
CN109255389B (en) * 2018-09-28 2022-03-25 中国科学院长春光学精密机械与物理研究所 Equipment evaluation method, device, device and readable storage medium
CN109460356B (en) * 2018-10-19 2021-12-28 中国船舶重工集团公司第七一六研究所 Data fusion method for software fault prediction
CN109491709B (en) * 2018-10-29 2021-07-02 北京计算机技术及应用研究所 A Comprehensive Evaluation Method of Software Code Controllability Based on AHP and Neural Network
CN109408396A (en) * 2018-11-12 2019-03-01 中国科学院长春光学精密机械与物理研究所 Method for evaluating software quality, device, equipment and computer readable storage medium
CN110196814B (en) * 2019-06-12 2023-05-05 王轶昆 Software quality evaluation method
CN110879373B (en) * 2019-12-12 2021-09-03 国网电力科学研究院武汉南瑞有限责任公司 Oil-immersed transformer fault diagnosis method with neural network and decision fusion
CN112784277B (en) * 2020-11-03 2022-11-29 北京航空航天大学 Software credibility comprehensive evaluation method based on improved D-S evidence theory
CN112905436B (en) * 2021-04-25 2023-10-27 中航机载系统共性技术有限公司 Quality evaluation prediction method for complex software
CN113722239B (en) * 2021-11-01 2022-01-25 南昌航空大学 Airborne embedded software quality testing method, device, medium and electronic equipment
CN114816963B (en) * 2022-06-28 2022-09-20 南昌航空大学 Embedded software quality evaluation method, system, computer and readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834828A (en) * 2015-05-26 2015-08-12 重庆大学 Method for diagnosing physiological abnormality of old people based on DS evidence theory-neural network algorithm

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204872A (en) * 1991-04-15 1993-04-20 Milltech-Hoh, Inc. Control system for electric arc furnace
CN101763304A (en) * 2009-12-31 2010-06-30 合肥工业大学 Uncertain software credibility assessment method based on evidence theory
US9037519B2 (en) * 2012-10-18 2015-05-19 Enjoyor Company Limited Urban traffic state detection based on support vector machine and multilayer perceptron
CN105139070B (en) * 2015-08-27 2018-02-02 南京信息工程大学 fatigue driving evaluation method based on artificial neural network and evidence theory
CN105975984B (en) * 2016-04-29 2018-05-15 吉林大学 Network quality evaluation method based on evidence theory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834828A (en) * 2015-05-26 2015-08-12 重庆大学 Method for diagnosing physiological abnormality of old people based on DS evidence theory-neural network algorithm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于BP神经网络和D-S证据理论的粮情评价研究;马志等;《粮食加工》;第34卷(第04期);55-59 *

Also Published As

Publication number Publication date
CN107797931A (en) 2018-03-13

Similar Documents

Publication Publication Date Title
CN107797931B (en) Software quality evaluation method and system based on secondary evaluation
US20210049512A1 (en) Explainers for machine learning classifiers
CN109540520B (en) Rolling bearing fault fusion diagnosis method based on improved D-S evidence theory
CN109117380B (en) A software quality evaluation method, device, device and readable storage medium
CN110033028B (en) Conflicting evidence fusion method based on arithmetic mean closeness
Moreno-Jiménez et al. Systemic decision making in AHP: a Bayesian approach
CN112733915B (en) Situation estimation method based on improved D-S evidence theory
CN112463974B (en) Method and device for establishing knowledge graph
Li et al. On combination rule in Dempster–Shafer theory using OWA‐based soft likelihood functions and its applications in environmental impact assessment
CN109255389B (en) Equipment evaluation method, device, device and readable storage medium
CN112836765A (en) Data processing method, device and electronic device for distributed learning
CN113408565A (en) Classification method based on integrated classification model and related equipment
CN109978396A (en) A kind of early screening system and method for risk case
CN111523649B (en) Method and device for preprocessing data aiming at business model
CN112149623A (en) Self-adaptive multi-sensor information fusion system, method and storage medium
Zhang et al. Fair decision making via automated repair of decision trees
CN111126617A (en) Method, device and equipment for selecting fusion model weight parameters
CN113177610B (en) Weighted conflict evidence fusion method based on fuzzy classification
CN109308565B (en) Crowd performance grade identification method and device, storage medium and computer equipment
CN114997339B (en) Multi-source target intelligent decision method and related device
Nguyen et al. GMKIT2-FCM: a genetic-based improved multiple kernel interval type-2 fuzzy C-means clustering
CN111178443B (en) Model parameter selection, image classification and information identification methods, devices and equipment
KR102760991B1 (en) Apparatus and method for setting semiconductor parameter
KR102195958B1 (en) Method for applying the maximum number of work limits per workers based on reliability in a multi-assignment crowdsourcing based projects for artificial intelligence training data generation
CN109167642A (en) Low overhead real time spectrum figure construction method based on history judgement data study

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
GR01 Patent grant
GR01 Patent grant