Software health degree evaluation method and device, electronic equipment and storage medium

By using pre -training health prediction models and corresponding relationships, the health scores of software are determined, and the problem of insufficient software health evaluation in the existing technology has been solved, and higher evaluation accuracy and scores are achieved.

CN119377107APending Publication Date: 2025-01-28PEOPLE'S INSURANCE COMPANY OF CHINA
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411419604.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-11
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

The existing technology is difficult to improve the accuracy of software health evaluation, resulting in the failure to disclose and repair potential problems, vulnerabilities and defects in the software in a timely manner, affecting the quality of the software.

Method used

Put forward a software health evaluation method. By obtaining the indicator value of the target indicators of the software, using the pre -trained health prediction model, calculating the health probability of the software, and based on the corresponding relationship between the health probability and the health score, determine the software of the software Health score.

Benefits of technology

Improving the accuracy of software health prediction, increasing the distinction of software health scores, thereby improving the accuracy of software health evaluation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119377107A_ABST
    Figure CN119377107A_ABST
Patent Text Reader

Abstract

The invention provides a software health degree evaluation method and device, electronic equipment and a storage medium, and the method comprises the steps: obtaining a first index value of each target index of first target software; acquiring a first health probability of the first target software by utilizing a pre-trained health prediction model according to the first index value; determining a first health score of the first target software according to the first health probability and a corresponding relationship between the software health probability and a software health score; wherein the corresponding relation means that the sum of the product of the logarithm of the software health probability and the constant and the basic score is equal to the software health score, and the constant is determined based on the increasing amplitude of the software health score when the software health probability is increased by a preset multiple. According to the method, the distinction degree of software health scores can be increased, and the accuracy of software health degree evaluation is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a software health evaluation method, device, electronic device and storage medium. Background Art

[0002] During the software development or application stage, the health of the software can be evaluated. Health evaluation can reveal potential problems, vulnerabilities, defects, etc. in the software, thereby prompting timely repair of problems and improving the overall quality of the software. Therefore, how to improve the accuracy of software health evaluation is an urgent problem to be solved. Summary of the invention

[0003] The present application aims to solve one of the technical problems in the related art at least to some extent.

[0004] To this end, the first purpose of this application is to propose a software health evaluation method to increase the discrimination of software health scores and improve the accuracy of software health evaluation.

[0005] The second objective of this application is to provide a software health evaluation device.

[0006] The third objective of the present application is to provide an electronic device.

[0007] A fourth objective of the present application is to provide a computer-readable storage medium.

[0008] A fifth object of the present application is to provide a computer program product.

[0009] To achieve the above objectives, the first embodiment of the present application proposes a software health evaluation method, including:

[0010] Obtaining a first indicator value of each target indicator of the first target software;

[0011] According to the first indicator value, using a pre-trained health prediction model, obtaining a first health probability of the first target software;

[0012] Determining a first health score of the first target software according to the first health probability and a corresponding relationship between the software health probability and the software health score;

[0013] Among them, the corresponding relationship means that the sum of the product between the logarithm of the software health probability and a constant and the basic score is equal to the software health score, and the constant is determined based on the increase in the software health score when the software health probability increases by a preset multiple.

[0014] To achieve the above-mentioned purpose, the second aspect of the present application proposes a software health evaluation device, including:

[0015] A first acquisition module, used to acquire a first indicator value of each target indicator of the first target software;

[0016] A second acquisition module is used to acquire a first health probability of the first target software according to the first indicator value using a pre-trained health prediction model;

[0017] A first determination module, configured to determine a first health score of the first target software according to the first health probability and a corresponding relationship between the software health probability and the software health score;

[0018] Among them, the corresponding relationship means that the sum of the product between the logarithm of the software health probability and a constant and the basic score is equal to the software health score, and the constant is determined based on the increase in the software health score when the software health probability increases by a preset multiple.

[0019] To achieve the above-mentioned purpose, the third aspect of the present application provides an electronic device, including: a processor, and a memory communicatively connected to the processor;

