KR101828456B1 - 부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법 - Google Patents

부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법 Download PDF

Info

Publication number
KR101828456B1
KR101828456B1 KR1020160101850A KR20160101850A KR101828456B1 KR 101828456 B1 KR101828456 B1 KR 101828456B1 KR 1020160101850 A KR1020160101850 A KR 1020160101850A KR 20160101850 A KR20160101850 A KR 20160101850A KR 101828456 B1 KR101828456 B1 KR 101828456B1
Authority
KR
South Korea
Prior art keywords
fitness
software reliability
point
software
fault data
Prior art date
Application number
KR1020160101850A
Other languages
English (en)
Other versions
KR20170018794A (ko
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/ko
Application granted granted Critical
Publication of KR101828456B1 publication Critical patent/KR101828456B1/ko

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

본 발명은 소프트웨어 신뢰도 평가를 위해 부분 고장 데이터를 이용하여 최적의 소프트웨어 신뢰도 평가모델을 선택하는 시스템 및 방법에 관한 것으로, 사용자 소프트웨어의 전체 고장 데이터 중 일부 고장 데이터를 사용하여 사용자 소프트웨어에 적용 가능한 소프트웨어 신뢰도 성장 모델들의 성능을 비교하고 가장 우수한 성능을 갖는 소프트웨어 신뢰도 성장 모델을 선택함으로써 소프트웨어 신뢰도 성장 모델 선택의 정확도를 향상시킬 수 있다.

Description

부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법{SELECTION SYSTEM AND METHOD OF SOFTWARE RELIABILITY EVALUATION MODEL USING PARTIAL FAILURE DATA}
본 발명은 소프트웨어 신뢰도 평가를 위해 부분 고장 데이터를 이용하여 최적의 소프트웨어 신뢰도 평가모델을 선택하는 시스템 및 방법에 관한 것이다.
소프트웨어의 사용 범위가 사람의 생명과 밀접한 분야까지 확장됨에 따라서 소프트웨어의 품질에 대한 중요성이 높아지고 있다.
소프트웨어의 품질은 기능성(Functionality), 이식성(Portability), 사용성(Usability), 신뢰도(Reliability) 등의 품질 속성을 사용해서 표현한다. 여기서 신뢰도는 소프트웨어에서 발생하는 고장과 관련된 품질 속성으로 특정 환경이나 조건에서 특정 시간 동안 소프트웨어가 고장 없이 동작할 확률로 정의되며 정량적인 값을 갖는다. 또한, 목표 신뢰도와 평가 시점의 신뢰도를 비교하여 목표 신뢰도를 달성하기 위해 발견해야 하는 소프트웨어의 고장의 수와 고장 발견에 필요한 테스트 시간 등 요구되는 자원을 정량적으로 표현할 수 있기 때문에 테스트에 필요한 노력 및 소프트웨어 출시일을 결정하는데도 사용되고 있다.
소프트웨어 신뢰도 모델은 그것이 적용되는 소프트웨어 개발 주기에 따라 분류되며, 테스트 단계 이전에는 신뢰도 예측 모델이 사용되고, 테스트 단계 이후에는 소프트웨어 신뢰도 성장 모델(Software Reliability Growth Model, SRGM)이 사용된다. 소프트웨어 신뢰도 성장 모델을 사용하는데에 있어서 대상 소프트웨어에 적합한 모델을 개발하여 사용할 수 있으나 개발 및 검증이 어렵다는 점에서 대부분 이미 만들어진 모델 중 하나를 선택하여 사용하는 것을 선호한다. 종래 소프트웨어 신뢰도 성장 모델을 선택하는 방법으로는 특정 기준을 사용해서 모델을 분류한 후 기준에 맞는 모델을 식별하는 방법과 실제 고장 데이터를 적용한 결과를 바탕으로 실제 값(수집된 고장 데이터)과 추정 값(신뢰도 모델로 계산된 값)의 적합도(Goodness-of-fit)를 평가해서 가장 적합한 모델을 선택하는 방법이 있다.
종래 소프트웨어 신뢰도 성장 모델 선택 방법에서는 테스트 단계에서 얻은 모든 고장 데이터를 사용하나, 고장 데이터 중에서 시스템 테스트 또는 운영 단계 초기에 발생한 고장은 시스템에 안정화된 이후에 발생하는 고장에 영향을 주지 않을 수 있다는 점에서 데이터 처리량이 불필요하게 많으며 이로 인해 소프트웨어 신뢰도 성장 모델의 선택 정확도 및 신뢰도 평가 정확도가 저하될 수 있다.
본 발명의 하나의 실시예가 해결하려는 과제는 소프트웨어 테스트 단계에서 발생하는 고장 데이터 중 일부 데이터를 사용하여 소프트웨어 신뢰도 성장 모델을 선택하는 시스템 및 방법을 제공하는 것이다.
본 발명의 하나의 실시예가 해결하려는 과제는 소프트웨어 신뢰도 성장 모델의 식별 기준과 고장 데이터를 사용한 적합도 평가 기준을 함께 적용하여 소프트웨어 신뢰도 성장 모델을 선택하는 시스템 및 방법을 제공하는 것이다.
상기 과제 이외에도 구체적으로 언급되지 않은 다른 과제를 달성하는데 본 발명에 따른 실시예가 사용될 수 있다.
상기 과제를 해결하기 위해 본 발명의 하나의 실시예는, 사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 고장데이터 수집부, 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 기준 설정부, 미리 저장되어 있는 복수의 소프트웨어 신뢰도 성장 모델 중에서 설정된 후보 식별 기준에 대응하는 제1 소프트웨어 신뢰도 성장 모델과 제2 소프트웨어 신뢰도 성장 모델을 포함하는 후보군을 생성하는 후보군 생성부, 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 T 포인트 설정부, T 포인트 이후의 고장 데이터에 기초하여 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 파라미터와 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 파라미터를 추정하는 파라미터 추정부, 제1 파라미터와 제2 파라미터에 기초하여 제1 소프트웨어 신뢰도 성장 모델과 제2 소프트웨어 신뢰도 성장 모델 각각을 사용하여 T 포인트 이후의 고장을 예측하고, T 포인트 이후의 실제 고장 데이터, T 포인트 이후의 고장 예측 데이터, 그리고 설정된 적합도 평가 기준에 기초하여 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 적합도와 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 적합도를 산출하는 적합도 평가부, 그리고 제1 적합도와 제2 적합도를 비교하여 제1 소프트웨어 신뢰도 성장 모델 또는 제2 소프트웨어 신뢰도 성장 모델을 사용자 소프트웨어의 신뢰도 평가 모델로 결정하는 평가모델 선택부를 포함하는 소프트웨어 신뢰도 평가모델 선택 시스템을 제안한다.
여기서, T 포인트 설정부는 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하고 T의 단위를 설정하며, 파라미터 추정부는 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제3 파라미터를 추정하며, 적합도 평가부는 제3 파라미터에 기초하여 제1 소프트웨어 신뢰도 성장 모델을 사용하여 S 포인트 이후의 고장을 예측하고, S 포인트 이후의 실제 고장 데이터, S 포인트 이후의 고장 예측 데이터, 그리고 설정된 적합도 평가 기준에 기초하여 제1 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출할 수 있다.
또한, T 포인트 설정부는 T의 적합도가 T-1의 적합도보다 나빠지는 경우 T를 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정할 수 있다.
상기 과제를 해결하기 위해 본 발명의 하나의 실시예는, 고장데이터 수집부를 통해 사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 단계, 기준 설정부를 통해 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 단계, 후보군 생성부를 통해 미리 저장되어 있는 소프트웨어 신뢰도 성장 모델 중에서 설정된 후보 식별 기준에 대응하는 소프트웨어 신뢰도 성장 모델을 추출하여 후보군을 생성하는 단계, T 포인트 설정부를 통해 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 단계, 파라미터 추정부를 통해 T 포인트 이후의 고장 데이터에 기초하여 후보군에 대응하는 파라미터를 추정하는 단계, 적합도 평가부를 통해 추정된 파라미터에 기초하여 후보군을 사용하여 T 포인트 이후의 고장을 예측하고, T 포인트 이후의 실제 고장 데이터와 설정된 적합도 평가 기준에 기초하여 후보군의 적합도를 산출하는 단계, 그리고 평가모델 선택부를 통해 후보군의 적합도 산출 결과에 기초하여 사용자 소프트웨어의 신뢰도 평가 모델을 결정하는 단계를 포함하는 소프트웨어 신뢰도 평가모델 선택 방법을 제안한다.
여기서, T 포인트 설정 단계는, 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하는 단계, 그리고 T의 단위를 설정하는 단계를 포함하며, 파라미터 추정 단계는, 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각의 파라미터를 추정할 수 있다.
또한, 적합도 평가 단계는, 추정된 파라미터에 기초하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각을 사용하여 S 포인트 이후의 고장을 예측하는 단계, 그리고 S 포인트 이후의 실제 고장 데이터, S 포인트 이후의 고장 예측 데이터, 그리고 설정된 적합도 평가 기준에 기초하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출하는 단계를 포함하며, T 포인트 설정 단계는, 산출된 T의 적합도가 T-1의 적합도보다 나빠진 경우 T를 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정할 수 있다.
본 발명의 하나의 실시예에 따르면 소프트웨어 신뢰도 평가에 소요되는 시간을 감소시키고 신뢰도 평가 정확도를 향상시킬 수 있다.
도 1은 본 발명의 하나의 실시예에 따른 소프트웨어 신뢰도 평가모델 선택 시스템의 구성이다.
도 2는 본 발명의 하나의 실시예에 따른 테스트 시간에 따른 고장 개수를 나타내는 그래프이다.
도 3은 본 발명의 하나의 실시예에 따른 적합도 평가 기준 예시이다.
도 4는 본 발명의 하나의 실시예에 따른 고장 데이터 분할 예시이다.
도 5는 도 1의 소프트웨어 신뢰도 평가모델 선택 시스템을 이용한 소프트웨어 신뢰도 평가모델 선택 방법을 나타낸다.
도 6은 본 발명의 하나의 실시예에 따른 T 포인트 추출 방법을 나타낸다.
도 7은 본 발명의 하나의 실시예에 따른 파라미터 추정 방법을 나타낸다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체에서 동일 또는 유사한 구성요소에 대해서는 동일한 도면부호가 사용되었다. 또한, 널리 알려진 공지기술의 경우 그 구체적인 설명은 생략한다.
본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서, '사용자 소프트웨어'는 신뢰도 평가 대상인 소프트웨어를 의미한다.
본 명세서에서, '소프트웨어 신뢰도 성장 모델(Software Reliability Growth Model)'은 소프트웨어 개발 프로세스, 소프트웨어 테스트 프로세스, 개발자, 소프트웨어의 규모, 복잡도 및 난이도 등에 따라 다양한 분포를 가지는 고장 데이터에 대응하여 개발된 것으로, 소프트웨어 테스트 단계에서 남아 있는 고장의 수, 다음 고장 발견까지의 시간, 고장 강도(Failure Intensity), 목표 신뢰도 성취 여부 등을 통해 추가 테스트 유무를 결정하고 테스트가 필요한 경우 추가 테스트에 필요한 자원을 계산하는 데 사용된다.
본 명세서에서, 'T 포인트(T point)'는 전체 고장 데이터에서 유효한 데이터(고장 발생에 영향을 주는 데이터)와 유효하지 않은 데이터(고장 발생에 영향을 주지 않는 데이터)를 구분하는 지점으로 유효한 데이터의 시작 지점을 의미한다. 또한, 'S 포인트(S point)'는 유효한 데이터 중에서 소프트웨어 신뢰도 성장 모델의 고장 예측 능력을 평가하기 위해 사용되는 고장 데이터의 시작 지점을 의미한다.
본 명세서에서, '파라미터'는 소프트웨어 신뢰도 성장 모델 함수의 계수를 의미한다.
도 1은 본 발명의 하나의 실시예에 따른 소프트웨어 신뢰도 평가모델 선택 시스템의 구성이다.
도 1의 소프트웨어 신뢰도 평가모델 선택 시스템은 고장데이터 수집부(100), 기준 설정부(200), 후보군 생성부(300), T 포인트 설정부(400), 파라미터 추정부(500), 적합도 평가부(600), 그리고 평가모델 선택부(700)를 포함한다.
고장데이터 수집부(100)는 사용자 소프트웨어의 테스트 단계에서 고장데이터를 수집한다.
도 2는 본 발명의 하나의 실시예에 따른 테스트 시간에 따른 고장 개수를 나타내는 그래프이다.
도 2에서 보면, 테스트 중기 및 후기 대비 테스트 초기에서 더 많은 고장이 발생하는 것을 확인할 수 있다. 테스트 초기 과정에서의 고장은 시스템 불안정으로 발생하는 것으로 시스템 안정화 이후의 고장 발생에 영향을 주지 않는 고장, 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주지 않는 고장, 그리고 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주는 고장과 같이 세 가지 유형을 포함한다.
다시 도 1의 설명으로 돌아가서, 기준 설정부(200)는 소프트웨어 신뢰도 성장 모델을 선택하는 데에 사용되는 기준을 설정하며, 소프트웨어 신뢰도 성장 모델 식별 기준을 설정하는 제1 기준 설정부(210)와 적합도 평가 기준을 설정하는 제2 기준 설정부(220)를 포함한다.
제1 기준 설정부(210)는 테스트 프로세스, 디버깅 프로세스 및 고장 데이터의 분포 등이 상이한 복수의 소프트웨어 신뢰도 성장 모델 중 사용자 소프트웨어의 신뢰도 평가에 적합한 소프트웨어 신뢰도 성장 모델 후보를 추출하기 위한 기준을 설정한다. 여기서, 기준은 고장 데이터의 분포(오목(Concave) 분포, S형(S-Shaped) 분포), 테스트·디버깅 프로세스, 고장 데이터의 유형 및 소프트웨어 신뢰도 성장 모델을 통해 얻을 수 있는 값의 종류 중 하나이다.
제2 기준 설정부(220)는 적합도 평가 기준을 설정한다. 여기서, 적합도 평가 기준은 T 포인트 설정 및 사용자 소프트웨어의 고장 데이터의 분포에 가장 적합한 소프트웨어 신뢰도 성장 모델을 결정하는 데에 사용된다. T 포인트를 설정하는 데에 사용되는 적합도 평가 기준은 소프트웨어 신뢰도 성장 모델 내에서 T의 변화에 따른 적합도의 변화를 확인하는 데에 사용될 수 있다.
도 3은 본 발명의 하나의 실시예에 따른 적합도 평가 기준 예시이다.
도 3을 참고하면, 소프트웨어 신뢰도 성장 모델 선택을 위해 사용되는 적합도 평가 기준은 소프트웨어 신뢰도 성장 모델 간의 비교에 사용되므로 R-Square와 같이 특정 범위 내의 값으로 확인할 수 있는 기준을 사용할 수 있다.
다시 도 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 모델 등을 포함하는 후보군을 생성할 수 있다.
T 포인트 설정부(400)는 사용자 소프트웨어의 전체 고장 데이터 중에서 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델에 적용할 고장 데이터를 추출하기 위한 T 포인트를 설정한다. 본 발명의 실시예에 따르면 T 포인트 설정부(400)는 시스템 불안정으로 인해 발생한 것으로 시스템 안정화 이후의 고장 발생에 영향을 주지 않는 고장, 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주지 않는 고장, 그리고 시스템 안정화 이후 발생한 것으로 미래에 발생할 고장에 영향을 주는 고장에 대응하는 데이터를 구분하기 위한 T 포인트를 설정한다.
도 4는 본 발명의 하나의 실시예에 따른 고장 데이터 분할 예시이다.
도 4에서 보면, 고장데이터 수집부(100)를 통해 수집된 고장 데이터는 [0~T]인 제1 구간, (T~S]인 제2 구간, 그리고 (S-E]인 제3 구간을 포함한다. 여기서, 제1 구간은 소프트웨어 신뢰도 성장 모델에 적용되지 않는 고장 데이터 구간이며, 제2 구간은 소프트웨어 신뢰도 성장 모델의 파라미터를 추정하는데 사용되는 고장 데이터 구간이고, 제3 구간은 소프트웨어 신뢰도 성장 모델의 예측 능력을 평가하는데 사용되는 고장 데이터 구간이다. 예를 들어, 제3 구간은 전체 고장 데이터의 80% 내지 100% 구간을 포함할 수 있다.
T 포인트 설정 방법은 아래의 도 5와 도 6에서 상세히 설명한다.
다시 도 1의 설명으로 돌아가서, 파라미터 추정부(500)는 도 4의 (T-S] 구간의 고장 데이터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 제1 파라미터를 추정한다. 여기서, (S-E] 구간의 고장 데이터는 수집되지 않은 미래의 고장으로 가정하여 소프트웨어 신뢰도 성장 모델의 파라미터 추정 대상에 사용하지 않으며 과거의 고장 데이터가 미래 고장 예측에 미치는 영향을 확인하는데 사용한다.
파라미터 추정부(500)는 도 4의 (T-E] 구간의 고장 데이터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 제2 파라미터를 추정한다.
적합도 평가부(600)는 파라미터 추정부(500)에서 추정된 제1 파라미터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 사용하여 도 4의 (S-E] 구간의 고장 데이터를 추정하고 (S-E] 구간의 실제 고장 데이터와 제2 기준 설정부(220)에서 설정된 적합도 평가 기준에 기초하여 제1 적합도(GOF)를 평가한다.
적합도 평가부(600)는 파라미터 추정부(500)에서 추정된 제2 파라미터를 이용하여 후보군 생성부(300)에서 생성된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 사용하여 도 4의 (T-E] 구간의 고장 데이터를 추정하고 (T-E] 구간의 실제 고장 데이터와 제2 기준 설정부(220)에서 설정된 적합도 평가 기준에 기초하여 제2 적합도(GOF)를 평가한다.
평가모델 선택부(700)는 소프트웨어 신뢰도 성장 모델 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델들의 제2 적합도(GOF)를 비교하여 사용자 소프트웨어의 신뢰도 평가에 가장 적합한 소프트웨어 신뢰도 성장 모델을 결정한다.
도 5는 도 1의 소프트웨어 신뢰도 평가모델 선택 시스템을 이용한 소프트웨어 신뢰도 평가모델 선택 방법을 나타낸다.
먼저, 고장데이터 수집부(100)를 통해 사용자 소프트웨어의 테스트 과정에서 고장 데이터를 수집한다(S100).
이후, 제1 기준 설정부(210)를 통해 소프트웨어 신뢰도 성장 모델의 식별 기준을 설정하고, 제2 기준 설정부(220)를 통해 소프트웨어 신뢰도 성장 모델 선택을 위한 적합도 평가 기준을 설정한다(S200).
이후, 후보군 생성부(300)를 통해 S200 단계에서 설정된 식별 기준에 기초하여 소프트웨어 신뢰도 성장 모델 후보군을 생성한다(S300).
이후, T 포인트 설정부(400)를 통해 사용자 소프트웨어의 전체 고장 데이터 중에서 소프트웨어 신뢰도 성장 모델에 적용할 고장 데이터를 선별하기 위한 T 포인트를 설정한다(S400). S400 단계의 T 포인트 설정 방법은 아래의 도 6에서 상세히 설명한다.
도 6은 본 발명의 하나의 실시예에 따른 T 포인트 추출 방법을 나타낸다.
먼저, T 포인트 결정을 위해 사용할 단위를 설정한다(S410). S410 단계에서는 T의 단위를 고장 개수 단위 또는 구간 단위로 설정할 수 있다. 또한, 하나의 단위에 한 개의 고장 또는 한 구간을 포함할지 그 이상을 포함할지 설정할 수 있다. 이때, T의 단위가 작을수록 더 정확하게 T 포인트를 설정할 수 있으나 T 포인트 설정에 많은 시간이 소요된다.
이후, 파라미터 추정부(500)를 통해 T가 0인 시점에서부터 (T~S] 구간의 고장 데이터를 이용하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 파라미터를 추정한다(S420). 여기서, S 포인트는 전체 고장 데이터의 약 80% 지점에 설정되어 있는 것으로 가정한다.
도 7은 본 발명의 하나의 실시예에 따른 파라미터 추정 방법을 나타낸다.
도 7은 소프트웨어 신뢰도 성장 모델 중 하나인 Musa-Okumoto logarithm Model의 함수와 이에 대응하는 파라미터 추정을 위한 수식을 나타낸다. S420 단계에서는 도 7의 수식을 통해 파라미터를 추정할 수 있다.
다시 도 6의 설명으로 돌아가서, 적합도 평가부(600)를 통해 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 이용하여 (S~E] 구간의 고장을 예측한다(S430). 이는 T의 변화에 따라 미래 고장 예측의 정확성이 변하는 정도를 확인하기 위해 각 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 단계를 수행한다.
소프트웨어 신뢰도 성장 모델에서 T가 증가할수록 적합도가 좋아지는 것은 고장을 예측하는 데 불필요한 데이터를 제외함으로써 정확성이 높아지기 때문이며, 적합도가 나빠지는 것은 고장 예측에 필요한 데이터가 제외되어 정확성이 낮아지기 때문이다. 즉, 소프트웨어 신뢰도 성장 모델에서는 T가 증가할수록 적합도가 좋아졌다가 나빠지는 변화를 보이는데 S440 단계에서 적합도가 좋아지다가 나빠지는 T 포인트를 검출하여 전체 고장 데이터 중에서 유효한 고장 데이터의 시작 지점인 T'으로 설정한다.
다시 도 5의 설명으로 돌아가서, 파라미터 추정부(500)에서 S400 단계를 통해 설정된 T'에 기초하여 (T'-E] 구간의 고장 데이터를 이용하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 파라미터를 추정한다(S500).
이후, 적합도 평가부(600)를 통해 S500 단계에서 추정된 파라미터를 이용하여 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델을 통해 (T'-E] 구간의 고장 데이터를 추정하고 (T'-E] 구간의 실제 고장 데이터와 S200 단계에서 설정된 적합도 평가 기준에 기초하여 적합도를 산출한다(S600).
이후, 평가모델 선택부(700)를 통해 S600 단계에서 산출된 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 적합도를 비교하여 사용자 소프트웨어의 신뢰도 평가에 가장 적합한 소프트웨어 신뢰도 성장 모델을 결정한다(S700).
본 발명의 실시예에 따르면 고장 데이터를 적용하기 전에 소프트웨어 신뢰도 성장 모델의 식별 기준을 이용하여 사용자 소프트웨어의 신뢰도 평가에 적합한 소프트웨어 신뢰도 성장 모델 후보군을 산출함으로써 적합도 평가에 소요되는 시간을 감소시킬 수 있다. 또한, 전체 고장 데이터 중에서 미래 고장에 영향을 미치는 일부 고장 데이터만을 사용하여 미래 고장을 예측함으로써 신뢰도 평가에 대한 정확도를 향상시킬 수 있다.
본 발명의 실시예에 따르면 전체 고장 데이터를 사용하여 소프트웨어 신뢰도 성장 모델의 파라미터를 추정한 후 추가 테스트를 통해 소프트웨어 신뢰도 성장 모델의 예측 능력 평가에 필요한 고장 데이터를 수집하는 종래 신뢰도 평가 방법 대비 고장 데이터의 이용 효율 및 신뢰도 평가에 대한 정확도를 향상시킬 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.
100 : 고장데이터 수집부
200 : 기준 설정부
300 : 후보군 생성부
400 : T 포인트 설정부
500 : 파라미터 추정부
600 : 적합도 평가부
700 : 평가모델 선택부

