Software quality evaluation model construction method, software quality evaluation method, software quality evaluation device and program
The method adapts U.S.-based Bayesian network models to domestic software quality standards by associating, deleting, or adding evaluation items, enabling accurate software failure probability calculations and enhancing software quality evaluations.
Patent Information
- Application Number
- JP2022144370
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-09-12
- Publication Date
- 2026-03-02
- Estimated Expiration
- 2042-09-12
AI Technical Summary
Existing methods for calculating software failure probability, such as those based on Bayesian networks, are difficult to apply directly to software developed using domestic quality control standards different from U.S. standards, necessitating a method to construct an evaluation model that aligns with specific national or company-specific standards.
A software quality evaluation method and device that utilizes a Bayesian network model to adapt U.S.-based evaluation items to domestic standards by associating, deleting, or adding alternative items, and setting conditional probability distributions to calculate software failure probability based on Japanese quality control standards.
Enables accurate calculation of software failure probability aligned with domestic standards, facilitating more realistic quality evaluations and risk assessments in software development processes.
Smart Images

Figure 0007822284000001 
Figure 0007822284000002 
Figure 0007822284000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a software quality evaluation model construction method, a software quality evaluation method, a software quality evaluation device, and a program. [Background technology]
[0002] Software failures occur due to design errors in logical structures and are more difficult to observe than hardware failures. Therefore, evaluating software failure probability is not easy. For example, software quality is evaluated by using software failure probability values provided by international standards based on engineering judgment. In response to this, a method for calculating software failure probability using a Bayesian network model has been developed in the United States in recent years (Non-Patent Document 1). This method uses a Bayesian network model to estimate the bug density and bug detection rate inherent in software from the quality levels of software development and verification and validation (V&V) (i.e., compliance with software quality control standards). Software failure probability is calculated by multiplying these values by the software size. The method disclosed in Non-Patent Document 1 makes it possible to objectively calculate failure probability according to the quality levels of software development and V&V.
[0003] Patent Document 1 discloses a fault diagnosis system that uses a Bayesian network to diagnose anomalies caused by computer hardware and anomalies caused by software for controlling the operation of the hardware in an integrated manner. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 5181479 [Non-patent literature]
[0005] [Non-Patent Document 1] NUREG / CR-7233, "Developing a Bayesian Belief Network Model for Quantifying the Probability of Software Failure of a Protection System," online, United States Nuclear Regulatory Commission, [Retrieved September 1, 2022], Internet<https: / / www.nrc.gov / docs / ML1802 / ML18022A139.pdf> Summary of the Invention [Problem to be solved by the invention]
[0006] However, the method described in Non-Patent Document 1 is based on the software quality control standards adopted in the United States, and it is difficult to calculate the failure probability by directly applying the method described in Non-Patent Document 1 to software developed based on domestic software quality control standards. There is a need for a method for constructing an evaluation model that can evaluate the quality of software developed based on quality control standards different from those of the United States in the same way as the method described in Non-Patent Document 1.
[0007] The present disclosure provides a software quality evaluation model construction method, a software quality evaluation method, a software quality evaluation device, and a program that can solve the above-mentioned problems. [Means for solving the problem]
[0008] The software quality evaluation model construction method according to the present disclosure includes: A computer-implemented software quality evaluation model construction method, comprising:a step of comparing and associating a first evaluation item for evaluating the quality level of the development quality or the verification quality with a second evaluation item for evaluating the quality level of the development quality or the verification quality, the second evaluation item conforming to a second software quality control standard different from the first software quality control standard conforming to the first evaluation item, for the development quality and the verification quality, which are nodes of a first Bayesian network model that calculates the software failure probability based on the quality levels of the software development quality and the verification quality; The computer setting a conditional probability distribution indicating the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality for each of the associated second evaluation items; The computer and constructing a second Bayesian network model that calculates the failure probability of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model.
[0009] The software quality evaluation method according to the present disclosure includes: The above Evaluating the quality of the software to be evaluated based on the second Bayesian network model constructed by the software quality evaluation model construction method. , executed by a computer A software quality evaluation method, comprising: The computer receiving a setting of quality information for the second evaluation item for the software to be evaluated; The computer receiving a setting of the software size of the software to be evaluated; The computer The method includes steps of calculating a quality level of the development quality based on the quality information set for the second evaluation item related to the development quality, calculating a quality level of the verification quality based on the quality information set for the second evaluation item related to the verification quality, and calculating a software failure probability of the software to be evaluated based on the quality level of the development quality, the quality level of the verification quality, and the software size.
[0010] The software quality evaluation device of the present disclosure includes: a means for comparing and matching a first evaluation item for evaluating the quality level of the development quality or the verification quality with a second evaluation item for evaluating the quality level of the development quality or the verification quality, the first evaluation item being a node of a first Bayesian network model that calculates the probability of failure of the software based on the quality levels of the software's development quality and verification quality, the second evaluation item complying with a second software quality control standard that is different from the first software quality control standard to which the first evaluation item complies; a means for setting, for each of the matched second evaluation items, a conditional probability distribution that indicates the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality; and a means for constructing a second Bayesian network model that calculates the probability of failure of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model.
[0011] The program disclosed herein causes a computer to function as: a means for comparing and matching a first evaluation item for evaluating the quality level of development quality or verification quality with a second evaluation item for evaluating the quality level of development quality or verification quality, the first evaluation item being a node of a first Bayesian network model that calculates the probability of software failure based on the quality levels of the software's development quality and verification quality, the second evaluation item complying with a second software quality control standard that is different from the first software quality control standard to which the first evaluation item complies; a means for setting, for each of the matched second evaluation items, a conditional probability distribution that indicates the degree of influence of the second evaluation item on the quality level of the development quality or verification quality; and a means for constructing a second Bayesian network model that calculates the probability of software failure based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model. [Effects of the Invention]
[0012] According to the software quality evaluation model construction method, software quality evaluation method, software quality evaluation device, and program disclosed herein, it is possible to construct a software quality evaluation model that calculates a software failure probability based on a specific software quality control standard. According to the software quality evaluation method, it is possible to calculate a software failure probability based on a software quality evaluation model that complies with the specific software quality control standard. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a block diagram illustrating an example of a software quality evaluation device according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a software quality evaluation model according to the embodiment. [Figure 3] 10 is a flowchart illustrating an example of a process for constructing a software quality evaluation model and a process for calculating a software failure probability according to the embodiment. [Figure 4] FIG. 10 is a diagram showing an example of a comparison result of evaluation items according to the embodiment. [Figure 5] FIG. 10 is an explanatory diagram of setting the uncertainty of a conditional probability distribution according to an embodiment. [Figure 6] FIG. 1 illustrates an example of a hardware configuration of a software quality evaluation apparatus according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0014] <Embodiment> The software quality evaluation device of the present disclosure will be described below with reference to FIGS. (composition) FIG. 1 is a block diagram showing an example of a software quality evaluation device according to an embodiment. The software quality evaluation device 10 constructs a software quality evaluation model (Bainesian network model) that calculates the failure probability of software developed based on software quality control standards / management systems specific to each country, and calculates the failure probability of the software to be evaluated based on the constructed software quality evaluation model.
[0015] FIG. 2 shows an example of a software quality evaluation model 100 (hereinafter, sometimes referred to as the evaluation model 100). The Bayesian network model 100 shown in FIG. 2 is an evaluation model described in Non-Patent Document 1. The evaluation model 100 includes nodes for development quality 101, software size 102, V&V quality 103, bug density 104, bug detection rate 105, number of generated bugs 106, number of remaining bugs 107, and software failure probability 108, and the causal relationships between the nodes are indicated by arrows between the nodes. That is, the bug density 104 can be estimated from the development quality 101, and the number of generated bugs 106 can be calculated from the bug density 104 and software size 102. Meanwhile, the bug detection rate 105 can be calculated from the V&V quality 103, and the number of remaining bugs 107 can be calculated from the bug detection rate 105 and the number of generated bugs 106. Finally, the software failure probability 108 can be calculated from the number of remaining bugs 107. In a Bayesian network model, when an event occurs at an upstream node, the event that occurs at a downstream node connected by an arrow is probabilistically calculated. The probabilistic relationships between each node in the evaluation model 100 shown in Figure 2 have been studied and are known in the United States. In other words, even in Japan, by providing the development quality 101, software size 102, and V&V quality 103 of the software being evaluated to the evaluation model 100 in Figure 2, the failure probability of the software being evaluated can be automatically calculated based on the known relationships between the nodes. Of these, software size 102 can be calculated using, for example, the function point method. For the remaining development quality 101 and V&V quality 103, the development quality 101 is evaluated as "high," "medium," or "low" for each evaluation item used to evaluate the quality level of the development process in accordance with the U.S. software quality control standards. Based on the evaluation results for each evaluation item, the quality level of development quality 101 is probabilistically determined as "high," "medium," or "low."More specifically, the evaluation items of the development quality 101 include items such as "software development plan," "concept documentation," "traceability analysis," "security analysis," "risk analysis," etc. For the evaluation item "software development plan," the quality of the software development plan is set as "high," "medium," or "low." For each evaluation item, such as the "software development plan," a conditional probability distribution is set indicating the degree to which the evaluation of that evaluation item (high, medium, or low) affects the quality level of the development quality 101. Then, based on the evaluation of each evaluation item (high, medium, or low) and the conditional probability distribution indicating the degree to which each evaluation item affects the quality level, the probability that the quality level of the development quality 101 is "high," "medium," or "low" is calculated using the Bayesian method (Bayesian updating) (e.g., a 60% probability that the quality level of the development quality 101 is "high," a 30% probability that it is "medium," and a 10% probability that it is "low"). The same applies to the V&V quality 103. For each evaluation item of V&V quality 103 (e.g., "V&V plan," "concept documentation," etc.), the evaluator sets either "high," "medium," or "low." Furthermore, for each evaluation item, a conditional probability distribution is set indicating the degree of impact that the evaluation of that evaluation item has on the quality level of V&V quality 103. Then, using the Bayesian method, the quality level of V&V quality 103 (high, medium, or low) is calculated probabilistically from the evaluation of "high," "medium," or "low" set for each evaluation item and the conditional probability distribution indicating the impact of each evaluation item. The uncertainty and probabilistic nature of the quality level of development quality 101 and the quality level of V&V quality 103 are propagated downstream. For example, in the evaluation model 100, the bug density when the quality level of the development quality 101 is "high", the bug density when it is "medium", and the bug density when it is "low" are set based on literature values, and when the quality level of the development quality 101 is calculated probabilistically, the bug density 104 is calculated by a weighted average from the bug densities for each of "high", "medium", and "low" and the probability that the quality level is "high", "medium", or "low", and the probability distribution for the calculated bug density 104 is also calculated.
[0016] If the evaluation items in the development quality 101 and the V&V quality 103 are the same as those used in the United States, the evaluator can calculate the software failure probability based on the evaluation model 100 simply by rating each evaluation item as "high," "medium," or "low." However, the evaluation items used in the United States are based on the U.S. software quality control standards and differ from those used in Japan. When developing software based on the Japanese software quality control standards, it is difficult to rate evaluation items not used in Japan as "high," "medium," or "low." Furthermore, even if an evaluation item is included in the Japanese software quality control standards, it may not be necessary for the environment or situation in which the software being developed will be used (for example, the evaluation item "security analysis" does not need to be included in software used in an environment where there is no data exchange with other devices via a network or portable storage media, etc.). Therefore, the software quality evaluation device 10 of this embodiment reconfigures the evaluation model 100 based on the U.S. software quality control standards into an evaluation model 100' that conforms to the Japanese software quality control standards, making it easier to set evaluations for each evaluation item even for software developed based on the Japanese software quality control standards, and calculates the software failure probability based on the domestic evaluation model 100'. For the sake of distinction, the Bayesian network model constructed to conform to the domestic market will be referred to as the evaluation model 100', and the nodes that make up the evaluation model 100' will also be referred to as development quality 101', etc.
[0017] As shown in FIG. 1, the software quality evaluation device 10 includes an input receiving unit 11, a model building unit 12, a failure probability calculation unit 13, and a storage unit 14.
[0018] The input receiving unit 11 receives information and instructions input using an input device such as a keyboard, a mouse, a touch panel, or a button. For example, the input receiving unit 11 receives input of setting information required for constructing the evaluation model 100′, instruction information for instructing the execution of a construction process for the evaluation model 100′, and the execution of a calculation process for the software failure probability. The input receiving unit 11 records the received information in the storage unit 14, or outputs it to the model construction unit 12 or the failure probability calculation unit 13.
[0019] The model construction unit 12 executes a process of constructing an evaluation model 100' conforming to the Japanese software quality control standards, based on the evaluation model 100, which is a Bayesian network model constructed based on the US software quality control standards.
[0020] The failure probability calculation unit 13 calculates the failure probability of the software to be evaluated based on the evaluation model 100′ constructed by the model construction unit 12.
[0021] The storage unit 14 stores the setting information received by the input receiving unit 11, information generated during the process of constructing the evaluation model 100′ and the process of calculating the software failure probability, information on the processing results, the evaluation model 100, etc. The evaluation model 100 stores information on the evaluation items of the development quality 101, a calculation formula for probabilistically calculating whether the quality level of the development quality 101 is "high", "medium", or "low" from "high", "medium", or "low" set for each evaluation item of the development quality 101 (including a probability distribution showing the degree of influence that the evaluation items of the development quality 101 have on the quality level of the development quality 101), information on the evaluation items of the V&V quality 103, and a calculation formula for probabilistically calculating whether the quality level of the V&V quality 103 is "high", "medium", or "low" from "high", "medium", or "low" set for each evaluation item of the V&V quality 103. The formulas include a formula for calculating the bug density 104 from the development quality 101, a formula for calculating the number of bugs 106 generated from the bug density 104 and the software size 102, a formula for calculating the bug detection rate 105 from the V&V quality 103 and the software size 102, a formula for calculating the number of remaining bugs 107 from the number of generated bugs 106 and the bug detection rate 105, and a formula for calculating the software failure probability 108 from the number of remaining bugs 107.
[0022] (operation) Next, the process of constructing the evaluation model 100' and the process of calculating the software failure probability according to this embodiment will be described. Fig. 3 is a flowchart showing an example of the process of constructing the software quality evaluation model and the process of calculating the software failure probability according to this embodiment. The input receiving unit 11 acquires evaluation items for the development quality 101' and the V&V quality 103' that comply with the Japanese Software Quality Control Standards (step S11). For example, the evaluator sets (inputs) the evaluation items for the development quality 101' and the evaluation items for the V&V quality 103' in the software quality evaluation device 10 and instructs the construction of an evaluation model 100' for Japan. The input receiving unit 11 acquires the set multiple evaluation items and records them in the storage unit 14, and also instructs the model construction unit 12 to start the construction process of the evaluation model 100'.
[0023] Next, the model construction unit 12 compares and associates the U.S. evaluation items with the Japanese evaluation items (step S12). For example, the model construction unit 12 reads out the evaluation items of the development quality 101 and the V&V quality 103 included in the evaluation model 100 stored in the storage unit 14. The model construction unit 12 then compares the U.S. evaluation items with the Japanese development quality 101' evaluation items one by one, and if they have the same name, evaluates them as corresponding evaluation items. Alternatively, the model construction unit 12 may calculate the similarity of words or sentences, such as the names of the two U.S. and Japanese evaluation items or descriptions of the meaning of the evaluation items, and evaluate them as corresponding evaluation items if the similarity is equal to or greater than a threshold. The model construction unit 12 performs such comparison and association for each of the U.S. evaluation items with the V&V quality 103 evaluation items, and outputs the comparison results to a display device or the like. Note that the association between the U.S. evaluation items and the Japanese evaluation items may be performed by an evaluator, and the input receiving unit 11 may acquire the result. An example of the comparison results is shown in Figure 4.
[0024] FIG. 4 is a diagram illustrating an example of a comparison result of evaluation items according to an embodiment. As illustrated, evaluation items for evaluating the quality level of the US development quality standard 101 include "software development plan," "concept documentation," "traceability analysis," "security analysis," and "risk analysis." As illustrated, as a result of an automatic matching process based on the names of evaluation items, etc., it is assumed that corresponding evaluation items are found for "software development plan," "concept documentation," and "risk analysis" among the evaluation items conforming to the Japanese Software Quality Control Standards, but no corresponding evaluation items are found for "traceability analysis" and "security analysis." The evaluator sets alternative evaluation items for the two unmatched evaluation items, which are implemented for the same purpose. For example, for "traceability analysis," the evaluator sets an alternative evaluation item, "check whether the revision will have any impact when revising a document," in the software quality evaluation device 10. For "security analysis," no corresponding evaluation item is found in the Japanese Software Quality Control Standards (or it is not necessary to implement it). In this case, the evaluator sets the software quality evaluation device 10 to delete "security analysis" from the evaluation items. The input receiving unit 11 receives alternative evaluation items and deletion settings set by the evaluator and outputs the received setting information to the model construction unit 12. The model construction unit 12 associates the set alternative evaluation items or deletes the evaluation items. As a result, the evaluation items for development quality 101' of the evaluation model 100' for Japan include "software development plan," "concept documentation," "checking whether revisions will have an impact when revising documents," and "risk analysis" ("security analysis" is deleted). The model construction unit 12 records (sets) a list of evaluation items related to development quality 101' after association or deletion in the storage unit 14. The evaluator and the model construction unit 12 perform similar processing for evaluation items for V&V quality 103'. The model construction unit 12 records (sets) a list of evaluation items related to V&V quality 103' after association or deletion in the storage unit 14.
[0025] Next, the model construction unit 12 sets the uncertainty of the conditional probability distribution for the alternative evaluation items (step S13). In the evaluation model 100, for each evaluation item of the development quality 101, a value representing the degree of impact of that evaluation item on the quality level of the development quality 101 is given by a conditional probability distribution (for example, the probability that the development quality 101 will be "high" when a certain evaluation item is "high"). Similarly, for the evaluation items of the V&V quality 103, the degree of impact of each evaluation item on the quality level of the V&V quality 103 is given by a conditional probability distribution. This is a conditional probability distribution of impact studied for software developed based on the US software quality control standards, and it is unclear whether the alternative evaluation items set in step S12 have a similar impact on the quality level. Therefore, since the exact degree of impact is unknown, the uncertainty range of the conditional probability distribution for the alternative evaluation items is increased. Specifically, it is assumed that the 95% confidence interval of the probability distribution in the US is included with a (neutral) 50% probability in the case of Japan, and the 50% confidence interval is set for the US 95% confidence interval. FIG. 5 shows an example of a conditional probability distribution L1 for the United States set for a given evaluation item, and a conditional probability distribution L2 set for an alternative evaluation item. The vertical axis of FIG. 5 represents the random variable (quality level), and the horizontal axis represents the probability density. The model construction unit 12 records (sets) the conditional probability distribution set for the alternative evaluation item set in step S12 in the storage unit 14. Note that here, a neutral 50% confidence interval is used because the uncertainty is unknown, but if data is accumulated and the uncertainty becomes clear, an appropriate interval (e.g., 68%) may be set.
[0026] Next, the model construction unit 12 constructs a software quality evaluation model 100′ that complies with Japanese software quality control standards (step S14). The model construction unit 12 replaces the evaluation items for development quality 101 and V&V quality 103 included in the evaluation model 100 with the evaluation items associated in step S12, deletes the evaluation items deleted in step S12, and if an alternative evaluation item is set, replaces the conditional probability distribution indicating the impact of that evaluation item on development quality 101′ or V&V quality 103′ with the conditional probability distribution set in step S13. If a corresponding evaluation item exists, the conditional probability distribution indicating the impact originally set for that evaluation item is also set for the corresponding evaluation item, thereby constructing the evaluation model 100′. The model construction unit 12 records the constructed evaluation model 100′ in the storage unit 14. This makes it possible to construct an evaluation model 100′ that is capable of evaluating software quality based on evaluation items that comply with Japanese software quality control standards while being based on software quality evaluation methods established in the United States.
[0027] Next, the failure probability calculation unit 13 determines whether to calculate the failure probability of the software to be evaluated (step S15). For example, if the evaluator instructs execution of the software failure probability calculation process, the failure probability calculation unit 13 determines to calculate the software failure probability, and otherwise determines not to calculate the failure probability. If it is determined not to calculate the software failure probability (step S15; No), the processing flow of FIG. 3 is terminated.
[0028] When it is determined that the software failure probability is to be calculated (Step S15; Yes), the failure probability calculation unit 13 starts the calculation process of the software failure probability. The failure probability calculation unit 13 acquires the settings of "high," "medium," or "low" for the evaluation items of the development quality 101' and the V&V quality 103' of the evaluation model 100' for the software to be evaluated (Step S16). For example, an evaluator evaluates the software to be evaluated based on the Japanese Software Quality Control Standards, and based on the evaluation results, sets "high," "medium," or "low" for each evaluation item that affects the quality level of the development quality 101'. The input reception unit 11 receives the evaluation for each evaluation item and records it in the storage unit 14. This enables probabilistic calculation of the quality level of the development quality 101'. Similarly, the evaluator sets "high," "medium," or "low" for each evaluation item of the V&V quality 103'. The input reception unit 11 receives the evaluation for each evaluation item and records it in the storage unit 14. This allows for probabilistic calculation of the quality level of the V&V quality 103'.
[0029] Next, the failure probability calculation unit 13 acquires the setting of the software size 102' for the software to be evaluated (step S17). For example, the evaluator calculates the software size of the software to be evaluated using the function point method and sets the result in the software quality evaluation device 10. The input receiving unit 11 receives the setting of the software size and records it in the memory unit 14. Steps S16 and S17 complete the setting of input parameters for the evaluation model 100'. Next, the failure probability calculation unit 13 calculates the failure probability of the software to be evaluated based on the evaluation model 100' built for Japan (step S18). The failure probability calculation unit 13 probabilistically calculates whether the quality level of the development quality 101' is "high," "medium," or "low" using the Bayesian method based on the evaluation of each evaluation item of the development quality 101' set in step S16 and the conditional probability distribution representing the influence of each evaluation item. Next, the failure probability calculation unit 13 calculates the bug density 104' based on the quality level of the development quality 101'. Next, the failure probability calculation unit 13 calculates the number of bugs 106' to be generated based on the bug density 104' and the software size 102' set in step S17. The failure probability calculation unit 13 probabilistically calculates whether the quality level of the V&V quality 103' is "high," "medium," or "low" using the Bayesian method based on the evaluation of each evaluation item of the V&V quality 103' set in step S16 and the conditional probability distribution representing the impact of each evaluation item. Next, the failure probability calculation unit 13 calculates a bug detection rate 105' based on the quality level of the V&V quality 103'. Next, the failure probability calculation unit 13 calculates a number of remaining bugs 107' based on the bug detection rate 105' and the number of generated bugs 106'. Next, the failure probability calculation unit 13 calculates a software failure probability 108' of the software to be evaluated based on the number of remaining bugs 107'. This makes it possible to calculate an objective failure probability according to the development quality and V&V quality level for software developed in accordance with the Japanese Software Quality Control Standards.
[0030] (effect) As described above, according to this embodiment, it is possible to construct an evaluation model 100' that evaluates the quality levels of software development quality and V&V quality based on evaluation items compliant with the Japanese Software Quality Control Standards, and then calculates an objective software failure probability corresponding to the quality levels of the software development quality and V&V quality. This allows the failure probability of the software to be evaluated to be calculated by reflecting the quality levels of the development quality and V&V quality during the actual development process of the software, rather than using a software failure probability value uniformly determined by international standards, etc., thereby enabling more accurate software quality evaluation that is in line with reality. For example, in a probabilistic risk assessment (PRA) of a nuclear power plant, the software failure probability of the control panel is required, and this embodiment enables risk evaluation using more realistic values.
[0031] In the above example, it is assumed that the software to be evaluated is developed based on Japanese software quality control standards. However, the software quality control standards to which the evaluation items are to be conformed when constructing the evaluation model 100′ may be other standards (e.g., software quality control standards established specifically by the development company). The above-described embodiment may be applied to all stages of a software development process. For example, if the entire software development process consists of five phases: requirements definition, design, development (coding), testing, and implementation, the calculation of the number of remaining bugs 107′ in the evaluation model 100′ may be performed for requirements definition, design, development (coding), and testing. The number of remaining bugs 107′ may be carried over to the next phase, and the final software failure probability 108′ may be calculated in the final implementation phase. Alternatively, the software failure probability 108′ may be calculated as a review at the end of each phase in parallel with the software development, and the results may be reflected in the next phase to advance the software development process. In addition, in step S12, if there is no corresponding evaluation item (no alternative), the item is deleted. However, for example, instead of deleting an item that has no corresponding evaluation item, it may be dealt with by forcibly setting it to "medium."
[0032] FIG. 6 is a diagram illustrating an example of a hardware configuration of the software quality evaluation device. The computer 900 includes a CPU 901 , a main memory device 902 , an auxiliary memory device 903 , an input / output interface 904 , and a communication interface 905 . The above-described software quality evaluation device 10 is implemented in a computer 900. Each of the above-described functions is stored in the auxiliary storage device 903 in the form of a program. The CPU 901 reads the program from the auxiliary storage device 903, loads it into the main storage device 902, and executes the above-described processing in accordance with the program. The CPU 901 also allocates a storage area in the main storage device 902 in accordance with the program. The CPU 901 also allocates a storage area in the auxiliary storage device 903 for storing data being processed in accordance with the program. The software quality evaluation device 10 may also be configured by multiple computers 900.
[0033] A program for implementing all or part of the functions of the software quality evaluation device 10 may be recorded on a computer-readable recording medium, and the program may be loaded into a computer system and executed to perform processing by each functional unit. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. Furthermore, if a WWW system is used, the term "computer system" also includes a homepage provision environment (or display environment). Furthermore, the term "computer-readable recording medium" refers to portable media such as CDs, DVDs, and USBs, as well as storage devices such as hard disks built into the computer system. Furthermore, if the program is distributed to the computer 900 via a communication line, the computer 900 that receives the program may load the program into the main storage device 902 and execute the above-described processing. Furthermore, the program may be for implementing part of the above-described functions, or may be capable of implementing the above-described functions in combination with a program already stored in the computer system.
[0034] As described above, several embodiments according to the present disclosure have been described, but all of these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope of the invention and its equivalents as defined in the claims, as well as in the scope and spirit of the invention.
[0035] <Additional Notes> The software failure probability calculation model construction method, software failure probability calculation method, software quality evaluation device, and program described in the embodiments can be understood, for example, as follows.
[0036] (1) A software quality evaluation model construction method according to a first aspect includes the steps of: comparing and matching a first evaluation item for evaluating the quality level of the development quality or the verification quality (V&V quality), which are nodes of a first Bayesian network model that calculates a software failure probability based on the quality levels of the software's development quality and verification quality, with a second evaluation item for evaluating the quality level of the development quality or the verification quality, which complies with a second software quality control standard that is different from the first software quality control standard to which the first evaluation item complies; setting, for each of the matched second evaluation items, a conditional probability distribution that indicates the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality; and constructing a second Bayesian network model that calculates the software failure probability based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model. This allows the construction of a software quality evaluation model that calculates the software failure probability based on specific software quality control standards.
[0037] (2) A software quality evaluation model construction method according to a second aspect is the software quality evaluation model construction method described in (1), wherein in the matching step, for each of the first evaluation items, if there is a corresponding second evaluation item, the corresponding second evaluation item is matched, and if there is no corresponding second evaluation item, an alternative second evaluation item is matched or the second evaluation item is not matched, and in the construction step, when reflecting the second evaluation item, the first evaluation item for which the second evaluation item was not matched is deleted. This allows the evaluation items to be adapted to the evaluation items defined in specific software quality control standards.
[0038] (3) A software quality evaluation model construction method according to a third aspect is a software quality evaluation model construction method as described in (2), wherein, when the alternative second evaluation item is associated in the association step, in the setting of the conditional probability distribution, for the alternative second evaluation item, a predetermined value increased from the original value is set for the uncertainty range of the conditional probability distribution indicating the degree of influence of the evaluation item originally set in the first Bayesian network model on the quality level of the development quality or the verification quality. As a result, for newly established evaluation items, by taking into account the uncertainty of the impact of the evaluation item on the quality level of development quality and V&V quality, a neutral conditional probability distribution can be set, making it possible to reflect that uncertainty in the quality level.
[0039] (4) A software quality evaluation model construction method according to a fourth aspect is a software quality evaluation model construction method according to (2) to (3), wherein, when the corresponding second evaluation item is associated in the association step, in the step of setting the conditional probability distribution, a conditional probability distribution indicating the degree of influence of the evaluation item originally set in the first Bayesian network model on the quality level of the development quality or the verification quality is set for the second evaluation item associated with the second evaluation item corresponding to the first evaluation item. This allows us to calculate the quality levels of development quality and V&V quality based on proven conditional probability distributions.
[0040] (5) A software quality evaluation method according to a fifth aspect is a software quality evaluation method for evaluating the quality of software to be evaluated based on the second Bayesian network model constructed by the software quality evaluation model construction method described in (1) to (4), and includes the steps of: accepting a setting of quality information for the second evaluation item for the software to be evaluated; accepting a setting of the software size of the software to be evaluated; calculating a quality level of the development quality based on the quality information set for the second evaluation item related to the development quality; calculating a quality level of the verification quality based on the quality information set for the second evaluation item related to the verification quality; and calculating a software failure probability of the software to be evaluated based on the quality level of the development quality, the quality level of the verification quality, and the software size. This makes it possible to evaluate the quality levels of software development quality and V&V quality based on the evaluation items defined in specific software quality control standards, and then calculate an objective software failure probability according to the quality levels of software development quality and V&V quality.
[0041] (6) A software quality evaluation device according to a sixth aspect includes: a means for comparing and associating a first evaluation item for evaluating the quality level of the development quality or the verification quality with a second evaluation item for evaluating the quality level of the development quality or the verification quality, the first evaluation item being a node of a first Bayesian network model that calculates the probability of failure of the software based on the quality levels of the development quality and the verification quality of the software, the second evaluation item complying with a second software quality control standard that is different from the first software quality control standard that the first evaluation item complies with; a means for setting, for each of the associated second evaluation items, a conditional probability distribution that indicates the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality; and a means for constructing a second Bayesian network model that calculates the probability of failure of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model.
[0042] (7) A program according to a seventh aspect causes a computer to function as: means for comparing and associating a first evaluation item for evaluating the quality level of the development quality or the verification quality with a second evaluation item for evaluating the quality level of the development quality or the verification quality, the second evaluation item conforming to a second software quality control standard different from the first software quality control standard to which the first evaluation item conforms, for the development quality and the verification quality, which are nodes of a first Bayesian network model that calculates the probability of failure of the software based on the quality levels of the software's development quality and verification quality; means for setting, for each of the associated second evaluation items, a conditional probability distribution indicating the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality; and means for constructing a second Bayesian network model that calculates the probability of failure of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model. [Explanation of symbols]
[0043] 10. Software quality evaluation device 11 Input reception section 12. Model Construction Section 13. Failure probability calculation section 14...Storage section 100, 100´···Evaluation model 101, 101´···Development Quality 102, 102´··· Software size 103, 103´...V&V quality 104, 104´···Bug density 105, 105´···Bug detection rate 106, 106´···Number of generated bugs 107, 107´···Number of remaining bugs 108, 108´···Software failure probability 900···Computer 901 CPU 902...Main memory 903...Auxiliary storage device 904 Input / Output Interface 905···Communication Interface
Claims
1. A computer-implemented method for constructing a software quality assessment model, comprising: a step in which the computer compares and associates a first evaluation item for evaluating the quality level of the development quality or the verification quality with a second evaluation item for evaluating the quality level of the development quality or the verification quality, the second evaluation item conforming to a second software quality control standard different from the first software quality control standard conforming to the first evaluation item, for the development quality and the verification quality, which are nodes of a first Bayesian network model that calculates the software failure probability based on the quality levels of the software development quality and the verification quality; a step of setting, by the computer, a conditional probability distribution indicating the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality for each of the associated second evaluation items; constructing a second Bayesian network model that calculates a failure probability of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model; A software quality evaluation model construction method having:
2. In the step of associating, the computer associates the corresponding second evaluation item with each of the first evaluation items when there is a corresponding second evaluation item, and when there is no corresponding second evaluation item, associates an alternative second evaluation item or does not associate the second evaluation item, In the constructing step, the computer deletes the first evaluation items that have not been associated with the second evaluation items when reflecting the second evaluation items. The software quality evaluation model construction method according to claim 1 .
3. When the alternative second evaluation item is associated in the associating step, In the step of setting the conditional probability distribution, the computer sets a predetermined value increased from an original value to a range of uncertainty of a conditional probability distribution indicating the degree of influence of the evaluation item originally set in the first Bayesian network model on the quality level of the development quality or the verification quality for the second evaluation item to be substituted. The software quality evaluation model construction method according to claim 2 .
4. When the corresponding second evaluation item is associated in the associating step, In the step of setting the conditional probability distribution, the computer sets, for the second evaluation item associated with the first evaluation item, a conditional probability distribution indicating the degree of influence of the evaluation item originally set in the first Bayesian network model on the quality level of the development quality or the verification quality.
4. The software quality evaluation model construction method according to claim 2 or 3.
5. 3. A software quality evaluation method executed by a computer, which evaluates quality of evaluation target software based on the second Bayesian network model constructed by the software quality evaluation model construction method according to claim 1 or 2, comprising: a step of receiving, by the computer, a setting of quality information for the second evaluation item for the evaluation target software; a step of receiving, by the computer, a setting of the software size of the software to be evaluated; a step in which the computer calculates a quality level of the development quality based on the quality information set for the second evaluation item related to the development quality, calculates a quality level of the verification quality based on the quality information set for the second evaluation item related to the verification quality, and calculates a software failure probability of the software to be evaluated based on the quality level of the development quality, the quality level of the verification quality, and the software size; A software quality evaluation method having:
6. a means for comparing and associating a first evaluation item for evaluating the quality level of the development quality or the verification quality with a second evaluation item for evaluating the quality level of the development quality or the verification quality, the second evaluation item conforming to a second software quality control standard different from the first software quality control standard conforming to the first evaluation item, for the development quality and the verification quality, which are nodes of a first Bayesian network model that calculates the software failure probability based on the quality levels of the software development quality and the verification quality; a means for setting a conditional probability distribution indicating the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality for each of the associated second evaluation items; a means for constructing a second Bayesian network model that calculates a failure probability of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model; A software quality evaluation device having:
7. Computer, a means for comparing and associating a first evaluation item for evaluating the quality level of the development quality or the verification quality, which are nodes of a first Bayesian network model that calculates the software failure probability based on the quality levels of the software's development quality and verification quality, with a second evaluation item for evaluating the quality level of the development quality or the verification quality, which conforms to a second software quality control standard that is different from the first software quality control standard that the first evaluation item conforms to; a means for setting a conditional probability distribution indicating the degree of influence of the second evaluation item on the quality level of the development quality or the verification quality for each of the associated second evaluation items; a means for constructing a second Bayesian network model that calculates a failure probability of the software based on the second software quality control standard by reflecting the second evaluation item and the conditional probability distribution in the first Bayesian network model; A program to function as a
Citation Information
Patent Citations
Anteikitoritsukedai
JP1976081479A
ML18022A1
Warranty cost estimation based on computing a projected number of failures of products
US20160019567A1
Assistance information generation device, assistance information generation method, and program recording medium
WO2021171388A1