[0020] The memory stores computer-executable instructions;

[0021] The processor executes the computer-executable instructions stored in the memory to implement the method as described in the embodiment of the first aspect.

[0022] To achieve the above-mentioned purpose, the fourth aspect embodiment of the present application proposes a computer-readable storage medium, in which computer-readable storage medium is stored computer execution instructions, and when the computer execution instructions are executed by a processor, they are used to implement the method described in the first aspect embodiment.

[0023] To achieve the above-mentioned purpose, the fifth aspect of the present application proposes a computer program product, including a computer program, which implements the method described in the first aspect when executed by a processor.

[0024] The software health evaluation method, device, electronic device and storage medium provided in the present application can improve the accuracy of health prediction by obtaining a first health probability of a first target software based on a first indicator value and using a health prediction model. In addition, in the corresponding relationship between the software health probability and the software health score, when the software health probability increases by a preset multiple, the software health score increases. The health score of the software is determined based on the corresponding relationship, which can increase the discrimination of the software health score and improve the accuracy of the software health evaluation.

[0025] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through the practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:

[0027] Figure 1 A flowchart of a software health evaluation method provided in an embodiment of the present application;

[0028] Figure 2 A flowchart of a method for training a health prediction model provided in an embodiment of the present application;

[0029] Figure 3 A flowchart of another software health evaluation method provided in an embodiment of the present application;

[0030] Figure 4 A schematic diagram of the structure of a software health evaluation device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0031] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.

[0032] The following describes the software health evaluation method and device of the embodiments of the present application with reference to the accompanying drawings.

[0033] Figure 1 A flowchart of a software health evaluation method provided in an embodiment of the present application.

[0034] In some embodiments, the weight of each indicator can be calculated by the entropy method, and then a fuzzy comprehensive evaluation matrix is ​​constructed for each indicator, and finally the score is calculated by the weighted average fuzzy synthesis operator. When constructing the fuzzy comprehensive matrix, the grading range (such as very good, good, general, poor, etc.) is set for each indicator mainly based on human experience, which has a certain degree of subjectivity. The division of each level may not be accurate, and when there are not many levels of division, the difference between different indicators at the same level is not very significant, which ultimately leads to a small degree of differentiation in software scoring, affecting the accuracy of health rating.

[0035] Based on this, the embodiment of the present application provides a software health evaluation method to increase the differentiation of software health scores and improve the accuracy of software health evaluation. Figure 1 As shown, the software health evaluation method includes the following steps:

[0036] Step 101: Obtain a first indicator value of each target indicator of a first target software.

[0037] Among them, the target indicator can refer to the measurement indicators of the software, such as cyclomatic complexity, proportion of super-large classes, proportion of super-large functions, frequency of repeated code, coverage of automated tests, number of circular dependency classes, average response time, system continuity, code comment rate, etc. Exemplarily, the target indicator can be an indicator among the measurement indicators of the software that has a greater correlation with determining whether the software is healthy or unhealthy.

[0038] Exemplarily, the first target software may be any software whose health is to be evaluated.

[0039] Step 102: According to the first indicator value, a first health probability of the first target software is obtained by using a pre-trained health prediction model.

[0040] Among them, the health prediction model can be used to predict the health probability of the software. The output of the health prediction model may include the health probability of the software and may also include the prediction result of whether the software is healthy.

[0041] In the present application, the first indicator value of each target indicator of the first target software can be input into the health prediction model to obtain the first health probability of the first target software output by the health prediction model. The larger the first health probability, the higher the possibility that the first target software is healthy.

[0042] Step 103: Determine a first health score of the first target software according to the first health probability and the corresponding relationship between the software health probability and the software health score.

[0043] Among them, in the corresponding relationship between the software health probability and the software health score, the software health score can be determined according to the software health probability, a constant, etc.

[0044] Exemplarily, the corresponding relationship between the software health probability and the software health score may mean that the sum of the product between the logarithm of the software health probability and a constant and the basic score is equal to the software health score. The constant may be determined based on the increase in the software health score when the software health probability increases by a preset multiple.