Claims (6)

  1. 소프트웨어 신뢰도 평가모델 선택 시스템을 이용하는 소프트웨어 신뢰도 평가모델 선택 방법이 구현된 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체에 있어서,
    사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 기능,
    상기 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 기능,
    미리 저장되어 있는 복수의 소프트웨어 신뢰도 성장 모델 중에서 상기 설정된 후보 식별 기준에 대응하는 제1 소프트웨어 신뢰도 성장 모델과 제2 소프트웨어 신뢰도 성장 모델을 포함하는 후보군을 생성하는 기능,
    상기 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 기능,
    상기 T 포인트 이후의 고장 데이터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 파라미터를 추정하고 상기 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 파라미터를 추정하는 파라미터 추정 기능,
    상기 제1 파라미터와 상기 제2 파라미터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델과 상기 제2 소프트웨어 신뢰도 성장 모델 각각을 이용하여 상기 T 포인트 이후의 고장을 예측하고, 상기 T 포인트 이후의 실제 고장 데이터, 상기 T 포인트 이후의 고장 예측 데이터, 그리고 상기 설정된 적합도 평가 기준에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제1 적합도를 산출하고 상기 제2 소프트웨어 신뢰도 성장 모델에 대응하는 제2 적합도를 산출하는 적합도 산출 기능, 그리고
    상기 제1 적합도와 상기 제2 적합도를 비교하여 상기 제1 소프트웨어 신뢰도 성장 모델 또는 상기 제2 소프트웨어 신뢰도 성장 모델을 상기 사용자 소프트웨어의 신뢰도 평가 모델로 결정하는 기능
    를 포함하는 소프트웨어 신뢰도 평가모델 선택 방법을 구현한 프로그램을 저장하는 컴퓨터로 판독 가능한 기록매체.
  2. 제1항에서,
    상기 T 포인트 설정 기능은 상기 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하고 T의 단위를 설정하며,
    상기 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델에 대응하는 제3 파라미터를 추정하는 기능을 더 포함하고,
    상기 적합도 산출 기능은 상기 제3 파라미터에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델을 사용하여 상기 S 포인트 이후의 고장을 예측하고, 상기 S 포인트 이후의 실제 고장 데이터, 상기 S 포인트 이후의 고장 예측 데이터, 그리고 상기 설정된 적합도 평가 기준에 기초하여 상기 제1 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출하는 소프트웨어 신뢰도 평가모델 선택 방법을 구현한 프로그램을 저장하는 컴퓨터로 판독 가능한 기록매체.
  3. 제2항에서,
    상기 T 포인트 설정 기능은 T의 적합도가 T-1의 적합도보다 나빠지는 경우 상기 T를 상기 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정하는 소프트웨어 신뢰도 평가모델 선택 방법을 구현한 프로그램을 저장하는 컴퓨터로 판독 가능한 기록매체.
  4. 고장데이터 수집부를 통해 사용자 소프트웨어의 테스트 단계에서 고장 데이터를 수집하는 단계,
    기준 설정부를 통해 상기 사용자 소프트웨어에 대응하는 소프트웨어 신뢰도 성장 모델의 후보 식별 기준과 적합도 평가 기준을 설정하는 단계,
    후보군 생성부를 통해 미리 저장되어 있는 소프트웨어 신뢰도 성장 모델 중에서 상기 설정된 후보 식별 기준에 대응하는 소프트웨어 신뢰도 성장 모델을 추출하여 후보군을 생성하는 단계,
    T 포인트 설정부를 통해 상기 수집된 고장 데이터 중에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 T 포인트를 설정하는 단계,
    파라미터 추정부를 통해 상기 T 포인트 이후의 고장 데이터에 기초하여 상기 후보군에 대응하는 파라미터를 추정하는 단계,
    적합도 평가부를 통해 상기 추정된 파라미터에 기초하여 상기 후보군을 사용하여 상기 T 포인트 이후의 고장을 예측하고, 상기 T 포인트 이후의 실제 고장 데이터와 상기 설정된 적합도 평가 기준에 기초하여 상기 후보군의 적합도를 산출하는 단계, 그리고
    평가모델 선택부를 통해 상기 후보군의 적합도 산출 결과에 기초하여 상기 사용자 소프트웨어의 신뢰도 평가 모델을 결정하는 단계
    를 포함하는 소프트웨어 신뢰도 평가모델 선택 방법.
  5. 제4항에서,
    상기 T 포인트 설정 단계는,
    상기 유효 고장 데이터를 미래 고장에 영향을 주는 고장 데이터와 미래 고장 예측 능력을 평가하기 위한 고장 데이터로 분리하는 S 포인트를 설정하는 단계, 그리고 T의 단위를 설정하는 단계를 포함하며,
    상기 파라미터 추정 단계는,
    상기 각 T에 대하여 T가 0인 시점부터 S 포인트 이전의 고장 데이터에 기초하여 상기 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각의 파라미터를 추정하는 소프트웨어 신뢰도 평가모델 선택 방법.
  6. 제5항에서,
    상기 적합도 산출 단계는,
    상기 추정된 파라미터에 기초하여 상기 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델 각각을 사용하여 상기 S 포인트 이후의 고장을 예측하는 단계, 그리고 상기 S 포인트 이후의 실제 고장 데이터, 상기 S 포인트 이후의 고장 예측 데이터, 그리고 상기 설정된 적합도 평가 기준에 기초하여 상기 후보군에 포함되어 있는 소프트웨어 신뢰도 성장 모델의 각 T에 대응하는 적합도를 산출하는 단계를 포함하며,
    상기 T 포인트 설정 단계는,
    상기 산출된 T의 적합도가 T-1의 적합도보다 나빠진 경우 상기 T를 상기 수집된 고장 데이터에서 무효 고장 데이터와 유효 고장 데이터를 분리하는 기준으로 설정하는 소프트웨어 신뢰도 평가모델 선택 방법.


