CN111881023A - Software aging prediction method and device based on multi-model comparison - Google Patents

Software aging prediction method and device based on multi-model comparison Download PDF

Info

Publication number
CN111881023A
CN111881023A CN202010664912.4A CN202010664912A CN111881023A CN 111881023 A CN111881023 A CN 111881023A CN 202010664912 A CN202010664912 A CN 202010664912A CN 111881023 A CN111881023 A CN 111881023A
Authority
CN
China
Prior art keywords
aging
prediction
prediction model
model
aging prediction
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.)
Granted
Application number
CN202010664912.4A
Other languages
Chinese (zh)
Other versions
CN111881023B (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.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
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 Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN202010664912.4A priority Critical patent/CN111881023B/en
Publication of CN111881023A publication Critical patent/CN111881023A/en
Application granted granted Critical
Publication of CN111881023B publication Critical patent/CN111881023B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

The invention discloses a software aging prediction method and device based on multi-model comparison, belonging to the field of software aging, wherein aging indexes are collected from a target software system and processed into time sequence data as the pre-input of a model; aiming at the scale of aging data, designing an aging prediction model comprising machine learning and a neural network, calculating the prediction error of each model, and selecting the model with the minimum error as a candidate model; and calculating whether the model has significant difference with other models, and if the difference is obvious, selecting the model as a final aging prediction model. The invention solves the problem that the prediction result of a single model may influence decision making, and a user can automatically select a proper model according to the aging data characteristics and the prediction error, thereby avoiding the initiative maintenance measures from being executed early or late and reducing the influence on the software reliability. More models can be expanded, and the optimal prediction model can be selected for different aging data sizes to help the system operation and maintenance.

Description

Software aging prediction method and device based on multi-model comparison
Technical Field
The invention belongs to the field of software aging, and particularly relates to a software aging prediction method and device based on multi-model comparison.
Background
For various system software, such as a Linux operating system, an Apache server, middleware, a J2EE application server, a software system in an internet of things environment, and various mobile devices, during a long-time operation, performance is degraded and finally crashed due to accumulation of errors and consumption of resources, which is called software aging. Software aging prediction is widely used as an active maintenance technique for software regeneration. The prediction mode may infer and predict future states based on current or past states of the system. The system resource usage for the next state is estimated using techniques such as machine learning or time series methods. This prediction mode can estimate the time that system resources are exhausted and make a reasonable decision before the system shows an aging trend.
However, conventional machine learning-based methods tend to take little consideration of timing information hidden by representative parameter values during software aging, and a single model may have different predictive capabilities for different data characteristics (linear or non-linear), resulting in lower prediction accuracy. Therefore, in the research of software aging prediction, aging data characteristics and high-precision prediction requirements need to be considered at the same time.
Disclosure of Invention
Aiming at the defects or improvement requirements of the prior art, the invention provides a software aging prediction method and device based on multi-model comparison, which solve the problem that the prediction result of a single model may influence decision making, can automatically select a proper model according to the aging data characteristics and the prediction error, avoid active maintenance measures from being executed early or late, and reduce the influence on the software reliability.
To achieve the above object, according to an aspect of the present invention, there is provided a software aging prediction method based on multi-model comparison, including:
s1: collecting raw data of an aging index from a target software system;
s2: processing the original data of the aging indexes into time sequence data to form a data set;
s3: designing a plurality of aging prediction models according to the aging data scale, and taking the data set as the input of each aging prediction model;
s4: calculating the prediction error of each aging prediction model, and selecting the aging prediction model with the minimum prediction error and the best fitting effect as a candidate aging prediction model;
s5: and calculating whether the candidate aging prediction model is significantly different from other residual aging prediction models, if so, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model.
Preferably, step S2 includes:
and processing the original data of the aging indexes into time sequence data indexed according to time according to the sampling period of the original data of the aging indexes to form a data set.
Preferably, the aging prediction model comprises several machine learning and neural network aging prediction models.
Preferably, step S4 includes:
repeatedly using the aging prediction models for multiple predictions, and taking the average value of the prediction errors of the prediction results of each aging prediction model as the final prediction error of the corresponding aging prediction model;
and selecting the aging prediction model with the minimum final prediction error and the best fitting effect of the prediction result and the real observation value as a candidate aging prediction model.
Preferably, step S5 includes:
calculating whether there is a significant difference between the candidate aging prediction model and other remaining aging prediction models using a rank sum test in a non-parametric test;
if the candidate aging prediction model and other residual aging prediction models have significant differences, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model;
and if the difference between the candidate aging prediction model and the other residual aging prediction models is not obvious, continuously selecting the prediction model with the minimum prediction error of a certain time of experiments in the candidate aging prediction model and the aging prediction model with the unobvious difference as the final aging prediction model.
According to another aspect of the present invention, there is provided a software aging prediction apparatus based on multi-model comparison, including: the device comprises a data acquisition module, a prediction module and a verification module;
the data acquisition module is used for collecting aging index original data from a target software system and processing the aging index original data into time sequence data to form a data set;
the prediction module is used for designing a plurality of aging prediction models according to the scale of aging data, taking the data set as the input of each aging prediction model, calculating the prediction error of each aging prediction model, and selecting the aging prediction model with the minimum prediction error and the best fitting effect as a candidate aging prediction model;
the verification module is used for calculating whether a significant difference exists between the candidate aging prediction model and other residual aging prediction models, if the difference is obvious, the candidate aging prediction model is selected as a final aging prediction model, and the final aging prediction model is used for performing aging prediction on the target software system.
Preferably, the data acquisition module is configured to collect raw aging indicator data from a target software system, and process the raw aging indicator data into time-series data indexed by time according to a sampling period of the raw aging indicator data to form a data set.
Preferably, the aging prediction model comprises several machine learning and neural network aging prediction models.
Preferably, the prediction module is configured to design a plurality of aging prediction models for an aging data scale, use the data set as an input of each aging prediction model, repeat multiple prediction using each aging prediction model, take a mean value of prediction errors of prediction results of each aging prediction model as a final prediction error of the corresponding aging prediction model, and select an aging prediction model with the smallest final prediction error and the best fitting effect between the prediction result and a real observation value as a candidate aging prediction model.
Preferably, the verification module is configured to calculate whether there is a significant difference between the candidate aging prediction model and other remaining aging prediction models using a rank sum test in a non-parametric test; if the candidate aging prediction model and other residual aging prediction models have significant differences, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model; and if the difference between the candidate aging prediction model and the other residual aging prediction models is not obvious, continuously selecting the prediction model with the minimum prediction error of a certain time of experiments in the candidate aging prediction model and the aging prediction model with the unobvious difference as the final aging prediction model.
According to another aspect of the invention, a computer-readable storage medium is provided, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method of any of the above.
In general, compared with the prior art, the above technical solution contemplated by the present invention can achieve the following beneficial effects:
for the aging data which is usually small in scale, linear and nonlinear modes of data features often exist and time-dependent information hidden by the aging data, it is very important to select a proper model to capture the data features to improve prediction accuracy. The invention designs a software aging prediction method with multi-model comparison by combining the advantages of different models. The invention considers the time dependence information of aging data, thereby constructing a group of machine learning and neural network method frameworks, which can self-adaptively select an optimal prediction model according to the prediction result of each method, and solves the defect that the prediction precision of a single model cannot always be optimal. The high-precision prediction requirement is beneficial to a user to make a reasonable decision, the optimal time point for software regeneration is arranged, the problem of performance reduction or collapse of the system caused by software aging is reduced, the influence caused by software aging is relieved, and the reliability of the system is improved.
Drawings
FIG. 1 is a schematic flowchart of a software aging prediction method based on multi-model comparison according to an embodiment of the present invention;
FIG. 2 is a schematic flowchart of another software aging prediction method based on multi-model comparison according to an embodiment of the present invention;
FIG. 3 is a flow chart of data collection provided by an embodiment of the present invention;
FIG. 4 is a flow chart of model training provided by an embodiment of the present invention;
FIG. 5 is a block diagram of a GRU suitable for aging prediction according to an embodiment of the present invention;
fig. 6 is an exemplary diagram of linear and nonlinear modes and fitting effects of aging data according to an embodiment of the present invention, where (a) is a fitting effect of a real value and a predicted value of the linear mode, and (b) is a fitting effect of a real value and a predicted value of the nonlinear mode;
fig. 7 is a schematic structural diagram of a software aging prediction apparatus based on multi-model comparison according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
Example one
The invention discloses a software aging prediction method based on multi-model comparison, which comprises three parts: a data acquisition process, a prediction process and a verification process;
the data acquisition process collects aging index data from a target system to form a data set with time indexes;
the prediction process comprises a series of machine learning and neural network models, and candidate models are selected according to data characteristics and prediction error results of data in the data set;
in the verification process, a nonparametric verification method is used for verifying the candidate model and other models to determine a final aging prediction model.
Fig. 1 is a schematic flowchart of a software aging prediction method based on multi-model comparison according to an embodiment of the present invention, including the following steps:
s1: collecting original data of an aging index of a target software system;
as shown in fig. 2, the initial purpose of the present invention is to enable a user to predict the system state at the next time according to the current system resource consumption, and the prediction method can obtain the optimal software recovery time and reduce the risk of system failure due to aging. However, the aging prediction often involves the problems of data acquisition and preprocessing 1, data set 2 composition, prediction model 3 selection, candidate model selection 4, optimal prediction model acquisition 5 and the like, so in the embodiment of the invention, a multi-model comparison mode is adopted, and a final prediction model can be selected according to an optimal prediction result.
Further, the aging data collection in step S1 may be customized according to different systems, and the common aging indicators include a CPU, a memory, and the like, and a suitable scripting language may be designed to check the system log.
Fig. 3 shows a data collection flow chart. The flowchart is only used for an android operating system as an example, and a script language can be designed to be extended to other systems, such as data acquisition of systems such as Linux and Apache servers. Firstly, the aging indexes of the android system are divided into a system-level aging index 101 and an application-level aging index 102. Then, step 1011 is executed to collect available physical memory and step 1012 is executed to collect aging indicators of the CPU usage and other system levels; then, step 1021 and step 1022 may be executed to collect aging indicators at the application level, respectively, to obtain raw data of the application heap memory and the response time. Different aging index collection schemes can be designed according to requirements, for example, a cat/proc/meminfo collection system memory information can be adopted by an android system, application heap memory information can also be collected by a dumpsys meminfo package name, and the other system aging index collection processes are similar to the above. And after the steps are executed, obtaining the aged original data.
S2: processing the original data of the aging indexes into time series data to form a data set as the pre-input of a prediction model;
further, step S2 processes the aging indicators collected in step S1 in time series, and indexes the aging characteristic values in time series in a predefined sampling period to form a data set as a pre-input of the prediction model.
Fig. 4 shows a flow chart of the predictive model training. The raw aging index data collected in step S1 needs to be preprocessed if it is desired to be input into the prediction model. Because the raw data of the aging index includes a plurality of columns, each column represents a performance index. Some performance indicators may exhibit an increasing trend in data characteristics, while some may exhibit a decreasing trend. It is therefore necessary to retain as aging data the indicators that are most relevant to the aging phenomenon. Step 201 is executed to screen out aging indexes such as available physical memory and CPU utilization from the original data, and process the aging data into time series data indexed by time according to the sampling period. Therefore, a time dependency relationship exists among the data, and the behavior of the current state of the system influences the trend of the next state. Step 202 is performed, and the purpose of normalization is to make the preprocessed time series data limited within a certain range, so as to eliminate the adverse effect caused by singular sample data. Using data normalization operations, there are two main benefits: the convergence rate of the prediction model can be improved, and the precision of the prediction model can be improved. Step 203 is executed, and the normalized time series data is segmented to obtain a training set and a test set, as a preferred embodiment, wherein the division ratio of the training set to the test set is 2: 1. Then, steps 2031 and 2032 are performed to arrange the segmented training set and test set into the input form of the prediction model. And after the steps are executed, obtaining the pre-input of the prediction model.
S3: constructing a multi-prediction model;
further, step S3 designs several aging prediction models including machine learning and neural network, and may select a suitable model to predict the aging problem according to the aging data characteristics.
Further, the selection of the model in step S3 considers the adaptability of different prediction models to the data characteristics, the same model may have different prediction capabilities for different data characteristics (linear or non-linear), and a single model may cause the prediction accuracy to decrease. Therefore, a plurality of prediction models are constructed, and an automatic aging prediction model is integrated, and the automatic aging prediction model at least comprises the following steps: support Vector Regression (SVR), Multilayer Perceptron (MLP), Recurrent Neural Network (RNN), Long Short term memory Network (LSTM), Gated Recurrent Unit (GRU).
Fig. 4 to 6 are a model training flowchart, a GRU structure diagram suitable for time series prediction, and an exemplary diagram of real observation values and fitting effects of aging data according to an embodiment of the present invention. The prediction method of multi-model comparison has the advantages that the prediction model which has the highest prediction accuracy and is suitable for the current data scale and trend can be adaptively selected according to the aging data characteristics. In addition, the invention considers the comparison between models when selecting the models, such as the more advantageous of the machine learning method and the neural network method in prediction, and the more advantageous of the neural network method and the recurrent neural network method in prediction, and the best prediction performance of the recurrent neural networks GRU and LSTM which also have the time memory function.
As shown in fig. 5, taking the GRU model selected in the embodiment of the present invention as an example, the internal structure calculation method is as follows:
update door calculation procedure:
zt=σ(Wz·[ht-1,xt]) (1)
reset gate calculation procedure:
rt=σ(Wr·[ht-1,xt]) (2)
and (3) outputting a calculation process:
Figure BDA0002579981020000081
Figure BDA0002579981020000082
where t denotes time, h denotes memory information, x denotes new input, z denotes whether previous information needs to be updated, and r denotes whether previous information needs to be reset.
Fig. 6 is an exemplary diagram of the real observed values and the fitting effects of the aging data, wherein (a) is the fitting effect of the real values and the predicted values in the linear mode, and (b) is the fitting effect of the real values and the predicted values in the non-linear mode. The real observation data are derived from the CPU use condition of Virtual Machines (VMs) in a cloud service environment, and the data characteristics present linear and nonlinear modes. Furthermore, in addition to the true observations, a fit effect graph is also displayed. The fitting effect graph is predicted by the GRU model, where the black solid line is the true observation and the line "- - +" indicates the fitting effect. As can be seen from fig. 6, the fit based on the GRU prediction model works very well. In particular, in the non-linear mode, the CPU resource consumption of the system tends to increase, but the data fluctuation is large. Therefore, if a single model is used for predicting the resource consumption in the mode, due to the limited prediction capability of the single model, the hidden time-dependent information between time series data can be ignored, and the prediction error is large, so that the optimal software recovery time is missed, and the decision making of a user is influenced.
Step 301 is performed and several prediction techniques are selected, eventually involving machine learning and neural networks. And after the steps are executed, the construction of the prediction framework of the multi-model comparison is completed.
S4: selecting a candidate model: inputting the aging data set of the step S2 into the prediction model constructed in the step S3, calculating the prediction error of each model, and selecting the model with the minimum error and the best fitting effect as a candidate aging prediction model;
fig. 4 is a flow chart of model training. After the above three steps are completed, the subsequent steps can be executed to select the best prediction model. Before the prediction result is output, a data normalization operation is used for rapidly converging the prediction model during data preprocessing. In step 401, a data de-normalization operation is performed, and both the input data input into the prediction model and the prediction result obtained from the prediction model are de-normalized to obtain the original time series data and the time series data of the prediction result. And then, executing the step 402 and the step 403, wherein the last prediction error result of each prediction model is obtained from the visual numerical result and the fitting effect in the two steps. In the comparison of numerical results, a plurality of Error observation indexes are adopted, such as Mean Absolute Error (MAE), Root Mean Square Error (RMSE) and Mean Absolute Percentage Error (MAPE). Due to the random nature of the neural network, step 402 is repeated a plurality of times (e.g., 30 times in the present embodiment), and then averaged to obtain the final prediction error result. Then, step 4021, step 4031 and step 404 are executed to determine candidate prediction models by comparing the prediction results of the plurality of models and the fitting effect maps of the prediction results and the real observation values.
S5: determining a final aging prediction model: and calculating whether the candidate aging prediction model and other residual aging prediction models have significant difference, if so, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model.
Further, step S5 includes:
calculating whether a significant difference exists between the candidate aging prediction model and other residual aging prediction models by using a rank sum test in the non-parametric test;
if the candidate aging prediction model and the other residual aging prediction models have significant differences, namely p values calculated between the candidate aging prediction model and the other residual aging prediction models are smaller than preset values, the differences are obvious, the candidate aging prediction model is selected as a final aging prediction model, the final aging prediction model is used for carrying out aging prediction on the target software system, the optimal regeneration time point is obtained, and a user is helped to make reasonable decisions.
In the embodiment of the present invention, the preset value is preferably 0.05.
FIG. 4 is a flow chart of model training. Step S5 is the final step of the aging prediction method of multi-model comparison, which introduces a rank-sum test method in non-parametric tests for verifying whether the candidate model differs from other models in prediction results. It does not depend on the specific form of the overall distribution, and is easy to understand and calculate. If the calculated p-value is less than 0.05, then a significant difference between the two models is considered. After the prediction error of each model and the candidate model obtained in steps 402 and 404 are obtained, step 501 is performed, and a rank sum test in a non-parameter test is performed using the prediction errors of the candidate model and the other models. Step 502 is then performed to verify whether the candidate model is the optimal model according to the statistical p-value, and a statistical conclusion is reached, so that the final aging prediction model is determined.
In the embodiment of the present invention, if the rank and the test difference are not obvious, that is, the difference between the candidate aging prediction model and the other remaining aging prediction model is not obvious, and the statistical p value between the two prediction models is greater than 0.05, the prediction model with the smallest prediction error under several (e.g., 30) experiments in the two prediction models is continuously selected as the final prediction model, for example, the difference between the candidate model and the a model in the remaining models is not obvious, several experiments are performed on the candidate model and the a model, the smallest prediction errors of the candidate model and the a model in the several experiments are respectively selected, the respective smallest prediction errors of the candidate model and the a model are compared, and the prediction model corresponding to the smallest prediction error is used as the final prediction model. And (4) performing the operation on the two models with the insignificant difference to select a final aging prediction model.
The method can be suitable for software aging prediction of different systems, and can be used for performing rapid analysis on more complex systems such as Apache servers through a computer besides the performance index aging prediction of android and VMs introduced in the example of the invention. The method considers different aging data characteristics, so that the final prediction precision is high and the robustness is good.
By using the method and the device, the user can judge whether the current system state needs to execute the software recovery operation according to the prediction result.
The invention designs a predictive maintenance technology of multi-model comparison aiming at software suffering aging influence. The method solves the problem that the prediction result of a single model possibly influences decision making, can automatically select a proper model according to the aging data characteristics and the prediction error, avoids active maintenance measures from being executed early or late, and reduces the influence on the software reliability. In addition, more models can be expanded, and the optimal prediction model can be selected for different aging data sizes to help the system operation and maintenance.
Example two
Fig. 7 is a schematic structural diagram of an apparatus according to an embodiment of the present invention, including: a data acquisition module 701, a prediction module 702 and a verification module 703;
the data acquisition module 701 is used for collecting the original data of the aging indexes from the target software system and processing the original data of the aging indexes into time sequence data to form a data set;
the prediction module 702 is configured to design a plurality of aging prediction models for the aging data scale, use the data set as input of each aging prediction model, calculate a prediction error of each aging prediction model, and select an aging prediction model with the smallest prediction error and the best fitting effect as a candidate aging prediction model;
the verification module 703 is configured to calculate whether a significant difference exists between the candidate aging prediction model and the other remaining aging prediction models, and if the difference is significant, select the candidate aging prediction model as a final aging prediction model, so that the final aging prediction model performs aging prediction on the target software system.
Further, the data acquisition module 701 is configured to collect the raw data of the aging index from the target software system, and process the raw data of the aging index into time sequence data indexed according to a sampling period of the raw data of the aging index, so as to form a data set.
Further, the aging prediction model includes several machine learning and neural network aging prediction models.
Further, the prediction module 702 is configured to design a plurality of aging prediction models for the aging data scale, use the data set as the input of each aging prediction model, repeat multiple predictions using each aging prediction model, take the average of the prediction errors of the prediction results of each aging prediction model as the final prediction error of the corresponding aging prediction model, and select the aging prediction model with the smallest final prediction error and the best fitting effect between the prediction result and the real observed value as the candidate aging prediction model.
Further, the verifying module 703 is configured to calculate whether there is a significant difference between the candidate aging prediction model and the other remaining aging prediction models by using a rank sum test in the non-parametric test; if the candidate aging prediction model and other residual aging prediction models have significant differences, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model; and if the difference between the candidate aging prediction model and the other residual aging prediction models is not obvious, continuously selecting the prediction model with the minimum prediction error of a certain time of experiments in the candidate aging prediction model and the aging prediction model with the unobvious difference as the final aging prediction model.
The specific implementation of each module may refer to the description of the method embodiment, and the embodiment of the present invention is not repeated.
The invention designs a predictive maintenance technology of multi-model comparison aiming at software suffering aging influence. The method solves the problem that the prediction result of a single model possibly influences decision making, and a user can automatically select a proper model according to the aging data characteristics and the prediction error, so that active maintenance measures are prevented from being executed early or late, and the influence on the software reliability is reduced. In addition, the idea can expand more models, and the optimal prediction model can be selected for different aging data sizes to help the system operation and maintenance.
EXAMPLE III
The present application also provides a computer-readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a Random Access Memory (RAM), a Static Random Access Memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, an optical disk, a server, an App application mall, etc., on which a computer program is stored, which when executed by a processor implements the software aging prediction method based on multi-model comparison in the method embodiments.
It should be noted that, according to the implementation requirement, each step/component described in the present application can be divided into more steps/components, and two or more steps/components or partial operations of the steps/components can be combined into new steps/components to achieve the purpose of the present invention.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (10)

1. A software aging prediction method based on multi-model comparison is characterized by comprising the following steps:
s1: collecting raw data of an aging index from a target software system;
s2: processing the original data of the aging indexes into time sequence data to form a data set;
s3: designing a plurality of aging prediction models according to the aging data scale, and taking the data set as the input of each aging prediction model;
s4: calculating the prediction error of each aging prediction model, and selecting the aging prediction model with the minimum prediction error and the best fitting effect as a candidate aging prediction model;
s5: and calculating whether the candidate aging prediction model is significantly different from other residual aging prediction models, if so, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model.
2. The method according to claim 1, wherein step S2 includes:
and processing the original data of the aging indexes into time sequence data indexed according to time according to the sampling period of the original data of the aging indexes to form a data set.
3. The method of claim 1 or 2, wherein the aging prediction model comprises a number of machine learning and neural network aging prediction models.
4. The method according to claim 3, wherein step S4 includes:
repeatedly using the aging prediction models for multiple predictions, and taking the average value of the prediction errors of the prediction results of each aging prediction model as the final prediction error of the corresponding aging prediction model;
and selecting the aging prediction model with the minimum final prediction error and the best fitting effect of the prediction result and the real observation value as a candidate aging prediction model.
5. The method according to claim 4, wherein step S5 includes:
calculating whether there is a significant difference between the candidate aging prediction model and other remaining aging prediction models using a rank sum test in a non-parametric test;
if the candidate aging prediction model and other residual aging prediction models have significant differences, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model;
and if the difference between the candidate aging prediction model and the other residual aging prediction models is not obvious, continuously selecting the prediction model with the minimum prediction error of a certain time of experiments in the candidate aging prediction model and the aging prediction model with the unobvious difference as the final aging prediction model.
6. A software aging prediction device based on multi-model comparison is characterized by comprising: the device comprises a data acquisition module, a prediction module and a verification module;
the data acquisition module is used for collecting aging index original data from a target software system and processing the aging index original data into time sequence data to form a data set;
the prediction module is used for designing a plurality of aging prediction models according to the scale of aging data, taking the data set as the input of each aging prediction model, calculating the prediction error of each aging prediction model, and selecting the aging prediction model with the minimum prediction error and the best fitting effect as a candidate aging prediction model;
the verification module is used for calculating whether a significant difference exists between the candidate aging prediction model and other residual aging prediction models, if the difference is obvious, the candidate aging prediction model is selected as a final aging prediction model, and the final aging prediction model is used for performing aging prediction on the target software system.
7. The apparatus of claim 6, wherein the data collection module is configured to collect raw aging indicator data from a target software system, and process the raw aging indicator data into time-series data indexed by time according to a sampling period of the raw aging indicator data to form a data set.
8. The apparatus according to claim 6 or 7, wherein the prediction module is configured to design a plurality of aging prediction models for aging data scale, use the data set as an input of each aging prediction model, repeatedly use each aging prediction model to perform multiple predictions, take a mean value of prediction errors of prediction results of each aging prediction model as a final prediction error of the corresponding aging prediction model, and select an aging prediction model with a smallest final prediction error and a best fitting effect of the prediction result and a true observation value as the candidate aging prediction model.
9. The apparatus of claim 8, wherein the validation module is configured to calculate whether there is a significant difference between the candidate aging prediction model and other remaining aging prediction models using a rank sum test in a non-parametric test; if the candidate aging prediction model and other residual aging prediction models have significant differences, selecting the candidate aging prediction model as a final aging prediction model, and performing aging prediction on the target software system by using the final aging prediction model; and if the difference between the candidate aging prediction model and the other residual aging prediction models is not obvious, continuously selecting the prediction model with the minimum prediction error of a certain time of experiments in the candidate aging prediction model and the aging prediction model with the unobvious difference as the final aging prediction model.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 5.
CN202010664912.4A 2020-07-10 2020-07-10 Software aging prediction method and device based on multi-model comparison Active CN111881023B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010664912.4A CN111881023B (en) 2020-07-10 2020-07-10 Software aging prediction method and device based on multi-model comparison

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010664912.4A CN111881023B (en) 2020-07-10 2020-07-10 Software aging prediction method and device based on multi-model comparison

Publications (2)

Publication Number Publication Date
CN111881023A true CN111881023A (en) 2020-11-03
CN111881023B CN111881023B (en) 2022-05-06

Family

ID=73151181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010664912.4A Active CN111881023B (en) 2020-07-10 2020-07-10 Software aging prediction method and device based on multi-model comparison

Country Status (1)

Country Link
CN (1) CN111881023B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463640A (en) * 2020-12-15 2021-03-09 武汉理工大学 Cross-project software aging defect prediction method based on joint probability domain adaptation
CN112527670A (en) * 2020-12-18 2021-03-19 武汉理工大学 Method for predicting software aging defects in project based on Active Learning
CN113242226A (en) * 2021-05-05 2021-08-10 航天云网云制造科技(浙江)有限公司 Big data-based intelligent network security situation prediction method
WO2024020960A1 (en) * 2022-07-28 2024-02-01 西门子股份公司 Method for predicting remaining useful life of circuit breaker, and electronic device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015022890A1 (en) * 2013-08-12 2015-02-19 日本電気株式会社 Software aging test system, software agint test method, and program for software aging test
US20170293858A1 (en) * 2016-04-12 2017-10-12 Hirevue, Inc. Performance model adverse impact correction
CN109408386A (en) * 2018-10-18 2019-03-01 中国电子科技集团公司第二十八研究所 A kind of software aging streaming monitoring system and its monitoring method
CN109522143A (en) * 2018-11-10 2019-03-26 武汉理工大学 Mobile device aging based on android system is lived again method
CN111274111A (en) * 2020-01-20 2020-06-12 西安交通大学 Prediction and anti-aging method for microservice aging

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015022890A1 (en) * 2013-08-12 2015-02-19 日本電気株式会社 Software aging test system, software agint test method, and program for software aging test
US20160188449A1 (en) * 2013-08-12 2016-06-30 Nec Corporation Software aging test system, software aging test method, and program for software aging test
US20170293858A1 (en) * 2016-04-12 2017-10-12 Hirevue, Inc. Performance model adverse impact correction
CN109408386A (en) * 2018-10-18 2019-03-01 中国电子科技集团公司第二十八研究所 A kind of software aging streaming monitoring system and its monitoring method
CN109522143A (en) * 2018-11-10 2019-03-26 武汉理工大学 Mobile device aging based on android system is lived again method
CN111274111A (en) * 2020-01-20 2020-06-12 西安交通大学 Prediction and anti-aging method for microservice aging

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JIANWEN XIANG: "Lifetime Extension of Software", 《HTTPS://IEEEXPLORE.IEEE.ORG/ABSTRACT/DOCUMENT/7707343》 *
JIANWEN XIANG: "Using Machine Learning for Software Aging", 《HTTPS://IEEEXPLORE.IEEE.ORG/ABSTRACT/DOCUMENT/8377553》 *
JIANWEN XIANG等: "A Rejuvenation Strategy in Android", 《HTTPS://IEEEXPLORE.IEEE.ORG/ABSTRACT/DOCUMENT/8109295》 *
苏莉等: "基于非线性多参数模型的软件老化检测", 《计算机科学》 *
闫永权等: "使用混合模型预测Web服务器中的资源消耗", 《计算机科学》 *
霍守玉: "安卓系统软件老化预测方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463640A (en) * 2020-12-15 2021-03-09 武汉理工大学 Cross-project software aging defect prediction method based on joint probability domain adaptation
CN112463640B (en) * 2020-12-15 2022-06-03 武汉理工大学 Cross-project software aging defect prediction method based on joint probability domain adaptation
CN112527670A (en) * 2020-12-18 2021-03-19 武汉理工大学 Method for predicting software aging defects in project based on Active Learning
CN113242226A (en) * 2021-05-05 2021-08-10 航天云网云制造科技(浙江)有限公司 Big data-based intelligent network security situation prediction method
WO2024020960A1 (en) * 2022-07-28 2024-02-01 西门子股份公司 Method for predicting remaining useful life of circuit breaker, and electronic device and storage medium

Also Published As

Publication number Publication date
CN111881023B (en) 2022-05-06

Similar Documents

Publication Publication Date Title
CN111881023B (en) Software aging prediction method and device based on multi-model comparison
CN111667010A (en) Sample evaluation method, device and equipment based on artificial intelligence and storage medium
CN113837596B (en) Fault determination method and device, electronic equipment and storage medium
CN102110013A (en) Method and apparatus for efficiently generating processor architecture model
CN111639798A (en) Intelligent prediction model selection method and device
CN108897673B (en) System capacity evaluation method and device
CN110602207A (en) Method, device, server and storage medium for predicting push information based on off-network
CN113537614A (en) Construction method, system, equipment and medium of power grid engineering cost prediction model
CN110704614B (en) Information processing method and device for predicting user group type in application
CN111783883A (en) Abnormal data detection method and device
CN112905435B (en) Workload assessment method, device, equipment and storage medium based on big data
CN115203556A (en) Score prediction model training method and device, electronic equipment and storage medium
CN112395167A (en) Operation fault prediction method and device and electronic equipment
CN113626340A (en) Test requirement identification method and device, electronic equipment and storage medium
CN110991641A (en) Oil reservoir type analysis method and device and electronic equipment
CN117556331B (en) AI-enhancement-based air compressor maintenance decision method and system
CN116610484B (en) Model training method, fault prediction method, system, equipment and medium
CN114265527B (en) Method, device, medium and electronic equipment for predicting click position of mouse
CN116737554B (en) Intelligent analysis processing system and method based on big data
CN112669893B (en) Method, system, device and equipment for determining read voltage to be used
CN112115036A (en) Cluster capacity prediction method and device
CN116795710A (en) Performance evaluation method and device for real-time system
CN113742216A (en) Method, device and storage medium for detecting efficiency of machine learning engine
CN115017819A (en) Engine remaining service life prediction method and device based on hybrid model
CN117785625A (en) Method, device, equipment and storage medium for predicting server performance

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