[0045] Exemplarily, the calculation relationship between the software health probability and the software health score is as follows:

[0046] score=offset+factor*ln(odds) (1)

[0047] score+pdo=offset+factor*ln(h*odds) (2)

[0048] Among them, score represents the software health score, offset represents the basic score, factor represents a constant, ln(odds) represents the software health probability, and pdo represents the increase in the software health score when the software health probability increases by h times.

[0049] Based on formulas (1) and (2), we can obtain: pdo = factor*ln(h), offset=score-factor*ln(odds).

[0050] Assuming that when the software health score is 50, the ratio of healthy to unhealthy software is 1:1, then offset = 50-29*ln(1) = 50, so the corresponding relationship between the software health probability and the software health score is score = 50+factor*ln(odds), then the first health probability can be substituted into the calculation formula of the software health score to obtain the first health score of the first target software. Among them, the first health score can be used to characterize the health of the first target software. The larger the first health score, the higher the health of the first target software.

[0051] For example, pdo = 20, h = 2, that is, the probability doubles with every 20 points increase, then Therefore score = 50 + 29 * ln (odds).

[0052] It should be noted that pdo=20 and h=2 are only exemplary. The values ​​of pdo and h can be set according to actual needs, and this application does not limit this.

[0053] In an embodiment of the present application, by using a health prediction model based on a first indicator value to obtain a first health probability of the first target software, the accuracy of the health prediction can be improved. In the corresponding relationship between the software health probability and the software health score, when the software health probability increases by a preset multiple, the software health score increases. The health score of the software is determined based on this corresponding relationship, which can increase the discrimination of the software health score and improve the accuracy of the software health evaluation.

[0054] Figure 2 A flowchart of a method for training a health prediction model provided in an embodiment of the present application.

[0055] like Figure 2 As shown, the training method of the health prediction model in the above embodiment may include the following steps:

[0056] Step 201: Obtain the second indicator value of each candidate indicator of the sample software.

[0057] The sample software may be one or more, which is not limited. For example, the index values ​​of each candidate index of the sample software in the past period of time may be obtained.

[0058] Step 202: label the sample software according to the second indicator value of each candidate indicator to obtain a category label of the sample software.

[0059] The category label can be used to characterize the health status of the sample software. For example, the category label can include healthy, unhealthy, etc.

[0060] As a possible implementation method, each candidate indicator has an importance weight, and the category label of the sample software can be determined according to the relationship between the importance weight of the candidate indicator and the normal or abnormal threshold.

[0061] For example, three weight levels can be set: very important, important, and general, and the candidate indicators can be divided into each weight level. For each candidate indicator, an abnormal threshold or a normal threshold can be set. Finally, the indicator importance weight and the abnormal or normal threshold are combined to determine the category label of the sample software. For example, the weight level of the two indicators, code architecture evaluation score and code repetition rate, is very important. When the code architecture evaluation score of the sample software is lower than the score threshold or the code repetition rate is higher than the corresponding repetition rate threshold, the category label of the sample software can be determined to be unhealthy, and other indicators do not need to be considered. If the indicator values ​​of all candidate indicators with a weight level of very important are within the set healthy range, the candidate indicators with a weight level of important can be considered. Since the candidate indicators of this weight level are not so important, the proportion of unhealthy indicators can be set for judgment. For example, there are 5 indicators in this weight level, and 3 indicators are abnormal. It can be determined that the category label of the sample software is unhealthy, then the candidate indicators with the next weight level of general can be ignored. If there are indicators with abnormal values ​​in the candidate indicators with a weight level of general importance, the category label of the sample software can be determined to be healthy.

[0062] As another possible implementation, the sample software may be annotated multiple times according to the second indicator value of each candidate indicator to obtain the annotation results of the multiple annotations. If the proportion of the number of annotations with the same annotation result to the total number of annotations is greater than the second threshold, the same annotation result may be determined as the category label of the sample software. Among them, the multiple annotations of the sample software may be understood as annotating the sample software in different ways, and the annotation results may be that the sample software is healthy or unhealthy.