KR1020160101850A 2015-08-10 2016-08-10 부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법 KR101828456B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=58265355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160101850A KR101828456B1 (ko) 2015-08-10 2016-08-10 부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101828456B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102074951B1 (ko) 2019-07-11 2020-02-07 이연수 공기환경개선장치
CN112612719B (zh) * 2020-12-31 2023-09-22 山西大学 一种加权标准化优化选择软件可靠性模型方法
CN117271377B (zh) * 2023-11-23 2024-02-02 中国人民解放军海军工程大学 一种安全关键软件可靠性的两阶段贝叶斯验证方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"고장 데이터의 플롯을 이용한 소프트웨어 신뢰도 성장 모델의 성능 평가", 정보처리학회논문지 D 제10-D권 제5호(2003.08.)

Also Published As

Publication number Publication date
KR20170018794A (ko) 2017-02-20

Similar Documents

Publication Publication Date Title
CN109933452B (zh) 一种面向异常传播的微服务智能监测方法
JP7082461B2 (ja) 故障予知方法、故障予知装置および故障予知プログラム
US7693982B2 (en) Automated diagnosis and forecasting of service level objective states
US20100324869A1 (en) Modeling a computing entity
US7571057B2 (en) System and method for monitoring degradation
JP6183450B2 (ja) システム分析装置、及び、システム分析方法
WO2015041093A1 (ja) 蓄電池性能評価装置およびその方法
KR101828456B1 (ko) 부분 고장 데이터를 이용한 소프트웨어 신뢰도 평가모델 선택 시스템 및 방법
RU2011129339A (ru) Нормализация данных, используемых для контроля авиационного двигателя
KR101223898B1 (ko) 태양광 발전모듈의 고장 진단 및 예지 방법
WO2011155308A1 (ja) 契約違反予測システム、契約違反予測方法および契約違反予測プログラム
US20160321128A1 (en) Operations management system, operations management method and program thereof
WO2020056812A1 (zh) 用于评价室内环境质量的环境参数权重确定方法及系统
Cinque et al. On the impact of debugging on software reliability growth analysis: a case study
WO2015146100A1 (ja) 負荷推定システム、情報処理装置、負荷推定方法、及び、プログラムを記憶する記憶媒体
Jain et al. Software reliability growth model (SRGM) with imperfect debugging, fault reduction factor and multiple change-point
CN115114124A (zh) 主机风险的评估方法及评估装置
Mitra et al. Dealing with the unknown: Resilience to prediction errors
CN115544803B (zh) 一种变压器剩余寿命预测方法、装置、设备及存储介质
Gayathry et al. Classification of software reliability models to improve the reliability of software
CN116401137A (zh) 一种芯粒健康状态预测方法、装置、电子设备及存储介质
KR20200107392A (ko) 비선형 회귀 모형 기반 소프트웨어 고장 시간의 예측 방법 및 컴퓨터 판독 가능 기록 매체
US20150256421A1 (en) Information processing method and information processing apparatus
Dzakowic et al. Advanced Techniques for the verification and validation of prognostics & health management capabilities
JP7469828B2 (ja) 構造物診断システム、構造物診断方法、および構造物診断プログラム

Legal Events

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