A method of mixing multiple deep learning models to facilitate blocking bug prediction

By combining Bi-LSTM and CNN models and Boosting integrated learning method, the problem of blocking relationship identification between software bugs is solved, achieving more accurate and efficient prediction effects and reducing maintenance costs.

CN115185731BActive Publication Date: 2025-05-02NANTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210849549.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-19
Publication Date
2025-05-02
Estimated Expiration
2042-07-19

AI Technical Summary

Technical Problem

The existing technology is difficult to automatically identify and predict the blocking relationship between software bugs, resulting in the blocking bug being not fixed and affecting the repair of downstream bugs.

Method used

Bi-LSTM and CNN were used to construct the "Summary" and "Description" sub-models based on bug reports, and mixed them through the integrated learning method Boosting to form a more robust and accurate prediction model.

Benefits of technology

It realizes more efficient and quick identification of blocking bug relationships, reducing unnecessary repair waiting time caused by blocking bug relationships, and saving maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115185731B_ABST
    Figure CN115185731B_ABST
Patent Text Reader

Abstract

The present invention provides a method for mixing multiple deep learning models to promote blocking bug prediction, which belongs to the field of computer application technology and solves the technical problem of automatically predicting the blocking relationship between multiple pairs of bugs. The technical solution is as follows: it includes the following steps: (1) extracting the two fields "Summary" and "Description" from the bug report to form a data set; (2) restoring the natural language text by stemming; (3) encoding the two fields into word vector form; (4) constructing a prediction model; (5) adding the weighted sum of the values ​​given by the two classifiers to obtain the final prediction model. The beneficial effect of the present invention is that the present invention constructs two deep learning models and combines them through the integrated learning method Boosting to obtain a more comprehensive and robust prediction model, thereby achieving better prediction of blocking bugs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer application technology, and in particular to a method for mixing multiple deep learning models to promote blocking bug prediction. Background Art

[0002] Many open source software bugs are reported in bug tracking systems such as Bugzilla. Among these bugs, there is a special association called a blocking bug pair (BBP), which means that an unfixed bug prevents another bug from being fixed. Blocking bugs have higher complexity than non-blocking bugs. Although the blocking bugs that constitute BBP account for a small proportion of all bugs, the unfixed bugs of BBP in the upstream project will hinder the bug fixes of downstream projects.

[0003] Therefore, automatic identification of blocking errors can mitigate the impact of blocking errors. By automatically identifying blocking bugs, developers can be reminded to fix these blocking bugs in time to avoid blocking the bugs that are subsequently fixed. Many new technologies (such as machine learning and natural language processing) are applied to identify whether one error blocks another. At the same time, deep learning has also been successful in many natural language processing tasks, especially in the analysis of bug reports in the software development process. Summary of the invention

[0004] The present invention aims to provide a method for mixing multiple deep learning models to promote blocking bug prediction, which can automatically predict whether there is a blocking relationship between software bugs.

[0005] The idea of ​​the present invention is: the present invention proposes a method of mixing multiple deep learning models to promote blocking bug prediction, that is, using Bi-LSTM and CNN to respectively adopt "Summary" and "Description" in the bug report to build prediction models, and mixing them through the integrated learning method Boosting to achieve better prediction results; the performance of the method proposed in the present invention on seven open source projects is better than other baseline methods.

[0006] The present invention is implemented by the following technical solution: a method for mixing multiple deep learning models to promote blocking bug prediction, which includes the following steps:

[0007] (1) Seven open source projects were selected as data sources to construct a training dataset. The specific steps are as follows:

[0008] (1-1) Using the crawler algorithm, we obtain the “Summary” and “Description” fields in the bug reports from seven bug management systems and construct an initial data set.

[0009] (1-2) Determine labels for whether there is a blocking relationship between bugs based on the corresponding bug numbers in the "Blocks" and "Depends on" fields.

[0010] (2) Preprocessing the two training data sets constructed in step 1, wherein step 2 includes the following steps when performing preprocessing:

[0011] (2-1) Use Porter stemming to restore the text stem morphology and eliminate the ambiguity caused by the neural network learning features of different word forms that communicate semantics first;

[0012] (2-2) Use the Word2Vec method to encode the natural language text content into word vectors to obtain word vector feature representations of the two text fields;

[0013] (3) Divide the data set into a training set, a validation set, and a test set. Use the training set and the validation set to complete the construction and training of the model and prevent overfitting. Use the test set to test the prediction performance of the model. The specific steps are as follows:

[0014] (3-1) Input the two feature vectors and corresponding labels into the Bi-LSTM and CNN models respectively.

[0015] The model is constructed through training; (3-2) The two constructed sub-models are combined through the ensemble learning method Boosting to obtain the final prediction model;

[0016] (3-3) The “Summary” and “Description” of a set of test cases are input into the hybrid model, and the hybrid model predicts whether there is a blocking relationship between the two bugs;

[0017] Compared with the prior art, the present invention has the following beneficial effects:

[0018] 1. According to the characteristics of the text, two suitable deep learning methods are used to build sub-prediction models;