[0063] For example, the second threshold is 0.75, and the sample software is labeled 100 times in total, of which 80 times are labeled as the sample software is healthy, accounting for 0.8, which is greater than the second threshold 0.75. Then it can be determined that the category label of the sample software is healthy.

[0064] Therefore, by labeling the sample software multiple times and determining the final category label of the sample software based on the labeling results of the multiple labelings, the accuracy of the category label can be improved.

[0065] Step 203, calculating the information value IV value of each candidate indicator according to the category label and the second indicator value.

[0066] Among them, the information value (IV value) of the candidate indicator can be used to measure the contribution of the candidate indicator to predicting whether the sample software is healthy or unhealthy. The larger the IV value of the candidate indicator, the greater the contribution to predicting whether the sample software is healthy or unhealthy, that is, the greater the correlation between the candidate indicator and distinguishing between healthy and unhealthy software.

[0067] In this application, the Weight of Evidence (WOE) model can be used to determine the IV value of the candidate indicator according to the second indicator value. Exemplarily, the second indicator values ​​of the candidate indicators of multiple sample software are grouped to obtain multiple groups, and the IV value of each group is calculated according to the proportion of the number of positive examples in each group to the total number of positive examples, and the proportion of the number of negative examples to the total number of negative examples, and the sum of the IV values ​​of multiple groups is used as the IV value of the candidate indicator.

[0068] Among them, the number of positive examples in a group may refer to the number of sample software with a category label of healthy in the group, the number of negative examples may refer to the number of sample software with a category label of unhealthy in the group, the total number of positive examples may refer to the number of sample software with a category label of healthy in all sample software, and the total number of negative examples may refer to the number of sample software with a category label of unhealthy in all sample software.

[0069] Step 204: Determine the candidate indicators whose IV values ​​are greater than the first preset threshold value among the candidate indicators as the target indicators.

[0070] Among them, the IV value is less than the first threshold, which means that the candidate indicator contributes less to predicting whether the sample software is healthy or unhealthy, that is, the candidate indicator has little correlation with distinguishing whether the software is healthy or unhealthy.

[0071] In the present application, candidate indicators with IV values ​​greater than the first threshold value may be used as target indicators, thereby eliminating indicators that contribute less to predicting whether the sample software is healthy or unhealthy.

[0072] It should be noted that if the IV value is equal to the first threshold, the candidate indicator can be considered as the target indicator, or the candidate indicator can be eliminated, which can be selected according to actual needs.

[0073] For example, the first threshold is 0.02. If the IV value of the candidate indicator is less than 0.02, the candidate indicator can be eliminated. If the IV value of the candidate indicator is greater than or equal to 0.02, the candidate indicator can be used as a target indicator to participate in the training of the health prediction model.

[0074] Step 205, training is performed using the second indicator value of each target indicator of the sample software and the category label of the sample software to obtain a health prediction model.

[0075] In the present application, the initial health prediction model is trained using the second indicator value of the target indicator of the sample software that has a relatively large contribution to predicting whether the sample software is healthy or unhealthy, thereby obtaining a health prediction model.

[0076] Exemplarily, the second indicator value of each target indicator of the sample software can be input into the initial health prediction model to obtain the predicted health probability of the sample software. The model loss is calculated based on the predicted health probability and the category label. Based on the model loss, the parameters of the initial health prediction model are adjusted until the model training end conditions are met to obtain a health prediction model.

[0077] In an embodiment of the present application, the sample software is labeled according to the second indicator value of each candidate indicator of the sample software to obtain a category label, and the IV value of the candidate indicator is calculated according to the category label and the second indicator value, and the candidate indicator with an IV value greater than the first threshold is used as the target indicator, thereby eliminating the indicators that contribute less to the prediction of the health or unhealthiness of the sample software, and using the target indicators with a large contribution to train to obtain a health prediction model, thereby improving the accuracy of the model and further improving the accuracy of the health evaluation.

