Software reliability prediction method and device, electronic equipment and storage medium
By configuring and inputting software failure data into multiple reliability models, comparing the evaluation results of each model, the problem of difficulty in judging the advantages and disadvantages of the software reliability model in the prior art is solved, and the determination and prediction evaluation of the optimal target software reliability model are achieved.
Patent Information
- Application Number
- CN202411698456.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-02-28
AI Technical Summary
Existing software reliability prediction methods cannot effectively judge the advantages and disadvantages of different software reliability models, making it difficult to determine the optimal target software reliability model.
By responding to the user's configuration operation on the failure data, the software failure data is obtained and inputted to multiple software reliability models respectively, the reliability evaluation results of each model are obtained, and then the results are compared to determine the optimal target software reliability model.
Effective comparison and judgment of the pros and cons of different software reliability models is achieved, ensuring the accuracy of determining the optimal target software reliability model for users to conduct prediction and evaluation.
Smart Images

Figure CN119537239A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computer software development, and in particular to a software reliability prediction method, device, electronic equipment and storage medium. Background Art
[0002] With the widespread application of computers and information processing technology in the financial field, the quality of banking software products has become an issue that cannot be ignored. Software reliability is an important indicator for evaluating the quality of banking software. Software reliability is defined as: the probability that the software will not cause failure within a specified time under specified conditions.
[0003] In the process of implementing the present invention, it is found that there are at least the following technical problems in the prior art: the existing software reliability prediction method has the problem of being unable to judge the relative advantages and disadvantages of different software reliability models. Summary of the invention
[0004] The present invention provides a software reliability prediction method, device, electronic device and storage medium to achieve comparison of different software reliability models and obtain an optimal target software reliability model.
[0005] According to one aspect of the present invention, a software reliability prediction method is provided, comprising:
[0006] In response to a configuration operation of the failure data by a user, obtaining software failure data;
[0007] Inputting the software failure data into a plurality of software reliability models respectively to obtain reliability evaluation results of each software reliability model;
[0008] The reliability evaluation results of the various software reliability models are compared, and a target software reliability model is determined based on the comparison results.
[0009] According to another aspect of the present invention, there is provided a software reliability prediction device, comprising:
[0010] The failure data configuration module is used to obtain software failure data in response to the user's configuration operation on the failure data;
[0011] A multiple software reliability model prediction module is used to input the software failure data into multiple software reliability models respectively to obtain reliability evaluation results of each software reliability model;
[0012] The target software reliability model determination module is used to compare the reliability evaluation results of the various software reliability models and determine the target software reliability model based on the comparison results.
[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0014] at least one processor;
[0015] and a memory communicatively coupled to the at least one processor;
[0016] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the software reliability prediction method described in any embodiment of the present invention.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the software reliability prediction method described in any embodiment of the present invention when executed.
[0018] The technical solution of the embodiment of the present invention obtains software failure data by responding to the configuration operation of the failure data by the user, and then inputs the software failure data into multiple software reliability models respectively to obtain the reliability evaluation results of each software reliability model, and then compares the reliability evaluation results of each software reliability model, and determines the target software reliability model based on the comparison results. The above technical solution realizes the determination of the optimal target software reliability model by comparing the reliability evaluation results of each software reliability model, so that the user can perform prediction and evaluation according to the target software reliability model.
[0019] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0021] Figure 1 is a flowchart of a software reliability prediction method provided according to Embodiment 1 of the present invention;
[0022] Figure 2 is a flowchart of a software reliability prediction method provided according to Embodiment 2 of the present invention;
[0023] Figure 3is a flowchart of a software reliability prediction method provided according to Embodiment 3 of the present invention;
[0024] Figure 4 is a structural diagram of a software reliability prediction device provided according to a fourth embodiment of the present invention;
[0025] Figure 5 It is a structural schematic diagram of an electronic device for implementing the software reliability prediction method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0026] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices. The acquisition, storage, use, processing, etc. of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.
[0028] Embodiment 1
[0029] Figure 1 This is a flowchart of a software reliability prediction method provided in the first embodiment of the present invention. This embodiment is applicable to the situation where multiple software reliability models are judged to be superior or inferior. The method can be executed by a software reliability prediction device. The software reliability prediction device can be implemented in the form of hardware and / or software. The software reliability prediction device can be configured in electronic devices such as terminals. Figure 1 As shown, the method includes:
[0030] S110 . In response to the user's configuration operation on the failure data, obtain software failure data.
[0031] In an embodiment of the present invention, software failure data is data used to describe the phenomenon, location, cause, and repair measures and conditions of software failure. It can be used to verify whether the assumptions of the software reliability model are reasonable, and can also be used to detect whether the test results of the software reliability model are accurate.
[0032] Exemplarily, the user can complete the selection or input operation of the failure data through the interactive interface, thereby obtaining the software failure data.
[0033] S120, inputting the software failure data into a plurality of software reliability models respectively to obtain reliability evaluation results of the respective software reliability models.
[0034] In an embodiment of the present invention, software failure data may be respectively input into two, three or more software reliability models, so as to obtain reliability evaluation results of each software reliability model.
[0035] The reliability evaluation result refers to the reliability metric index calculated and output by the software reliability model based on the software failure data. In some embodiments, the reliability evaluation result may include at least one of the Kolmogrov-Smirnov value, the PrequentialLikelihood value, the model noise, the model deviation and the next failure time.
[0036] Among them, the Kolmogrov-Smirnov value is used to measure the fit of the software reliability model to the failure data. The Prequential Likelihood value is used to measure the cumulative accuracy of the software reliability model. Model noise characterizes the degree to which the software reliability model itself introduces noise to the model prediction. The model deviation is the maximum vertical distance between the complete prediction curve and the actual prediction curve in the u-structure diagram, namely the (Kolmogrov-Smirnov, KS) distance. The next failure time refers to the time interval after the current time when the next failure will occur.
[0037] It should be noted that the above reliability evaluation results can be calculated by using the existing Jelinski-Moranda model, Goel-Okumoto model or Schneidewind model, and the specific calculation details are not described here.
[0038] S130: Compare the reliability evaluation results of the various software reliability models, and determine a target software reliability model based on the comparison results.
[0039] Exemplarily, each software reliability model may be judged by at least one of the Kolmogrov-Smirnov value, the Prequential Likelihood value, the model noise, the model deviation, and the next failure time, so as to select the optimal target software reliability model.
[0040] In some embodiments, the reliability evaluation result includes at least one of a u-structure graph, a y-structure graph, and a PrequentialLikelihood Ratio graph.
[0041] It should be noted that the u-structure diagram, y-structure diagram and Prequential Likelihood Ratio diagram are existing diagrams used to evaluate software reliability models. The u-structure diagram, y-structure diagram and Prequential Likelihood Ratio diagram can be used to judge the various software reliability models, thereby screening out the optimal target software reliability model.
[0042] Optionally, before inputting the software failure data into multiple software reliability models respectively to obtain the reliability evaluation results of each software reliability model, it also includes: in response to the user's setting operation on the model calculation accuracy, obtaining the preset model calculation accuracy; accordingly, inputting the software failure data into multiple software reliability models respectively to obtain the reliability evaluation results of each software reliability model, including: inputting the software failure data into multiple software reliability models respectively, each software reliability model performs prediction based on the preset model calculation accuracy, and obtains the reliability evaluation results of each software reliability model.
[0043] The model calculation accuracy is set by the user. For example, the model calculation accuracy can be set to 0.001 or other values, which are not specifically limited here.
[0044] It should be noted that by setting the model calculation accuracy, the calculation accuracy of the software reliability model is controlled to meet the user's needs for different calculation accuracy.
[0045] The technical solution of the embodiment of the present invention obtains software failure data by responding to the configuration operation of the failure data by the user, and then inputs the software failure data into multiple software reliability models respectively to obtain the reliability evaluation results of each software reliability model, and then compares the reliability evaluation results of each software reliability model, and determines the target software reliability model based on the comparison results. The above technical solution realizes the determination of the optimal target software reliability model by comparing the reliability evaluation results of each software reliability model, so that the user can perform prediction and evaluation according to the target software reliability model.
[0046] Embodiment 2
[0047] Figure 2 A flowchart of a software reliability prediction method provided for Embodiment 2 of the present invention, the method of this embodiment can be combined with the various optional schemes in the software reliability prediction method provided in the above embodiments. The software reliability prediction method provided in this embodiment is further optimized. Optionally, in response to the user's configuration operation on the failure data, software failure data is obtained, including: in response to the user's selection operation on the failure data source type and the selection operation on the failure data source import method, the software failure data is obtained; wherein the failure data source type is a failure time interval type data source or a counting failure type data source; the failure data source import method is manual input, local import or database import.
[0048] like Figure 2 As shown, the method includes:
[0049] S210. In response to the user's selection operation on the type of invalid data source and the selection operation on the invalid data source import method, software invalidation data is obtained; wherein the invalid data source type is an invalidation time interval type data source or a counting invalidation type data source; and the invalidation data source import method is manual input, local import or database import.
[0050] S220: Input the software failure data into a plurality of software reliability models respectively to obtain reliability evaluation results of the respective software reliability models.
[0051] S230: Compare the reliability evaluation results of the various software reliability models, and determine a target software reliability model based on the comparison results.
[0052] Among them, the failure time interval type data source is used to quantify the time interval of failures during the software execution process, which can include the number (Failure-Number) and the failure time (Time-To-Failure). The count failure type data source is used to quantify the number of failures in each time period during the software execution process, which can include the time interval (Time-Interval) and the number of failures (Number-of-Failures).
[0053] It should be noted that when the invalid data source import method is local import, the software invalid data import can be completed from files such as txt, xls or csv.
[0054] In some optional embodiments, the software failure data may also be displayed in the data display area for user viewing and analysis.
[0055] According to the technical solution of the embodiment of the present invention, the user can select different data sources by selecting the type of invalid data source and the method of importing the invalid data source, thereby solving the problem of a single invalid data source of the software.
[0056] Embodiment 3
[0057] Figure 3 A flowchart of a software reliability prediction method provided in Embodiment 3 of the present invention, the method of this embodiment can be combined with the various optional schemes in the software reliability prediction method provided in the above embodiments. The software reliability prediction method provided in this embodiment is further optimized. Optionally, the software reliability model includes a first software reliability model, a second software reliability model, a third software reliability model, a fourth software reliability model and a fifth software reliability model; accordingly, the software failure data is respectively input into a plurality of software reliability models to obtain a reliability evaluation result of each software reliability model, including: inputting the software failure data into the first software reliability model to obtain a reliability evaluation result of the first software reliability model; inputting the software failure data into the second software reliability model to obtain a reliability evaluation result of the second software reliability model; inputting the software failure data into the third software reliability model to obtain a reliability evaluation result of the third software reliability model; inputting the software failure data into A fourth software reliability model is used to obtain a reliability evaluation result of the fourth software reliability model; the software failure data is input into a fifth software reliability model to obtain a reliability evaluation result of the fifth software reliability model; accordingly, the reliability evaluation results of each software reliability model are compared, and a target software reliability model is determined based on the comparison result, including: comparing the reliability evaluation result of the first software reliability model, the reliability evaluation result of the second software reliability model, the reliability evaluation result of the third software reliability model, the reliability evaluation result of the fourth software reliability model and the reliability evaluation result of the fifth software reliability model, and determining a target software reliability model from the five software reliability models based on the comparison result.
[0058] like Figure 3 As shown, the method includes:
[0059] S310 . Obtain software failure data in response to a user's configuration operation on failure data.
[0060] S320: Input the software failure data into a first software reliability model to obtain a reliability evaluation result of the first software reliability model.
[0061] S330: Input the software failure data into a second software reliability model to obtain a reliability evaluation result of the second software reliability model.
[0062] S340: Input the software failure data into a third software reliability model to obtain a reliability evaluation result of the third software reliability model.
[0063] S350: Input the software failure data into a fourth software reliability model to obtain a reliability evaluation result of the fourth software reliability model.
[0064] S360: Input the software failure data into a fifth software reliability model to obtain a reliability evaluation result of the fifth software reliability model.
[0065] S370. Compare the reliability evaluation results of the first software reliability model, the reliability evaluation results of the second software reliability model, the reliability evaluation results of the third software reliability model, the reliability evaluation results of the fourth software reliability model and the reliability evaluation results of the fifth software reliability model, and determine the target software reliability model from the five software reliability models based on the comparison results.
[0066] In an embodiment of the present invention, the first software reliability model, the second software reliability model, the third software reliability model, the fourth software reliability model and the fifth software reliability model may be the same software reliability model or different software reliability models, which is not specifically limited herein.
[0067] Exemplarily, the first software reliability model is the Jelinski-Moranda model, the second software reliability model is the Goel-Okumoto model, the third software reliability model is the Schneidewind model, the fourth software reliability model is the Musa-Okumoto model, and the fifth software reliability model is the Duane model. The reliability evaluation results of the Jelinski-Moranda model, the reliability evaluation results of the Goel-Okumoto model, the reliability evaluation results of the Schneidewind model, the reliability evaluation results of the Musa-Okumoto model, and the reliability evaluation results of the Duane model are then compared, and the optimal target software reliability model is determined from the five software reliability models based on the comparison results.
[0068] The technical solution of the embodiment of the present invention determines the target software reliability model from the five models based on the comparison results of the reliability evaluation results of the five models, thereby realizing the determination of the optimal target software reliability model, so that users can perform more accurate prediction and evaluation based on the target software reliability model.
[0069] Embodiment 4
[0070] Figure 4This is a schematic diagram of the structure of a software reliability prediction device provided by Embodiment 4 of the present invention. Figure 4 As shown, the device comprises:
[0071] The failure data configuration module 410 is used to obtain software failure data in response to the user's configuration operation on the failure data;
[0072] A multiple software reliability model prediction module 420 is used to input the software failure data into multiple software reliability models respectively to obtain reliability evaluation results of each software reliability model;
[0073] The target software reliability model determination module 430 is used to compare the reliability evaluation results of the various software reliability models and determine the target software reliability model based on the comparison results.
[0074] The technical solution of the embodiment of the present invention obtains software failure data by responding to the configuration operation of the failure data by the user, and then inputs the software failure data into multiple software reliability models respectively to obtain the reliability evaluation results of each software reliability model, and then compares the reliability evaluation results of each software reliability model, and determines the target software reliability model based on the comparison results. The above technical solution realizes the determination of the optimal target software reliability model by comparing the reliability evaluation results of each software reliability model, so that the user can perform prediction and evaluation according to the target software reliability model.
[0075] In some optional implementations, the failure data configuration module 410 is specifically configured to:
[0076] In response to a user's selection operation of the type of the failed data source and the selection operation of the failed data source import method, software failure data is obtained;
[0077] The type of the failure data source is a failure time interval type data source or a counting failure type data source; and the failure data source import method is manual input, local import or database import.
[0078] In some optional implementations, the software reliability model includes a first software reliability model, a second software reliability model, a third software reliability model, a fourth software reliability model, and a fifth software reliability model;
[0079] Accordingly, the multi-software reliability model prediction module 420 is specifically used for:
[0080] Inputting the software failure data into a first software reliability model to obtain a reliability evaluation result of the first software reliability model;
[0081] Inputting the software failure data into a second software reliability model to obtain a reliability evaluation result of the second software reliability model;
[0082] Inputting the software failure data into a third software reliability model to obtain a reliability evaluation result of the third software reliability model;
[0083] Inputting the software failure data into a fourth software reliability model to obtain a reliability evaluation result of the fourth software reliability model;
[0084] Inputting the software failure data into a fifth software reliability model to obtain a reliability evaluation result of the fifth software reliability model;
[0085] Accordingly, the target software reliability model determination module 430 is specifically used for:
[0086] The reliability evaluation results of the first software reliability model, the reliability evaluation results of the second software reliability model, the reliability evaluation results of the third software reliability model, the reliability evaluation results of the fourth software reliability model and the reliability evaluation results of the fifth software reliability model are compared, and a target software reliability model is determined from the five software reliability models based on the comparison results.
[0087] In some optional implementations, the first software reliability model is a Jelinski-Moranda model, the second software reliability model is a Goel-Okumoto model, the third software reliability model is a Schneidewind model, the fourth software reliability model is a Musa-Okumoto model, and the fifth software reliability model is a Duane model.
[0088] In some optional implementations, the reliability evaluation result includes at least one of a Kolmogrov-Smirnov value, a Prequential Likelihood value, a model noise, a model deviation, and a next failure time.
[0089] In some optional implementations, the reliability evaluation result includes at least one of a u-structure diagram, a y-structure diagram, and a Prequential Likelihood Ratio diagram.
[0090] In some optional implementations, the software reliability prediction device includes:
[0091] The model calculation accuracy setting module is used to obtain the preset model calculation accuracy in response to the user's setting operation on the model calculation accuracy; correspondingly, the multi-software reliability model prediction module 420 is specifically used to:
[0092] The software failure data are respectively input into a plurality of software reliability models, and each software reliability model performs prediction based on a preset model calculation accuracy to obtain a reliability evaluation result of each software reliability model.
[0093] The software reliability prediction device provided in the embodiment of the present invention can execute the software reliability prediction method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0094] Embodiment 5
[0095] Figure 5 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0096] like Figure 5 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The I / O interface 15 is also connected to the bus 14.
[0097] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0098] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a software reliability prediction method, which includes:
[0099] In response to a configuration operation of the failure data by a user, obtaining software failure data;
[0100] Inputting the software failure data into a plurality of software reliability models respectively to obtain reliability evaluation results of each software reliability model;
[0101] The reliability evaluation results of the various software reliability models are compared, and a target software reliability model is determined based on the comparison results.
[0102] In some embodiments, the software reliability prediction method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the software reliability prediction method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the software reliability prediction method in any other appropriate manner (e.g., by means of firmware).
[0103] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0104] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0105] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0106] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0107] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0108] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0109] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0110] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A software reliability prediction method, characterized in that: include: In response to a configuration operation of the failure data by a user, obtaining software failure data; Inputting the software failure data into a plurality of software reliability models respectively to obtain reliability evaluation results of each software reliability model; The reliability evaluation results of the various software reliability models are compared, and a target software reliability model is determined based on the comparison results.
2. The method according to claim 1, characterized in that: The step of obtaining software failure data in response to a configuration operation of failure data by a user includes: In response to a user's selection operation of the type of the failed data source and the selection operation of the failed data source import method, software failure data is obtained; The type of the failure data source is a failure time interval type data source or a counting failure type data source; and the failure data source import method is manual input, local import or database import.
3. The method according to claim 1, characterized in that The software reliability model includes a first software reliability model, a second software reliability model, a third software reliability model, a fourth software reliability model and a fifth software reliability model; Accordingly, the software failure data is input into a plurality of software reliability models respectively to obtain a reliability evaluation result of each software reliability model, including: Inputting the software failure data into a first software reliability model to obtain a reliability evaluation result of the first software reliability model; Inputting the software failure data into a second software reliability model to obtain a reliability evaluation result of the second software reliability model; Inputting the software failure data into a third software reliability model to obtain a reliability evaluation result of the third software reliability model; Inputting the software failure data into a fourth software reliability model to obtain a reliability evaluation result of the fourth software reliability model; Inputting the software failure data into a fifth software reliability model to obtain a reliability evaluation result of the fifth software reliability model; Accordingly, comparing the reliability evaluation results of the various software reliability models and determining the target software reliability model based on the comparison results includes: The reliability evaluation results of the first software reliability model, the reliability evaluation results of the second software reliability model, the reliability evaluation results of the third software reliability model, the reliability evaluation results of the fourth software reliability model and the reliability evaluation results of the fifth software reliability model are compared, and a target software reliability model is determined from the five software reliability models based on the comparison results.
4. The method according to claim 3, characterized in that The first software reliability model is the Jelinski-Moranda model, the second software reliability model is the Goel-Okumoto model, the third software reliability model is the Schneidewind model, the fourth software reliability model is the Musa-Okumoto model, and the fifth software reliability model is the Duane model.
5. The method according to claim 1, characterized in that The reliability evaluation result includes at least one of a Kolmogrov-Smirnov value, a Prequential Likelihood value, a model noise, a model deviation, and a next failure time.
6. The method according to claim 1, characterized in that The reliability evaluation result includes at least one of a u-structure diagram, a y-structure diagram, and a Prequential Likelihood Ratio diagram.
7. The method according to any one of claims 1 to 6, characterized in that: Before inputting the software failure data into a plurality of software reliability models to obtain reliability evaluation results of the respective software reliability models, the method further includes: In response to a user's setting operation on the model calculation accuracy, a preset model calculation accuracy is obtained; Accordingly, the software failure data is input into a plurality of software reliability models respectively to obtain reliability evaluation results of each software reliability model, including: The software failure data are respectively input into a plurality of software reliability models, and each software reliability model performs prediction based on a preset model calculation accuracy to obtain a reliability evaluation result of each software reliability model.
8. A software reliability prediction device, characterized in that: include: The failure data configuration module is used to obtain software failure data in response to the user's configuration operation on the failure data; A multiple software reliability model prediction module, used to input the software failure data into multiple software reliability models respectively to obtain reliability evaluation results of each software reliability model; The target software reliability model determination module is used to compare the reliability evaluation results of the various software reliability models and determine the target software reliability model based on the comparison results.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively coupled to the at least one processor; The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the software reliability prediction 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 instructions, and the computer instructions are used to enable a processor to implement the software reliability prediction method according to any one of claims 1 to 7 when executed.