KR20170018794A - Selection system and method of software reliability evaluation model using partial failure data - Google Patents

Selection system and method of software reliability evaluation model using partial failure data Download PDF

Info

Publication number
KR20170018794A
KR20170018794A KR1020160101850A KR20160101850A KR20170018794A KR 20170018794 A KR20170018794 A KR 20170018794A KR 1020160101850 A KR1020160101850 A KR 1020160101850A KR 20160101850 A KR20160101850 A KR 20160101850A KR 20170018794 A KR20170018794 A KR 20170018794A
Authority
KR
South Korea
Prior art keywords
fitness
point
software
software reliability
fault data
Prior art date
Application number
KR1020160101850A
Other languages
Korean (ko)
Other versions
KR101828456B1 (en
Inventor
김현수
박용준
Original Assignee
충남대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 충남대학교산학협력단 filed Critical 충남대학교산학협력단
Publication of KR20170018794A publication Critical patent/KR20170018794A/en
Application granted granted Critical
Publication of KR101828456B1 publication Critical patent/KR101828456B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to a selection system and a method of a software reliability evaluation model using partial failure data. The present invention uses partial defect data among the entire defect data of user software to compare the performance of software reliability growth model applicable to the user software and to select the software reliability growth model having the best performance, thereby improving the accuracy of the software reliability growth model selection.

Description

부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법{SELECTION SYSTEM AND METHOD OF SOFTWARE RELIABILITY EVALUATION MODEL USING PARTIAL FAILURE DATA}TECHNICAL FIELD [0001] The present invention relates to a software reliability evaluation model selecting method and a software reliability evaluation model using partial failure data,

본 발명은 소프트웨어 신뢰도 평가를 위해 부분 고장 데이터를 이용하여 최적의 소프트웨어 신뢰도 평가모델을 선택하는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for selecting an optimal software reliability assessment model using partial failure data for software reliability evaluation.

소프트웨어의 사용 범위가 사람의 생명과 밀접한 분야까지 확장됨에 따라서 소프트웨어의 품질에 대한 중요성이 높아지고 있다. As the scope of use of software expands to a field close to human life, the quality of software is becoming more important.

소프트웨어의 품질은 기능성(Functionality), 이식성(Portability), 사용성(Usability), 신뢰도(Reliability) 등의 품질 속성을 사용해서 표현한다. 여기서 신뢰도는 소프트웨어에서 발생하는 고장과 관련된 품질 속성으로 특정 환경이나 조건에서 특정 시간 동안 소프트웨어가 고장 없이 동작할 확률로 정의되며 정량적인 값을 갖는다. 또한, 목표 신뢰도와 평가 시점의 신뢰도를 비교하여 목표 신뢰도를 달성하기 위해 발견해야 하는 소프트웨어의 고장의 수와 고장 발견에 필요한 테스트 시간 등 요구되는 자원을 정량적으로 표현할 수 있기 때문에 테스트에 필요한 노력 및 소프트웨어 출시일을 결정하는데도 사용되고 있다.Software quality is expressed using quality attributes such as functionality, portability, usability, and reliability. Reliability is a quality attribute related to a failure occurring in the software. It is defined as the probability that the software will operate without failure for a certain period of time in a specific environment or condition and has a quantitative value. In addition, since it is possible to quantitatively express required resources such as the number of software failures to be found and the test time required for failure detection in order to achieve the target reliability by comparing the target reliability and the reliability at the evaluation point, It is also used to determine the release date.

소프트웨어 신뢰도 모델은 그것이 적용되는 소프트웨어 개발 주기에 따라 분류되며, 테스트 단계 이전에는 신뢰도 예측 모델이 사용되고, 테스트 단계 이후에는 소프트웨어 신뢰도 성장 모델(Software Reliability Growth Model, SRGM)이 사용된다. 소프트웨어 신뢰도 성장 모델을 사용하는데에 있어서 대상 소프트웨어에 적합한 모델을 개발하여 사용할 수 있으나 개발 및 검증이 어렵다는 점에서 대부분 이미 만들어진 모델 중 하나를 선택하여 사용하는 것을 선호한다. 종래 소프트웨어 신뢰도 성장 모델을 선택하는 방법으로는 특정 기준을 사용해서 모델을 분류한 후 기준에 맞는 모델을 식별하는 방법과 실제 고장 데이터를 적용한 결과를 바탕으로 실제 값(수집된 고장 데이터)과 추정 값(신뢰도 모델로 계산된 값)의 적합도(Goodness-of-fit)를 평가해서 가장 적합한 모델을 선택하는 방법이 있다.The software reliability model is classified according to the software development cycle to which it is applied. Prior to the test stage, a reliability prediction model is used. After the test stage, a Software Reliability Growth Model (SRGM) is used. Although software reliability growth model can be developed and used for the target software, it is preferable to select one of the models that have already been created because it is difficult to develop and verify. As a method for selecting a conventional software reliability growth model, there is a method of classifying a model by using a specific criterion, and then a method of identifying a model that meets the criterion and a method of estimating the actual value (collected fault data) There is a method of selecting the most suitable model by evaluating the goodness-of-fit of the model (the value calculated by the reliability model).

종래 소프트웨어 신뢰도 성장 모델 선택 방법에서는 테스트 단계에서 얻은 모든 고장 데이터를 사용하나, 고장 데이터 중에서 시스템 테스트 또는 운영 단계 초기에 발생한 고장은 시스템에 안정화된 이후에 발생하는 고장에 영향을 주지 않을 수 있다는 점에서 데이터 처리량이 불필요하게 많으며 이로 인해 소프트웨어 신뢰도 성장 모델의 선택 정확도 및 신뢰도 평가 정확도가 저하될 수 있다.In the conventional software reliability growth model selection method, all the fault data obtained from the test phase are used. However, the failure occurring in the system test or operation phase in the fault data may not affect the fault occurring after stabilization in the system Data throughput is unnecessarily high, which can degrade the accuracy of selection and reliability evaluation of the software reliability growth model.

본 발명의 하나의 실시예가 해결하려는 과제는 소프트웨어 테스트 단계에서 발생하는 고장 데이터 중 일부 데이터를 사용하여 소프트웨어 신뢰도 성장 모델을 선택하는 시스템 및 방법을 제공하는 것이다.One problem to be solved by one embodiment of the present invention is to provide a system and method for selecting a software reliability growth model using some data among failure data generated in a software testing step.

본 발명의 하나의 실시예가 해결하려는 과제는 소프트웨어 신뢰도 성장 모델의 식별 기준과 고장 데이터를 사용한 적합도 평가 기준을 함께 적용하여 소프트웨어 신뢰도 성장 모델을 선택하는 시스템 및 방법을 제공하는 것이다.An object of the present invention is to provide a system and method for selecting a software reliability growth model by applying the identification criterion of the software reliability growth model and the compatibility evaluation criterion using the failure data together.

상기 과제 이외에도 구체적으로 언급되지 않은 다른 과제를 달성하는데 본 발명에 따른 실시예가 사용될 수 있다.The embodiments according to the present invention can be used to achieve other tasks not specifically mentioned other than the above-mentioned problems.

상기 과제를 해결하기 위해 본 발명의 하나의 실시예는, 사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 고장데이터 수집부, 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 기준 설정부, 미리 저장되어 있는 복수의 소프트웨어 신뢰도 성장 모델 중에서 설정된 후보 식별 기준에 대응하는 제1 소프트웨어 신뢰도 성장 모델과 제2 소프트웨어 신뢰도 성장 모델을 포함하는 후보군을 생성하는 후보군 생성부, 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 T 포인트 설정부, T 포인트 이후의 고장 데이터에 기초하여 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 파라미터와 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 파라미터를 추정하는 파라미터 추정부, 제1 파라미터와 제2 파라미터에 기초하여 제1 소프트웨어 신뢰도 성장 모델과 제2 소프트웨어 신뢰도 성장 모델 각각을 사용하여 T 포인트 이후의 고장을 예측하고, T 포인트 이후의 실제 고장 데이터, T 포인트 이후의 고장 예측 데이터, 그리고 설정된 적합도 평가 기준에 기초하여 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 적합도와 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 적합도를 산출하는 적합도 평가부, 그리고 제1 적합도와 제2 적합도를 비교하여 제1 소프트웨어 신뢰도 성장 모델 또는 제2 소프트웨어 신뢰도 성장 모델을 사용자 소프트웨어의 신뢰도 평가 모델로 결정하는 평가모델 선택부를 포함하는 소프트웨어 신뢰도 평가모델 선택 시스템을 제안한다.According to an embodiment of the present invention, there is provided a fault diagnosis system comprising: a fault data collection unit for collecting fault data in a test step of user software; a candidate identification criterion and a fitness evaluation criterion of a software reliability growth model corresponding to user software; A candidate group generation unit for generating a candidate group including a first software reliability growth model and a second software reliability growth model corresponding to a candidate identification standard set in advance among a plurality of software reliability growth models stored in advance, A T-point setting unit for setting a T-point for separating the invalid fault data and the valid fault data from the data, a first parameter corresponding to the first software reliability growth model and a second software reliability growth model Corresponding to Predicts a failure after the T point by using each of the first software reliability growth model and the second software reliability growth model based on the first parameter and the second parameter, A fitness evaluation unit for calculating a first fitness corresponding to the first software reliability growth model and a second fitness corresponding to the second software reliability growth model based on the failure data, the failure prediction data after the T point, And an evaluation model selecting unit for determining the first software reliability growth model or the second software reliability growth model as the reliability evaluation model of the user software by comparing the first fitness and the second fitness, and proposes a software reliability evaluation model selection system .

여기서, T 포인트 설정부는 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하고 T의 단위를 설정하며, 파라미터 추정부는 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제3 파라미터를 추정하며, 적합도 평가부는 제3 파라미터에 기초하여 제1 소프트웨어 신뢰도 성장 모델을 사용하여 S 포인트 이후의 고장을 예측하고, S 포인트 이후의 실제 고장 데이터, S 포인트 이후의 고장 예측 데이터, 그리고 설정된 적합도 평가 기준에 기초하여 제1 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출할 수 있다.Here, the T point setting unit sets an S point for separating the valid fault data into the fault data for influencing the future fault and the fault data for evaluating the future fault prediction capability, sets the unit of T, and the parameter estimator sets each T Estimates a third parameter corresponding to the first software reliability growth model based on the failure data before the point S from the time T = 0, and the fitness evaluator uses the first software reliability growth model based on the third parameter It is possible to calculate the fitness corresponding to each T of the first software reliability growth model based on the actual failure data after the S point, the failure prediction data after the S point, and the fitness evaluation reference have.

또한, T 포인트 설정부는 T의 적합도가 T-1의 적합도보다 나빠지는 경우 T를 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정할 수 있다.The T point setting unit may set T as a criterion for separating the invalid fault data and the valid fault data from the collected fault data when the fitness of T is worse than the fitness of T-1.

상기 과제를 해결하기 위해 본 발명의 하나의 실시예는, 고장데이터 수집부를 통해 사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 단계, 기준 설정부를 통해 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 단계, 후보군 생성부를 통해 미리 저장되어 있는 소프트웨어 신뢰도 성장 모델 중에서 설정된 후보 식별 기준에 대응하는 소프트웨어 신뢰도 성장 모델을 추출하여 후보군을 생성하는 단계, T 포인트 설정부를 통해 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 단계, 파라미터 추정부를 통해 T 포인트 이후의 고장 데이터에 기초하여 후보군에 대응하는 파라미터를 추정하는 단계, 적합도 평가부를 통해 추정된 파라미터에 기초하여 후보군을 사용하여 T 포인트 이후의 고장을 예측하고, T 포인트 이후의 실제 고장 데이터와 설정된 적합도 평가 기준에 기초하여 후보군의 적합도를 산출하는 단계, 그리고 평가모델 선택부를 통해 후보군의 적합도 산출 결과에 기초하여 사용자 소프트웨어의 신뢰도 평가 모델을 결정하는 단계를 포함하는 소프트웨어 신뢰도 평가모델 선택 방법을 제안한다.According to an embodiment of the present invention, there is provided a method for managing a software reliability growth model, the method including collecting failure data in a test step of user software through a failure data collection unit, A step of generating a candidate group by extracting a software reliability growth model corresponding to a candidate identification criterion set in a software reliability growth model stored in advance through a candidate group generation unit through a candidate group generation unit, Estimating a parameter corresponding to a candidate group based on fault data after the T point through the parameter estimating unit, estimating a parameter estimated by the fitness evaluating unit, Calculating a fitness of the candidate group based on the actual failure data after the T point and the set fitness evaluation criterion by predicting the failure after the T point using the candidate group on the basis of the meter and calculating the fitness of the candidate group through the evaluation model selection unit And determining a reliability evaluation model of the user software based on the result.

여기서, T 포인트 설정 단계는, 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하는 단계, 그리고 T의 단위를 설정하는 단계를 포함하며, 파라미터 추정 단계는, 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각의 파라미터를 추정할 수 있다.Here, the T-point setting step includes the steps of setting an S point for separating the valid fault data into fault data for influencing the future fault and fault data for evaluating the future fault predicting ability, and setting the unit of T And the parameter estimating step may estimate the parameters of each of the software reliability growth models included in the candidate group based on the fault data before the S point from the time T is 0 for each T. [

또한, 적합도 평가 단계는, 추정된 파라미터에 기초하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각을 사용하여 S 포인트 이후의 고장을 예측하는 단계, 그리고 S 포인트 이후의 실제 고장 데이터, S 포인트 이후의 고장 예측 데이터, 그리고 설정된 적합도 평가 기준에 기초하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출하는 단계를 포함하며, T 포인트 설정 단계는, 산출된 T의 적합도가 T-1의 적합도보다 나빠진 경우 T를 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정할 수 있다.The fitness evaluation step may include a step of estimating a failure after the S point by using each of the software reliability growth models included in the candidate group based on the estimated parameter, Calculating a fitness corresponding to each T of the software reliability growth model included in the candidate group based on the prediction data and the fitness evaluation criterion, wherein the T point setting step includes: T " can be set as a criterion for separating the invalid fault data and the valid fault data from the collected fault data.

본 발명의 하나의 실시예에 따르면 소프트웨어 신뢰도 평가에 소요되는 시간을 감소시키고 신뢰도 평가 정확도를 향상시킬 수 있다.According to one embodiment of the present invention, it is possible to reduce the time required to evaluate the software reliability and improve the reliability evaluation accuracy.

도 1은 본 발명의 하나의 실시예에 따른 소프트웨어 신뢰도 평가모델 선택 시스템의 구성이다.
도 2는 본 발명의 하나의 실시예에 따른 테스트 시간에 따른 고장 개수를 나타내는 그래프이다.
도 3은 본 발명의 하나의 실시예에 따른 적합도 평가 기준 예시이다.
도 4는 본 발명의 하나의 실시예에 따른 고장 데이터 분할 예시이다.
도 5는 도 1의 소프트웨어 신뢰도 평가모델 선택 시스템을 이용한 소프트웨어 신뢰도 평가모델 선택 방법을 나타낸다.
도 6은 본 발명의 하나의 실시예에 따른 T 포인트 추출 방법을 나타낸다.
도 7은 본 발명의 하나의 실시예에 따른 파라미터 추정 방법을 나타낸다.
1 is a configuration of a software reliability evaluation model selection system according to an embodiment of the present invention.
2 is a graph showing the number of failures according to the test time according to one embodiment of the present invention.
Figure 3 is an example of a fitness measure according to one embodiment of the present invention.
4 is an example of a failure data partition according to one embodiment of the present invention.
5 shows a method of selecting a software reliability evaluation model using the software reliability evaluation model selection system of FIG.
6 shows a T point extraction method according to an embodiment of the present invention.
7 shows a parameter estimation method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체에서 동일 또는 유사한 구성요소에 대해서는 동일한 도면부호가 사용되었다. 또한, 널리 알려진 공지기술의 경우 그 구체적인 설명은 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art to which the present invention pertains. The present invention may be embodied in many different forms and is not limited to the embodiments described herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and the same reference numerals are used for the same or similar components throughout the specification. In the case of publicly known technologies, detailed description thereof will be omitted.

본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In this specification, when a part is referred to as "including " an element, it is to be understood that it may include other elements as well, without departing from the other elements unless specifically stated otherwise. Also, the terms "part," " module, "and the like, which are described in the specification, refer to a unit for processing at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software.

본 명세서에서, '사용자 소프트웨어'는 신뢰도 평가 대상인 소프트웨어를 의미한다.In this specification, 'user software' refers to software that is subject to reliability evaluation.

본 명세서에서, '소프트웨어 신뢰도 성장 모델(Software Reliability Growth Model)'은 소프트웨어 개발 프로세스, 소프트웨어 테스트 프로세스, 개발자, 소프트웨어의 규모, 복잡도 및 난이도 등에 따라 다양한 분포를 가지는 고장 데이터에 대응하여 개발된 것으로, 소프트웨어 테스트 단계에서 남아 있는 고장의 수, 다음 고장 발견까지의 시간, 고장 강도(Failure Intensity), 목표 신뢰도 성취 여부 등을 통해 추가 테스트 유무를 결정하고 테스트가 필요한 경우 추가 테스트에 필요한 자원을 계산하는 데 사용된다.In the present specification, the 'Software Reliability Growth Model' is developed in response to failure data having various distributions according to the scale of the software development process, the software testing process, the developer, the software, and the degree of difficulty. The number of remaining faults in the test phase, the time to next failure detection, the Failure Intensity, and whether the target reliability has been achieved are used to determine whether additional testing is required and to calculate the resources needed for further testing if testing is required. do.

본 명세서에서, 'T 포인트(T point)'는 전체 고장 데이터에서 유효한 데이터(고장 발생에 영향을 주는 데이터)와 유효하지 않은 데이터(고장 발생에 영향을 주지 않는 데이터)를 구분하는 지점으로 유효한 데이터의 시작 지점을 의미한다. 또한, 'S 포인트(S point)'는 유효한 데이터 중에서 소프트웨어 신뢰도 성장 모델의 고장 예측 능력을 평가하기 위해 사용되는 고장 데이터의 시작 지점을 의미한다.In this specification, "T point" is a point at which valid data (data affecting the occurrence of a fault) and invalid data (data that does not affect the occurrence of a fault) are distinguished from all the fault data, Quot ;, respectively. Also, 'S point' means the starting point of the fault data used to evaluate the fault prediction ability of the software reliability growth model among the valid data.

본 명세서에서, '파라미터'는 소프트웨어 신뢰도 성장 모델 함수의 계수를 의미한다.In this specification, 'parameter' means the coefficient of the software reliability growth model function.

도 1은 본 발명의 하나의 실시예에 따른 소프트웨어 신뢰도 평가모델 선택 시스템의 구성이다.1 is a configuration of a software reliability evaluation model selection system according to an embodiment of the present invention.

도 1의 소프트웨어 신뢰도 평가모델 선택 시스템은 고장데이터 수집부(100), 기준 설정부(200), 후보군 생성부(300), T 포인트 설정부(400), 파라미터 추정부(500), 적합도 평가부(600), 그리고 평가모델 선택부(700)를 포함한다.The software reliability evaluation model selection system of FIG. 1 includes a failure data collection unit 100, a reference setting unit 200, a candidate group generating unit 300, a T point setting unit 400, a parameter estimating unit 500, (600), and an evaluation model selection unit (700).

고장데이터 수집부(100)는 사용자 소프트웨어의 테스트 단계에서 고장데이터를 수집한다.The fault data collecting unit 100 collects fault data in a test step of the user software.

도 2는 본 발명의 하나의 실시예에 따른 테스트 시간에 따른 고장 개수를 나타내는 그래프이다.2 is a graph showing the number of failures according to the test time according to one embodiment of the present invention.

도 2에서 보면, 테스트 중기 및 후기 대비 테스트 초기에서 더 많은 고장이 발생하는 것을 확인할 수 있다. 테스트 초기 과정에서의 고장은 시스템 불안정으로 발생하는 것으로 시스템 안정화 이후의 고장 발생에 영향을 주지 않는 고장, 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주지 않는 고장, 그리고 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주는 고장과 같이 세 가지 유형을 포함한다.In FIG. 2, it can be seen that more failures occur in the early stage of the test versus the late test. Failure in the initial stage of the test is caused by system instability, which is a failure that does not affect the failure after system stabilization, a failure that does not affect the failure in the future that occurs after system stabilization, And faults that affect the failure that will occur.

다시 도 1의 설명으로 돌아가서, 기준 설정부(200)는 소프트웨어 신뢰도 성장 모델을 선택하는 데에 사용되는 기준을 설정하며, 소프트웨어 신뢰도 성장 모델 식별 기준을 설정하는 제1 기준 설정부(210)와 적합도 평가 기준을 설정하는 제2 기준 설정부(220)를 포함한다.Referring again to FIG. 1, the reference setting unit 200 sets a criterion used for selecting a software reliability growth model, and includes a first reference setting unit 210 for setting a software reliability growth model identification standard, And a second reference setting unit 220 for setting an evaluation reference.

제1 기준 설정부(210)는 테스트 프로세스, 디버깅 프로세스 및 고장 데이터의 분포 등이 상이한 복수의 소프트웨어 신뢰도 성장 모델 중 사용자 소프트웨어의 신뢰도 평가에 적합한 소프트웨어 신뢰도 성장 모델 후보를 추출하기 위한 기준을 설정한다. 여기서, 기준은 고장 데이터의 분포(오목(Concave) 분포, S형(S-Shaped) 분포), 테스트·디버깅 프로세스, 고장 데이터의 유형 및 소프트웨어 신뢰도 성장 모델을 통해 얻을 수 있는 값의 종류 중 하나이다.The first reference setting unit 210 establishes a criterion for extracting a software reliability growth model candidate suitable for reliability evaluation of the user software among a plurality of software reliability growth models having different test processes, a debugging process, and distribution of failure data. Here, the criterion is one of the types of values that can be obtained through the distribution of the failure data (Concave distribution, S-Shaped distribution), the test / debugging process, the type of failure data, and the software reliability growth model.

제2 기준 설정부(220)는 적합도 평가 기준을 설정한다. 여기서, 적합도 평가 기준은 T 포인트 설정 및 사용자 소프트웨어의 고장 데이터의 분포에 가장 적합한 소프트웨어 신뢰도 성장 모델을 결정하는 데에 사용된다. T 포인트를 설정하는 데에 사용되는 적합도 평가 기준은 소프트웨어 신뢰도 성장 모델 내에서 T의 변화에 따른 적합도의 변화를 확인하는 데에 사용될 수 있다.The second criterion setting unit 220 sets a criterion of fitness evaluation. Here, the fitness evaluation criterion is used to determine a software reliability growth model best suited to T point setting and distribution of failure data of the user software. The fitness criterion used to set the T-point can be used to identify changes in fitness according to changes in T in the software reliability growth model.

도 3은 본 발명의 하나의 실시예에 따른 적합도 평가 기준 예시이다.Figure 3 is an example of a fitness measure according to one embodiment of the present invention.

도 3을 참고하면, 소프트웨어 신뢰도 성장 모델 선택을 위해 사용되는 적합도 평가 기준은 소프트웨어 신뢰도 성장 모델 간의 비교에 사용되므로 R-Square와 같이 특정 범위 내의 값으로 확인할 수 있는 기준을 사용할 수 있다.Referring to FIG. 3, since the fitness evaluation criteria used for selecting the software reliability growth model is used for comparison between the software reliability growth models, a criterion that can be confirmed as a value within a specific range such as R-Square can be used.

다시 도 1의 설명으로 돌아가서, 후보군 생성부(300)는 제1 기준 설정부(210)를 통해 설정된 식별 기준에 기초하여 미리 저장되어 있는 복수의 소프트웨어 신뢰도 성장 모델(이미 개발되어 있는 소프트웨어 신뢰도 성장 모델) 중에서 사용자 소프트웨어의 신뢰도 평가에 적용 가능한 소프트웨어 신뢰도 성장 모델을 추출하여 후보군을 생성한다. 본 발명의 실시예에 따른 후보군 생성부(300)는 식별 기준이 고장 데이터 분포이며, 사용자 소프트웨어의 누적 고장 데이터의 분포가 오목 분포인 경우 소프트웨어 신뢰도 성장 모델로 NHPP(Non-Homogeneous Poisson Process) 모델, Musa/Okumoto Logarithmic 모델, Jelinski/Moranda 모델 등을 포함하는 후보군을 생성할 수 있다. 사용자 소프트웨어의 누적 고장 데이터의 분포가 S형 분포인 경우 Gompertz 모델, Yamada Delayed S-shaped 모델, Yamada S-shaped 모델 등을 포함하는 후보군을 생성할 수 있다. 또한, 식별 기준이 고장 값의 종류이며, 사용자 소프트웨어에 대한 고장 값의 종류가 고장 사이의 평균 시간(Mean Time To Failure, MTTF)인 경우 NHPP 모델, Musa/Okumoto Logarithmic 모델, Jelinski/Moranda 모델 등을 포함하는 후보군을 생성할 수 있다. 고장 값의 종류가 구간 내 고장의 수(Failure Count)인 경우 Schneidewind 모델, Yamada S-shaped 모델, Schick/Wolverton 모델 등을 포함하는 후보군을 생성할 수 있다.Referring back to FIG. 1, the candidate group generating unit 300 generates a plurality of software reliability growth models (previously developed software reliability growth models) that are stored in advance based on the identification criteria set through the first reference setting unit 210 ), And generates a candidate group by extracting a software reliability growth model applicable to the reliability evaluation of the user software. The candidate group generating unit 300 according to the embodiment of the present invention may be a non-homogeneous Poisson Process (NHPP) model as a software reliability growth model when an identification criterion is a failure data distribution and a cumulative failure data distribution of user software is a concave distribution, Musa / Okumoto Logarithmic models, Jelinski / Moranda models, and so on. If the cumulative distribution of cumulative failure data of user software is S-type distribution, it is possible to generate candidates including Gompertz model, Yamada Delayed S-shaped model, and Yamada S-shaped model. If the identification criterion is the type of failure value and the type of failure value for the user software is Mean Time To Failure (MTTF), the NHPP model, the Musa / Okumoto Logarithmic model, and the Jelinski / Moranda model It is possible to generate a candidate group that includes. If the type of the fault value is the number of faults in the section (Failure Count), a candidate group including a Schneidewind model, a Yamada S-shaped model, and a Schick / Wolverton model can be generated.

T 포인트 설정부(400)는 사용자 소프트웨어의 전체 고장 데이터 중에서 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델에 적용할 고장 데이터를 추출하기 위한 T 포인트를 설정한다. 본 발명의 실시예에 따르면 T 포인트 설정부(400)는 시스템 불안정으로 인해 발생한 것으로 시스템 안정화 이후의 고장 발생에 영향을 주지 않는 고장, 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주지 않는 고장, 그리고 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주는 고장에 대응하는 데이터를 구분하기 위한 T 포인트를 설정한다. The T-point setting unit 400 sets a T-point for extracting fault data to be applied to the software reliability growth model included in the candidate group generated in the candidate group generating unit 300, from among the entire fault data of the user software. According to the embodiment of the present invention, the T-point setting unit 400 is a system that occurs due to the system instability, that is, a failure that does not affect the failure after the system stabilization, a failure that does not affect the failure that occurs in the future, And T points for distinguishing data corresponding to faults that occur after the system stabilization and that affect future faults.

도 4는 본 발명의 하나의 실시예에 따른 고장 데이터 분할 예시이다.4 is an example of a failure data partition according to one embodiment of the present invention.

도 4에서 보면, 고장데이터 수집부(100)를 통해 수집된 고장 데이터는 [0~T]인 제1 구간, (T~S]인 제2 구간, 그리고 (S-E]인 제3 구간을 포함한다. 여기서, 제1 구간은 소프트웨어 신뢰도 성장 모델에 적용되지 않는 고장 데이터 구간이며, 제2 구간은 소프트웨어 신뢰도 성장 모델의 파라미터를 추정하는데 사용되는 고장 데이터 구간이고, 제3 구간은 소프트웨어 신뢰도 성장 모델의 예측 능력을 평가하는데 사용되는 고장 데이터 구간이다. 예를 들어, 제3 구간은 전체 고장 데이터의 80% 내지 100% 구간을 포함할 수 있다.4, the fault data collected through the fault data collecting unit 100 includes a first section of [0 to T], a second section of (T to S), and a third section of (SE) Where the first interval is a failure data interval that is not applied to the software reliability growth model, the second interval is a failure data interval used for estimating the parameters of the software reliability growth model, the third interval is the prediction of the software reliability growth model For example, the third section may include 80% to 100% of the total fault data.

T 포인트 설정 방법은 아래의 도 5와 도 6에서 상세히 설명한다.The T point setting method will be described in detail in FIGS. 5 and 6 below.

다시 도 1의 설명으로 돌아가서, 파라미터 추정부(500)는 도 4의 (T-S] 구간의 고장 데이터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 제1 파라미터를 추정한다. 여기서, (S-E] 구간의 고장 데이터는 수집되지 않은 미래의 고장으로 가정하여 소프트웨어 신뢰도 성장 모델의 파라미터 추정 대상에 사용하지 않으며 과거의 고장 데이터가 미래 고장 예측에 미치는 영향을 확인하는데 사용한다.Referring back to FIG. 1, the parameter estimating unit 500 uses the failure data of the section (TS) of FIG. 4 to calculate the first parameter of the software reliability growth model included in the candidate group generated by the candidate group generating unit 300 The failure data of the (SE) interval is assumed to be a future failure that is not collected and is not used for the parameter estimation object of the software reliability growth model, and it is used to check the influence of the past fault data on the prediction of future failure do.

파라미터 추정부(500)는 도 4의 (T-E] 구간의 고장 데이터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 제2 파라미터를 추정한다. The parameter estimator 500 estimates the second parameter of the software reliability growth model included in the candidate group generated by the candidate group generator 300 using the failure data of the section (T-E) of FIG.

적합도 평가부(600)는 파라미터 추정부(500)에서 추정된 제1 파라미터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 사용하여 도 4의 (S-E] 구간의 고장 데이터를 추정하고 (S-E] 구간의 실제 고장 데이터와 제2 기준 설정부(220)에서 설정된 적합도 평가 기준에 기초하여 제1 적합도(GOF)를 평가한다.The fitness evaluation unit 600 uses the first parameter estimated by the parameter estimation unit 500 to calculate a fitness value using the software reliability growth model included in the candidate group generated in the candidate group generation unit 300, And evaluates the first goodness of fit (GOF) based on the actual failure data in the interval (SE) and the fitness evaluation reference set in the second reference setting unit 220. [

적합도 평가부(600)는 파라미터 추정부(500)에서 추정된 제2 파라미터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 사용하여 도 4의 (T-E] 구간의 고장 데이터를 추정하고 (T-E] 구간의 실제 고장 데이터와 제2 기준 설정부(220)에서 설정된 적합도 평가 기준에 기초하여 제2 적합도(GOF)를 평가한다.The fitness evaluation unit 600 uses the software reliability growth model included in the candidate group generated in the candidate group generation unit 300 by using the second parameter estimated by the parameter estimation unit 500, And evaluates the second fitness (GOF) based on the actual failure data in the (TE) interval and the fitness evaluation reference set in the second reference setting unit 220. [

평가모델 선택부(700)는 소프트웨어 신뢰도 성장 모델 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델들의 제2 적합도(GOF)를 비교하여 사용자 소프트웨어의 신뢰도 평가에 가장 적합한 소프트웨어 신뢰도 성장 모델을 결정한다.The evaluation model selection unit 700 compares the second fitness (GOF) of the software reliability growth models included in the software reliability growth model candidate group to determine the software reliability growth model most suitable for the reliability evaluation of the user software.

도 5는 도 1의 소프트웨어 신뢰도 평가모델 선택 시스템을 이용한 소프트웨어 신뢰도 평가모델 선택 방법을 나타낸다.5 shows a method of selecting a software reliability evaluation model using the software reliability evaluation model selection system of FIG.

먼저, 고장데이터 수집부(100)를 통해 사용자 소프트웨어의 테스트 과정에서 고장 데이터를 수집한다(S100).First, fault data is collected in a test process of the user software through the fault data collecting unit 100 (S100).

이후, 제1 기준 설정부(210)를 통해 소프트웨어 신뢰도 성장 모델의 식별 기준을 설정하고, 제2 기준 설정부(220)를 통해 소프트웨어 신뢰도 성장 모델 선택을 위한 적합도 평가 기준을 설정한다(S200). Thereafter, an identification criterion for the software reliability growth model is set through the first criterion setting unit 210, and a criterion for evaluating the reliability of the software reliability growth model is set through the second criterion setting unit 220 (S200).

이후, 후보군 생성부(300)를 통해 S200 단계에서 설정된 식별 기준에 기초하여 소프트웨어 신뢰도 성장 모델 후보군을 생성한다(S300).Thereafter, the software reliability growth model candidate group is generated through the candidate group generation unit 300 based on the identification criteria set in the step S200 (S300).

이후, T 포인트 설정부(400)를 통해 사용자 소프트웨어의 전체 고장 데이터 중에서 소프트웨어 신뢰도 성장 모델에 적용할 고장 데이터를 선별하기 위한 T 포인트를 설정한다(S400). S400 단계의 T 포인트 설정 방법은 아래의 도 6에서 상세히 설명한다.In step S400, a T point for selecting fault data to be applied to the software reliability growth model is set from the entire fault data of the user software through the T point setting unit 400. [ The T point setting method in step S400 will be described in detail below with reference to FIG.

도 6은 본 발명의 하나의 실시예에 따른 T 포인트 추출 방법을 나타낸다.6 shows a T point extraction method according to an embodiment of the present invention.

먼저, T 포인트 결정을 위해 사용할 단위를 설정한다(S410). S410 단계에서는 T의 단위를 고장 개수 단위 또는 구간 단위로 설정할 수 있다. 또한, 하나의 단위에 한 개의 고장 또는 한 구간을 포함할지 그 이상을 포함할지 설정할 수 있다. 이때, T의 단위가 작을수록 더 정확하게 T 포인트를 설정할 수 있으나 T 포인트 설정에 많은 시간이 소요된다.First, a unit to be used for T point determination is set (S410). In step S410, the unit of T may be set in units of the number of faults or units of intervals. It is also possible to set whether a unit contains one fault or one section or more. At this time, the smaller the unit of T, the more accurate the T point can be set, but it takes much time to set the T point.

이후, 파라미터 추정부(500)를 통해 T가 0인 시점에서부터 (T~S] 구간의 고장 데이터를 이용하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 파라미터를 추정한다(S420). 여기서, S 포인트는 전체 고장 데이터의 약 80% 지점에 설정되어 있는 것으로 가정한다.Thereafter, parameters of the software reliability growth model included in the candidate group are estimated (S420) by using the fault data of the interval from T to 0 through T through the parameter estimator 500. Here, Is set at about 80% of the total fault data.

도 7은 본 발명의 하나의 실시예에 따른 파라미터 추정 방법을 나타낸다.7 shows a parameter estimation method according to an embodiment of the present invention.

도 7은 소프트웨어 신뢰도 성장 모델 중 하나인 Musa-Okumoto logarithm Model의 함수와 이에 대응하는 파라미터 추정을 위한 수식을 나타낸다. S420 단계에서는 도 7의 수식을 통해 파라미터를 추정할 수 있다.FIG. 7 shows a function of the Musa-Okumoto logarithm model, which is one of the software reliability growth models, and a formula for the corresponding parameter estimation. In step S420, the parameter can be estimated through the equation of FIG.

다시 도 6의 설명으로 돌아가서, 적합도 평가부(600)를 통해 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 이용하여 (S~E] 구간의 고장을 예측한다(S430). 이는 T의 변화에 따라 미래 고장 예측의 정확성이 변하는 정도를 확인하기 위해 각 T에 대해서 미래 고장을 예측하는 것이다.Returning to the description of FIG. 6, the failure of the section (S to E) is predicted (S430) by using the software reliability growth model included in the candidate group through the fitness evaluating unit 600. According to the change of T, To predict the extent to which the accuracy of fault prediction varies, we predict future failures for each T.

이후, (S-E] 구간의 실제 고장 데이터와 S430 단계의 예측 고장 데이터 및 S200 단계에서 설정된 적합도 평가 기준에 기초하여 적합도를 산출하고(S440), T 포인트를 T'으로 설정한다(S450). S450 단계에서는 T의 적합도가 T-1의 적합도보다 커지는 경우(T의 적합도가 T-1보다 나빠지는 경우) T 포인트를 전체 고장 데이터 중에서 유효한 고장 데이터의 시작 지점인 T'으로 설정한다. 만약, T의 적합도가 T-1의 적합도보다 작은 경우 T를 증가시켜(S460) S420 내지 S440 단계를 수행한다.In step S450, the fitness is calculated based on the actual failure data of the section (SE), the predictive failure data in step S430, and the fitness evaluation reference set in step S200, and the T point is set to T ' , The T-point is set to T ', which is the starting point of valid fault data in the entire fault data when the fitness of T is larger than the fitness of T-1 (when the fitness of T is worse than T-1) If the fitness is smaller than the fitness of T-1, T is increased (S460) and steps S420 to S440 are performed.

소프트웨어 신뢰도 성장 모델에서 T가 증가할수록 적합도가 좋아지는 것은 고장을 예측하는 데 불필요한 데이터를 제외함으로써 정확성이 높아지기 때문이며, 적합도가 나빠지는 것은 고장 예측에 필요한 데이터가 제외되어 정확성이 낮아지기 때문이다. 즉, 소프트웨어 신뢰도 성장 모델에서는 T가 증가할수록 적합도가 좋아졌다가 나빠지는 변화를 보이는데 S440 단계에서 적합도가 좋아지다가 나빠지는 T 포인트를 검출하여 전체 고장 데이터 중에서 유효한 고장 데이터의 시작 지점인 T'으로 설정한다.As T increases in the software reliability growth model, goodness of fit is improved because accuracy is improved by excluding unnecessary data for predicting the failure. The worse fitness is because the accuracy is lowered because the data necessary for predicting the failure is excluded. That is, in the software reliability growth model, the fitness increases and the fitness deteriorates as T increases. In step S440, the T point at which the fitness improves and then deteriorates is detected and set to T ', which is the starting point of valid fault data among the entire fault data do.

다시 도 5의 설명으로 돌아가서, 파라미터 추정부(500)에서 S400 단계를 통해 설정된 T'에 기초하여 (T'-E] 구간의 고장 데이터를 이용하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 파라미터를 추정한다(S500).Referring back to FIG. 5, the parameter estimator 500 calculates the parameters of the software reliability growth model included in the candidate group using the failure data of the section (T'-E) based on the T 'set through the step S400 (S500).

이후, 적합도 평가부(600)를 통해 S500 단계에서 추정된 파라미터를 이용하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 통해 (T'-E] 구간의 고장 데이터를 추정하고 (T'-E] 구간의 실제 고장 데이터와 S200 단계에서 설정된 적합도 평가 기준에 기초하여 적합도를 산출한다(S600).Thereafter, failure data of a section (T'-E) is estimated through a software reliability growth model included in the candidate group using the parameters estimated in the step S500 through the fitness evaluating unit 600, (S600) based on the actual failure data at step S200 and the fitness evaluation reference set at step S200.

이후, 평가모델 선택부(700)를 통해 S600 단계에서 산출된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 적합도를 비교하여 사용자 소프트웨어의 신뢰도 평가에 가장 적합한 소프트웨어 신뢰도 성장 모델을 결정한다(S700).In step S700, the software reliability growth model that is most suitable for the reliability evaluation of the user software is determined by comparing the fitness of the software reliability growth model included in the candidate group calculated in step S600 through the evaluation model selection unit 700. [

본 발명의 실시예에 따르면 고장 데이터를 적용하기 전에 소프트웨어 신뢰도 성장 모델의 식별 기준을 이용하여 사용자 소프트웨어의 신뢰도 평가에 적합한 소프트웨어 신뢰도 성장 모델 후보군을 산출함으로써 적합도 평가에 소요되는 시간을 감소시킬 수 있다. 또한, 전체 고장 데이터 중에서 미래 고장에 영향을 미치는 일부 고장 데이터만을 사용하여 미래 고장을 예측함으로써 신뢰도 평가에 대한 정확도를 향상시킬 수 있다.According to the embodiment of the present invention, the time required for the fitness evaluation can be reduced by calculating the candidate group of the software reliability growth model suitable for the reliability evaluation of the user software using the identification criterion of the software reliability growth model before applying the failure data. In addition, accuracy of reliability evaluation can be improved by predicting a future failure using only some of the failure data that affects a future failure among all the failure data.

본 발명의 실시예에 따르면 전체 고장 데이터를 사용하여 소프트웨어 신뢰도 성장 모델의 파라미터를 추정한 후 추가 테스트를 통해 소프트웨어 신뢰도 성장 모델의 예측 능력 평가에 필요한 고장 데이터를 수집하는 종래 신뢰도 평가 방법 대비 고장 데이터의 이용 효율 및 신뢰도 평가에 대한 정확도를 향상시킬 수 있다.According to the embodiment of the present invention, the parameters of the software reliability growth model are estimated using the entire failure data, and then the reliability evaluation method for collecting the failure data necessary for the prediction capability evaluation of the software reliability growth model through the additional test, The accuracy of utilization efficiency and reliability evaluation can be improved.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.While the present invention has been particularly shown and described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It belongs to the scope.

100 : 고장데이터 수집부
200 : 기준 설정부
300 : 후보군 생성부
400 : T 포인트 설정부
500 : 파라미터 추정부
600 : 적합도 평가부
700 : 평가모델 선택부
100: Fault data collecting unit
200: Reference setting unit
300: candidate group generating unit
400: T point setting unit
500: parameter estimating unit
600: fitness evaluation unit
700: evaluation model selection unit

Claims (6)

사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 고장데이터 수집부,
상기 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 기준 설정부,
미리 저장되어 있는 복수의 소프트웨어 신뢰도 성장 모델 중에서 상기 설정된 후보 식별 기준에 대응하는 제1 소프트웨어 신뢰도 성장 모델과 제2 소프트웨어 신뢰도 성장 모델을 포함하는 후보군을 생성하는 후보군 생성부,
상기 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 T 포인트 설정부,
상기 T 포인트 이후의 고장 데이터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 파라미터와 상기 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 파라미터를 추정하는 파라미터 추정부,
상기 제1 파라미터와 상기 제2 파라미터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델과 상기 제2 소프트웨어 신뢰도 성장 모델 각각을 이용하여 상기 T 포인트 이후의 고장을 예측하고, 상기 T 포인트 이후의 실제 고장 데이터, 상기 T 포인트 이후의 고장 예측 데이터, 그리고 상기 설정된 적합도 평가 기준에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 적합도와 상기 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 적합도를 산출하는 적합도 평가부, 그리고
상기 제1 적합도와 상기 제2 적합도를 비교하여 상기 제1 소프트웨어 신뢰도 성장 모델 또는 상기 제2 소프트웨어 신뢰도 성장 모델을 상기 사용자 소프트웨어의 신뢰도 평가 모델로 결정하는 평가모델 선택부
를 포함하는 소프트웨어 신뢰도 평가모델 선택 시스템.
A fault data collecting unit for collecting fault data in a test step of the user software,
A reference setting unit for setting a candidate identification criterion and a fitness evaluation criterion of a software reliability growth model corresponding to the user software,
A candidate group generation unit for generating a candidate group including a first software reliability growth model and a second software reliability growth model corresponding to the set candidate identification criterion among a plurality of software reliability growth models stored in advance,
A T-point setting unit for setting a T-point for separating invalid fault data and valid fault data from the collected fault data,
A parameter estimator for estimating a first parameter corresponding to the first software reliability growth model and a second parameter corresponding to the second software reliability growth model based on the failure data after the T point,
Predicts a failure after the T point by using each of the first software reliability growth model and the second software reliability growth model based on the first parameter and the second parameter, A fitness evaluation unit that calculates a first fitness corresponding to the first software reliability growth model and a second fitness corresponding to the second software reliability growth model based on the failure prediction data after the T point and the set fitness evaluation criterion Wealth, and
An evaluation model selection unit for comparing the first fitness and the second fitness and determining the first software reliability growth model or the second software reliability growth model as the reliability evaluation model of the user software,
And a software reliability evaluation model selection system.
제1항에서,
상기 T 포인트 설정부는 상기 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하고 T의 단위를 설정하며,
상기 파라미터 추정부는 상기 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제3 파라미터를 추정하며,
상기 적합도 평가부는 상기 제3 파라미터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델을 사용하여 상기 S 포인트 이후의 고장을 예측하고, 상기 S 포인트 이후의 실제 고장 데이터, 상기 S 포인트 이후의 고장 예측 데이터, 그리고 상기 설정된 적합도 평가 기준에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출하는 소프트웨어 신뢰도 평가모델 선택 시스템.
The method of claim 1,
The T point setting unit sets an S point to divide the valid fault data into fault data for influencing a future fault and fault data for evaluating a future fault predicting ability and sets a unit of T,
Wherein the parameter estimator estimates a third parameter corresponding to the first software reliability growth model based on the fault data before the point S from the time T is 0 for each T,
Wherein the fitness evaluator predicts the failure after the S point by using the first software reliability growth model based on the third parameter, and calculates the actual failure data after the S point, the failure prediction data after the S point, And calculates a fitness corresponding to each T of the first software reliability growth model on the basis of the set fitness evaluation criterion.
제2항에서,
상기 T 포인트 설정부는 T의 적합도가 T-1의 적합도보다 나빠지는 경우 상기 T를 상기 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정하는 소프트웨어 신뢰도 평가모델 선택 시스템.
3. The method of claim 2,
And the T point setting unit sets the T as a criterion for separating the invalid fault data and the valid fault data from the collected fault data when the fitness of T is worse than the fitness of T-1.
고장데이터 수집부를 통해 사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 단계,
기준 설정부를 통해 상기 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 단계,
후보군 생성부를 통해 미리 저장되어 있는 소프트웨어 신뢰도 성장 모델 중에서 상기 설정된 후보 식별 기준에 대응하는 소프트웨어 신뢰도 성장 모델을 추출하여 후보군을 생성하는 단계,
T 포인트 설정부를 통해 상기 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 단계,
파라미터 추정부를 통해 상기 T 포인트 이후의 고장 데이터에 기초하여 상기 후보군에 대응하는 파라미터를 추정하는 단계,
적합도 평가부를 통해 상기 추정된 파라미터에 기초하여 상기 후보군을 사용하여 상기 T 포인트 이후의 고장을 예측하고, 상기 T 포인트 이후의 실제 고장 데이터와 상기 설정된 적합도 평가 기준에 기초하여 상기 후보군의 적합도를 산출하는 단계, 그리고
평가모델 선택부를 통해 상기 후보군의 적합도 산출 결과에 기초하여 상기 사용자 소프트웨어의 신뢰도 평가 모델을 결정하는 단계
를 포함하는 소프트웨어 신뢰도 평가모델 선택 방법.
Collecting fault data in a test phase of the user software through a fault data collector,
Setting a candidate identification criterion and a fitness evaluation criterion of a software reliability growth model corresponding to the user software through a criterion setting section;
Generating a candidate group by extracting a software reliability growth model corresponding to the set candidate identification criterion from a software reliability growth model stored in advance through a candidate group generation unit,
Setting a T point for separating the invalid fault data and the valid fault data from the collected fault data through the T point setting unit;
Estimating a parameter corresponding to the candidate group based on the fault data after the T point via the parameter estimating unit;
Estimating a failure after the T point using the candidate group based on the estimated parameter through the fitness evaluating unit and calculating a fitness of the candidate group based on the actual failure data after the T point and the set fitness evaluation criterion Step, and
Determining a reliability evaluation model of the user software based on the fitness calculation result of the candidate group through the evaluation model selection unit
And selecting a software reliability evaluation model.
제4항에서,
상기 T 포인트 설정 단계는,
상기 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하는 단계, 그리고 상기 T의 단위를 설정하는 단계를 포함하며,
상기 파라미터 추정 단계는,
상기 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 상기 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각의 파라미터를 추정하는 소프트웨어 신뢰도 평가모델 선택 방법.
5. The method of claim 4,
Wherein the T point setting step comprises:
Setting an S point to divide the valid fault data into fault data affecting a future fault and fault data for evaluating a future fault predicting capability, and setting a unit of the T,
Wherein the parameter estimating step comprises:
Estimating a parameter of each of the software reliability growth models included in the candidate group based on the fault data before the point S from the time T is 0 for each of the Ts.
제5항에서,
상기 적합도 평가 단계는,
상기 추정된 파라미터에 기초하여 상기 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각을 사용하여 상기 S 포인트 이후의 고장을 예측하는 단계, 그리고 상기 S 포인트 이후의 실제 고장 데이터, 상기 S 포인트 이후의 고장 예측 데이터, 그리고 상기 설정된 적합도 평가 기준에 기초하여 상기 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출하는 단계를 포함하며,
상기 T 포인트 설정 단계는,
상기 산출된 T의 적합도가 T-1의 적합도보다 나빠진 경우 상기 T를 상기 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정하는 소프트웨어 신뢰도 평가모델 선택 방법.
The method of claim 5,
In the fitness evaluation step,
Estimating a failure after the S point by using each of the software reliability growth models included in the candidate group based on the estimated parameter, and comparing the actual failure data after the S point, the failure prediction data after the S point And calculating a fitness corresponding to each T of the software reliability growth model included in the candidate group based on the fitness evaluation criterion set,
Wherein the T point setting step comprises:
And sets the T as a criterion for separating invalid fault data and valid fault data from the collected fault data when the calculated fitness of T is worse than the fitness of T-1.
KR1020160101850A 2015-08-10 2016-08-10 Selection system and method of software reliability evaluation model using partial failure data KR101828456B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20150112748 2015-08-10
KR1020150112748 2015-08-10

Publications (2)

Publication Number Publication Date
KR20170018794A true KR20170018794A (en) 2017-02-20
KR101828456B1 KR101828456B1 (en) 2018-02-13

Family

ID=58265355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160101850A KR101828456B1 (en) 2015-08-10 2016-08-10 Selection system and method of software reliability evaluation model using partial failure data

Country Status (1)

Country Link
KR (1) KR101828456B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102074951B1 (en) 2019-07-11 2020-02-07 이연수 Air environment improvement device
CN112612719A (en) * 2020-12-31 2021-04-06 山西大学 Method for optimizing and selecting software reliability model through weighting standardization
CN117271377A (en) * 2023-11-23 2023-12-22 中国人民解放军海军工程大学 Two-stage Bayesian verification method and system for reliability of safety key software

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102074951B1 (en) 2019-07-11 2020-02-07 이연수 Air environment improvement device
CN112612719A (en) * 2020-12-31 2021-04-06 山西大学 Method for optimizing and selecting software reliability model through weighting standardization
CN112612719B (en) * 2020-12-31 2023-09-22 山西大学 Weighted standardized optimization selection software reliability model method
CN117271377A (en) * 2023-11-23 2023-12-22 中国人民解放军海军工程大学 Two-stage Bayesian verification method and system for reliability of safety key software
CN117271377B (en) * 2023-11-23 2024-02-02 中国人民解放军海军工程大学 Two-stage Bayesian verification method and system for reliability of safety key software

Also Published As

Publication number Publication date
KR101828456B1 (en) 2018-02-13

Similar Documents

Publication Publication Date Title
CN109933452B (en) Micro-service intelligent monitoring method facing abnormal propagation
Coble et al. Identifying optimal prognostic parameters from data: a genetic algorithms approach
US9280436B2 (en) Modeling a computing entity
JP7082461B2 (en) Failure prediction method, failure prediction device and failure prediction program
US7693982B2 (en) Automated diagnosis and forecasting of service level objective states
Wang et al. An imperfect software debugging model considering log-logistic distribution fault content function
JPH10510385A (en) Method and system for software quality architecture based analysis
US20150025872A1 (en) System, method, and apparatus for modeling project reliability
JP5768983B2 (en) Contract violation prediction system, contract violation prediction method, and contract violation prediction program
JP2015059924A (en) Storage battery performance evaluation device and storage battery performance evaluation method
RU2011129339A (en) NORMALIZATION OF DATA USED FOR CONTROL OF THE AIRCRAFT ENGINE
KR101828456B1 (en) Selection system and method of software reliability evaluation model using partial failure data
US10430268B2 (en) Operations management system, operations management method and program thereof
KR101223898B1 (en) Method for predicting and diagnosing error of the solar module
Li et al. Characterizing the differences between pre-and post-release versions of software
WO2020056812A1 (en) Environmental parameter weight determining method and system for evaluating indoor environmental quality
Cinque et al. On the impact of debugging on software reliability growth analysis: a case study
Jain et al. Software reliability growth model (SRGM) with imperfect debugging, fault reduction factor and multiple change-point
KR102172120B1 (en) A method of predicting software failure time based on nonlinear regression model and a computer readable medium thereof
CN115544803B (en) Transformer residual life prediction method, device, equipment and storage medium
CN116401137A (en) Core particle health state prediction method and device, electronic equipment and storage medium
Dzakowic et al. Advanced Techniques for the verification and validation of prognostics & health management capabilities
JP7469828B2 (en) Structure diagnosis system, structure diagnosis method, and structure diagnosis program
Chamoli et al. Analysing software metrics for accurate dynamic defect prediction models
Gayathri et al. Classification of software reliability models to improve the reliability of software

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
GRNT Written decision to grant