[0078] Figure 3 A flowchart of another software health evaluation method provided in an embodiment of the present application.

[0079] like Figure 3 As shown, the software health evaluation method also includes the following steps:

[0080] Step 301: Calculate a first WOE value of a target indicator using a WOE model according to a first indicator value.

[0081] Step 302: Obtain a first indicator score of the target indicator according to the product of the first WOE value and the weight parameter of the target indicator, the ratio of the basic score to the number of target indicators, and a constant.

[0082] In the present application, the calculation formula of the indicator score of a single indicator can be obtained based on the relationship between the indicator value of a single indicator and the software health score, and the corresponding relationship between the software health score and the software health probability.

[0083] Exemplarily, the calculation relationship between the software health score and the software health probability is shown in the above formula (2). Then, based on formula (2), the calculation formula of the indicator score of a single indicator can be obtained. The specific process is as follows:

[0084]

[0085] Then, the calculation formula of the indicator score of a single indicator is as shown in the following formula (3):

[0086]

[0087] Among them, index score_k represents the index score of index k, w k represents the weight parameter of indicator k, woe k represents the WOE value of indicator k, n represents the number of indicators, const represents the intercept, w k , const, factor, offset are known.

[0088] Then, by substituting the first WOE value of the target indicator and the number of target indicators into the above formula (3), the indicator score of the target indicator can be calculated.

[0089] Optionally, the contribution type of the target indicator to the first health score can be determined based on the magnitude relationship between the first indicator score and the third threshold, and the contribution degree of the target indicator can be determined based on the absolute value of the difference between the first indicator score and the third threshold, and then the optimization suggestion for the first target software can be generated based on the contribution type and contribution degree of each target indicator. In this way, the accuracy of the optimization suggestion can be improved.

[0090] For example, the third threshold value can be 0. If the first indicator score is greater than 0, it can be determined that the contribution type of the target indicator to the first health score of the first target software is a positive contribution. If the first indicator score is greater than 0, it can be determined that the contribution type of the target indicator to the first health score of the first target software is a negative contribution. The greater the absolute value of the difference between the first indicator score and 0, the greater the contribution.

[0091] Exemplarily, target indicators with greater contributions can be used as indicators that the first target software should focus on. For target indicators with contributions exceeding a set threshold, these target indicators can be included in the subsequent output of optimization suggestions for the first target software.

[0092] In an embodiment of the present application, the first WOE value of a single indicator can also be calculated based on the first indicator value using the WOE model, and the indicator score of the single indicator can be obtained based on the product of the first WOE value and the weight parameter of the single indicator, the ratio of the basic score to the number of single indicators, a constant, etc., so that the software health evaluation is more comprehensive.

[0093] In one embodiment of the present application, based on the above embodiment, the mapping relationship between the indicator, the grouping and the indicator score can be updated according to the target indicator and the first indicator score of the target indicator to obtain an updated mapping relationship. Thus, updating the mapping relationship can improve the accuracy of the mapping relationship.

[0094] Among them, the grouping in the mapping relationship can be understood as the indicator score range.

[0095] Among them, the mapping relationship between indicators, groups and indicator scores can be obtained in the following way: obtain the second indicator value of each target indicator of the sample software, and calculate the second WOE value of the target indicator based on the second indicator value using the WOE model, and then obtain the second indicator score of the target indicator based on the product of the second WOE value and the weight parameter of the target indicator, the ratio of the basic score to the number of target indicators and the constant, fit the target indicator and the second indicator score, and obtain the mapping relationship between indicators, groups and indicator scores.

[0096] Exemplarily, the grouping may be determined based on the second indicator value of the target indicator of the sample software, and the indicator score corresponding to the grouping may be determined based on the second indicator score corresponding to the second indicator value.

[0097] The calculation method of the second indicator score can refer to the calculation method of the first indicator score in the above embodiment, so it will not be repeated here.