[0019] 2. Mixing the two sub-models results in a more robust and accurate prediction model.

[0020] 3. The present invention can more efficiently and quickly identify more blocking bug relationships for developers, thereby greatly reducing unnecessary repair waiting time caused by blocking relationships between bugs.

[0021] 4. Identifying the blocking relationship between bugs helps fix upstream and downstream bugs, saving more maintenance costs. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The accompanying drawings are used to provide further understanding of the present invention and constitute a part of the specification. They are used to explain the present invention together with the embodiments of the present invention and do not constitute a limitation of the present invention.

[0023] Figure 1 A framework diagram of an embodiment of the present invention. DETAILED DESCRIPTION

[0024] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described below in conjunction with the accompanying drawings and embodiments. The specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0025] Example 1

[0026] Reference Figure 1 The technical solution provided by this embodiment is a method for mixing multiple deep learning models to promote blocking bug prediction, comprising the following steps:

[0027] (1) Data processing:

[0028] (1-1) Extract the "Summary" and "Description" fields from the bug report as training features for the model;

[0029] (1-2) Pair the bugs together, and determine whether the group of bugs contains a blocking relationship based on the "Blocks" and "Depends on" fields in the bug report, and attach labels to them to form three-tuple forms (SumA, SumB, label) and (DesA, DesB, label);

[0030] (1-3) Use Porter stemming method to restore the text stem morphology;

[0031] (1-4) Use the Word2Vec method to convert all text fields into word vector form to facilitate subsequent model training;

[0032] (2) Model construction:

[0033] (2-1) The data is divided into training set, validation set and test set in a ratio of 8:1:1; the training set is used to build and train the model, the validation set is used to optimize the model and prevent model overfitting, and the test set is used to verify the model performance.

[0034] (2-2) The dataset composed of Summary is used for training the Bi-LSTM model, and the dataset composed of Description is used for training the CNN model;

[0035] (2-3) The results of the two models are combined through the ensemble learning method Boosting.

[0036] (3) Evaluation experiment:

[0037] (3-1) In order to evaluate the effectiveness of our method in blocking bug prediction, we conducted an empirical study on seven open source projects, including a total of 129,178 bug reports.

[0038] (3-2) Three evaluation indicators, Precision, Recall and F1-measure, are used to evaluate the effectiveness of the model.

[0039] (3-3) Table 1 shows the experimental results of the Bi-LSTM+CNN model we built in different open source projects and the comparison with the other two baseline methods. The results show that the method of this embodiment is better than the other two baseline methods, and it has achieved higher F1-measure values ​​than other methods in seven projects. A higher F1-measure value represents a more reliable model. By comparing with the baseline method, it can be concluded that this embodiment is a reliable prediction method that can more accurately and effectively predict the blocking relationship between bug pairs.

[0040] Table 1 Performance comparison among three methods

[0041]

[0042]

[0043] Taking a test bug report pair as an example, Bug526114 and Bug510478 form a blocking relationship, and the summary and description are extracted from the bug report to construct the input data.

[0044] First, the corresponding fields are constructed into triples in the form of (Sum-526114, Sum-510478, 1), (Des-526114, Des-510478, 1).

[0045] After inputting the above fields into the model, the predicted value is: [1,0], indicating that there is a blocking relationship.

[0046] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for mixing multiple deep learning models to facilitate blocking bug prediction, characterized in that: The following steps are involved: S1: Select seven open source projects as data sources and build a training dataset, including the following steps: S1-1: Using the crawler algorithm, we obtain the "Summary" and "Description" fields in the bug reports from seven bug management systems and construct the initial data set; S1-2: According to the corresponding bug numbers in the "Blocks" and "Depends on" fields, determine the labels for whether there is a blocking relationship between the bugs, forming two triple forms: (SumA, SumB, label) and (DesA, DesB, label); S2: Preprocessing the two training data sets constructed in step S1, wherein step S2 includes the following steps when performing preprocessing: S2-1: Use Porter stemming to restore the text stem morphology and eliminate the ambiguity caused by the neural network learning features of different word forms that communicate semantics first; S2-2: Use the Word2Vec method to encode the natural language text content into word vectors to obtain word vector feature representations of the two text fields; S3: Divide the data set into training set, validation set and test set. Use the training set and validation set to complete the model construction and training and prevent overfitting. Use the test set to test the prediction performance of the model, including the following steps: S3-1: Input the two feature vectors and corresponding labels into the Bi-LSTM and CNN models respectively, and complete the model construction through training; S3-2: Combine the two constructed sub-models through the ensemble learning method Boosting to obtain the final prediction model; S3-3: The "Summary" and "Description" of a set of test cases are input into the hybrid model, and the hybrid model gives a prediction on whether there is a blocking relationship between the two bugs.

Citation Information

Patent Citations

  • Error detection method and device

    CN114490327A

  • Software testing designing and performing method for software development enterprise, involves performing study of domain of software testing and constitutive units of testing, where study is made on imperatives in testing materials

    FR2884339A1