[0098] Therefore, the second indicator score can be calculated based on the second indicator value of the sample software, and then the mapping relationship between the indicators, groups and indicator scores can be generated through fitting, so that the health of the software can be evaluated directly by querying the mapping relationship, thereby improving the efficiency of the health evaluation.

[0099] Optionally, the updated mapping relationship among the indicators, groups and indicator scores may be used to perform a health evaluation on the second target software.

[0100] Exemplarily, the third indicator value of each target indicator of the second target software can be obtained. By querying the updated mapping relationship, the group to which the third indicator value of each target indicator belongs can be determined. Then the indicator score corresponding to the group is the third indicator score of the target indicator. By adding the third indicator scores of each target indicator, the second health score of the second target software can be obtained.

[0101] Therefore, the indicator score of a single indicator of the software and the health score of the software can be determined by directly querying the mapping relationship between indicators, groups and indicator scores, which saves computing resources and improves the efficiency of health evaluation.

[0102] In order to implement the above embodiment, the present application also proposes a software health evaluation device.

[0103] Figure 4 A schematic diagram of the structure of a software health evaluation device provided in an embodiment of the present application.

[0104] like Figure 4 As shown, the software health evaluation device 400 includes:

[0105] A first acquisition module 410 is used to acquire a first indicator value of each target indicator of the first target software;

[0106] A second acquisition module 420 is used to acquire a first health probability of the first target software according to the first indicator value using a pre-trained health prediction model;

[0107] A first determination module 430, configured to determine a first health score of the first target software according to the first health probability and a correspondence between the software health probability and the software health score;

[0108] Among them, the corresponding relationship means that the sum of the product between the logarithm of the software health probability and a constant and the basic score is equal to the software health score, and the constant is determined based on the increase in the software health score when the software health probability increases by a preset multiple.

[0109] Furthermore, in a possible implementation of the embodiment of the present application, the device may also include:

[0110] A third acquisition module is used to obtain the second indicator value of each candidate indicator of the sample software;

[0111] A labeling module, used for labeling the sample software according to the second indicator value of each candidate indicator to obtain a category label of the sample software; wherein the category label is used to characterize the health status of the sample software;

[0112] A first calculation module, used for calculating the information value IV value of each candidate indicator according to the category label and the second indicator value;

[0113] A second determination module is used to determine the candidate indicator whose IV value is greater than the first preset threshold among the candidate indicators as the target indicator;

[0114] The training module is used to perform training using the second indicator value of each target indicator of the sample software and the category label of the sample software to obtain the health prediction model.

[0115] Furthermore, in a possible implementation of the embodiment of the present application, the marking module is used to:

[0116] According to the second indicator value of each candidate indicator, the sample software is annotated multiple times to obtain annotated results of the multiple annotations;

[0117] In response to the proportion of the number of annotations with the same annotation result to the total number of annotations being greater than a second threshold, the same annotation result is determined as a category label of the sample software.

[0118] Furthermore, in a possible implementation of the embodiment of the present application, the device may also include:

[0119] A second calculation module is used to calculate a first WOE value of the target indicator according to the first indicator value by using a weight of evidence WOE model;

[0120] The fourth acquisition module is used to acquire the first indicator score of the target indicator according to the product of the first WOE value and the weight parameter of the target indicator, the ratio of the basic score to the number of the target indicator and the constant.

[0121] Furthermore, in a possible implementation of the embodiment of the present application, the device may also include:

[0122] A third determination module, configured to determine a contribution type of the target indicator to the first health score according to a magnitude relationship between the first indicator score and a third threshold;

[0123] a fourth determination module, configured to determine the contribution of the target indicator according to an absolute value of a difference between the first indicator score and a third threshold;

[0124] A generation module is used to generate optimization suggestions for the first target software according to the contribution type and contribution degree of each target indicator.

[0125] Furthermore, in a possible implementation of the embodiment of the present application, the device may also include:

[0126] An updating module is used to update the mapping relationship between the indicator, the grouping and the indicator score according to the target indicator and the first indicator score to obtain an updated mapping relationship; wherein the mapping relationship is obtained in the following manner:

[0127] Obtaining a second indicator value of each target indicator of the sample software;

[0128] According to the second indicator value, using the WOE model, calculating a second WOE value of the target indicator;

[0129] Obtaining a second indicator score of the target indicator according to the product of the second WOE value and the weight parameter of the target indicator, the ratio of the basic score to the number of the target indicator, and the constant;

[0130] The target indicator and the second indicator score are fitted to obtain the mapping relationship.

[0131] Furthermore, in a possible implementation of the embodiment of the present application, the device may also include:

[0132] A fifth acquisition module, used to acquire a third indicator value of each target indicator of the second target software;

[0133] a fifth determination module, configured to query the updated mapping relationship according to the third indicator value, and determine the third indicator score of each target indicator;

[0134] The sixth determination module is used to determine the second health score of the second target software according to the sum of the third indicator scores of the target indicators.

[0135] It should be noted that the above explanation of the software health evaluation method embodiment is also applicable to the software health evaluation device of this embodiment, and will not be repeated here.

[0136] In an embodiment of the present application, by using a health prediction model based on a first indicator value to obtain a first health probability of the first target software, the accuracy of the health prediction can be improved. In the corresponding relationship between the software health probability and the software health score, when the software health probability increases by a preset multiple, the software health score increases. The health score of the software is determined based on this corresponding relationship, which can increase the discrimination of the software health score and improve the accuracy of the software health evaluation.

[0137] In order to implement the above embodiments, the present application also proposes an electronic device, comprising: a processor, and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method provided by the above embodiments.

[0138] In order to implement the above embodiments, the present application also proposes a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the methods provided by the above embodiments.

[0139] In order to implement the above embodiments, the present application also proposes a computer program product, including a computer program, which implements the methods provided by the above embodiments when executed by a processor.

[0140] The collection, storage, use, processing, transmission, provision and disclosure of user personal information involved in this application are in compliance with relevant laws and regulations and do not violate public order and good morals.

[0141] It should be noted that personal information from users should be collected for legitimate and reasonable purposes and should not be shared or sold outside of these legitimate uses. In addition, such collection / sharing should be carried out after receiving the user's informed consent, including but not limited to notifying the user to read the user agreement / user notice and sign the agreement / authorization including authorization of relevant user information before the user uses the function. In addition, any necessary steps should be taken to protect and safeguard access to such personal information data and ensure that others who have access to personal information data comply with its privacy policy and procedures.

[0142] The present application is expected to provide an implementation scheme for users to selectively block the use or access of personal information data. That is, the present disclosure is expected to provide hardware and / or software to prevent or block access to such personal information data. Once the personal information data is no longer needed, the risk can be minimized by limiting data collection and deleting the data. In addition, when applicable, such personal information is de-identified to protect the privacy of the user.

[0143] In the description of the aforementioned embodiments, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples, without contradiction.

[0144] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.

[0145] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or more executable instructions for implementing the steps of a custom logical function or process, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may not be performed in the order shown or discussed, including performing functions in a substantially simultaneous manner or in the reverse order depending on the functions involved, which should be understood by technicians in the technical field to which the embodiments of the present application belong.

[0146] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute the instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purpose of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection with one or more wires (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), a fiber optic device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or processing in other suitable ways if necessary, and then stored in a computer memory.

[0147] It should be understood that the various parts of the present application can be implemented by hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0148] A person skilled in the art may understand that all or part of the steps in the method for implementing the above-mentioned embodiment may be completed by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiment.

[0149] In addition, each functional unit in each embodiment of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into one module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.

[0150] The storage medium mentioned above may be a read-only memory, a magnetic disk or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limiting the present application. A person of ordinary skill in the art may change, modify, replace and modify the above embodiments within the scope of the present application.

Claims

1. A software health evaluation method, characterized in that: The following steps are involved: Obtaining a first indicator value of each target indicator of the first target software; According to the first indicator value, using a pre-trained health prediction model, obtaining a first health probability of the first target software; Determining a first health score of the first target software according to the first health probability and a corresponding relationship between the software health probability and the software health score; Among them, the corresponding relationship means that the sum of the product between the logarithm of the software health probability and a constant and the basic score is equal to the software health score, and the constant is determined based on the increase in the software health score when the software health probability increases by a preset multiple.

2. The method according to claim 1, characterized in that The health prediction model is trained by the following method: Obtaining a second indicator value of each candidate indicator of the sample software; According to the second indicator value of each candidate indicator, the sample software is labeled to obtain a category label of the sample software; wherein the category label is used to characterize the health status of the sample software; Calculate the information value IV value of each candidate indicator according to the category label and the second indicator value; Determine the candidate indicator whose IV value is greater than the first preset threshold value among the candidate indicators as the target indicator; The health prediction model is obtained by training using the second indicator value of each target indicator of the sample software and the category label of the sample software.

3. The method according to claim 2, characterized in that The step of labeling the sample software according to the second indicator value of each candidate indicator to obtain a category label of the sample software includes: According to the second indicator value of each candidate indicator, the sample software is annotated multiple times to obtain annotated results of the multiple annotations; In response to the proportion of the number of annotations with the same annotation result to the total number of annotations being greater than a second threshold, the same annotation result is determined as a category label of the sample software.

4. The method according to claim 1, characterized in that: Also includes: According to the first indicator value, using the weight of evidence WOE model, calculate the first WOE value of the target indicator; A first indicator score of the target indicator is obtained according to the product of the first WOE value and the weight parameter of the target indicator, the ratio of the basic score to the number of the target indicator, and the constant.

5. The method according to claim 4, characterized in that Also includes: Determining the contribution type of the target indicator to the first health score according to the magnitude relationship between the first indicator score and a third threshold; Determining the contribution of the target indicator according to the absolute value of the difference between the first indicator score and the third threshold value; Generate optimization suggestions for the first target software according to the contribution type and the contribution degree of each target indicator.

6. The method according to claim 4, characterized in that Also includes: According to the target indicator and the first indicator score, the mapping relationship between the indicator, the grouping and the indicator score is updated to obtain an updated mapping relationship; wherein the mapping relationship is obtained in the following manner: Obtaining a second indicator value of each target indicator of the sample software; According to the second indicator value, using the WOE model, calculating a second WOE value of the target indicator; Obtaining a second indicator score of the target indicator according to the product of the second WOE value and the weight parameter of the target indicator, the ratio of the basic score to the number of the target indicator, and the constant; The target indicator and the second indicator score are fitted to obtain the mapping relationship.

7. The method according to claim 6, characterized in that Also includes: Obtaining a third indicator value of each target indicator of the second target software; According to the third indicator value, query the updated mapping relationship to determine the third indicator score of each target indicator; A second health score of the second target software is determined according to the sum of the third indicator scores of the target indicators.

8. A software health evaluation device, characterized in that: include: A first acquisition module, used to acquire a first indicator value of each target indicator of the first target software; A second acquisition module is used to acquire a first health probability of the first target software according to the first indicator value using a pre-trained health prediction model; A first determination module, configured to determine a first health score of the first target software according to the first health probability and a corresponding relationship between the software health probability and the software health score; Among them, the corresponding relationship means that the sum of the product between the logarithm of the software health probability and a constant and the basic score is equal to the software health score, and the constant is determined based on the increase in the software health score when the software health probability increases by a preset multiple.

9. An electronic device, characterized in that: include: A processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 7 when executed by a processor.

11. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 7 when being executed by a processor.

Citation Information

Patent Citations

  • Software quality evaluation method, device, apparatus, and readable storage medium

    CN109117380A

  • Software product performance evaluation method and device, electronic equipment and storage medium

    CN113849387A

  • Software project data processing method and device, equipment and storage medium

    CN118014451A

  • Techniques for data processing predictions

    US20230112576A1