KR102282382B1 - 소프트웨어의 신뢰성 시험 시스템 및 시험 방법 - Google Patents

소프트웨어의 신뢰성 시험 시스템 및 시험 방법 Download PDF

Info

Publication number
KR102282382B1
KR102282382B1 KR1020190116632A KR20190116632A KR102282382B1 KR 102282382 B1 KR102282382 B1 KR 102282382B1 KR 1020190116632 A KR1020190116632 A KR 1020190116632A KR 20190116632 A KR20190116632 A KR 20190116632A KR 102282382 B1 KR102282382 B1 KR 102282382B1
Authority
KR
South Korea
Prior art keywords
function
software
functions
risk level
risk
Prior art date
Application number
KR1020190116632A
Other languages
English (en)
Other versions
KR20210035363A (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 국방기술품질원
Priority to KR1020190116632A priority Critical patent/KR102282382B1/ko
Publication of KR20210035363A publication Critical patent/KR20210035363A/ko
Application granted granted Critical
Publication of KR102282382B1 publication Critical patent/KR102282382B1/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/3668Software testing
    • 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/3668Software testing
    • G06F11/3696Methods or tools to render software testable

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

본 발명은 하나 이상의 함수를 포함하는 신규 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장된 제1 데이터 베이스부; 하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장된 제2 데이터 베이스부; 신규 소프트웨어인 경우, 제1 기준값에 기초하여 신규 소프트웨어의 위험 등급을 산출하고, 재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련된 산출부를 포함하며, 재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함하며, 산출부는 함수 별로 위험 등급을 각각 산출하도록 마련되고, 산출부는 수정 함수인 경우 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련된, 소프트웨어의 신뢰성 시험 시스템을 제공하고자 한다.

Description

소프트웨어의 신뢰성 시험 시스템 및 시험 방법{SOFTWARE RELIABILITY TEST SYSTEM AND METHOD}
본 발명은 위험도 기반의 신규 및 재사용 소프트웨어의 신뢰성 시험 시스템 에 관한 것이다.
산업과 기술이 발전함에 따라 무기체계에서 소프트웨어가 차지하는 비중이 점차 증가하고, 기능과 역할이 많아지면서 소프트웨어는 날로 복잡해지고 있다.
무기체계에서 소프트웨어의 결함(인간이 프로그램 또는 문서를 작성하면서 발생하는 오류 또는 에러, 실수)은 많은 인명과 재산상의 피해를 가져올 수 있기 때문에 소프트웨어의 비중이 증가하는 만큼 소프트웨어 신뢰성 시험에 대한 인식과 중요성이 높아지고 있는 실정이다.
특히, 개발과 시험평가 단계에서의 소프트웨어 신뢰성과 검증에 대한 중요성이 높아지고 있다.
소프트웨어 신뢰성 시험은 소프트웨어 코드가 일으킬 수 있는 결함을 사전에 식별하여 제거 하기 위한 시험으로 무기체계 내장형 소프트웨어의 신뢰성 시험은 정적(Static)시험과 동적(Dynamic)시험으로 구분되어 수행되고 있다.
소프트웨어 정적시험은 소프트웨어를 실행하지 않은 상태에서 잠재적인 결함을 검출하는 시험으로 코딩규칙 검증, 취약점 점검, 소스코드 메트릭 점검을 수행한다.
또한, 소프트웨어 동적시험은 소프트웨어 요구사항 및 구조를 기반으로 소프트웨어를 실행하면서 기능의 정상 작동 여부를 확인하는 시험이다.
무기체계 소프트웨어는 개발단계에서 독립적인 조직에 의해 소프트웨어 신뢰성 시험이 충분히 수행되지 않아 잠재적인 결함을 포함한 채 야전 배치 및 운용되고 있는 실정이다.
소프트웨어 소스코드 분석을 통해 잠재된 품질결함을 식별 및 제거하여 장비의 신뢰도 제고를 위한 소프트웨어 신뢰성 시험 필요성이 대두되고 있다.
무기체계는 체계개발 및 시험평가를 통해 주요 기능 및 성능은 검증하나, 소스코드 분석을 통한 소프트웨어 품질검증 활동은 미흡한 실정이다. 따라서, 국방 무기체계 소프트웨어 개발에 있어 정적 및 동적 시험은 검증이 필요하다.
무기체계 소프트웨어 연구개발 단계 즉, 소프트웨어 구현 단계, 개발시험평가(DT) 단계, 규격화 단계에서는 전담부서에서 소프트웨어 신뢰성 시험이 수행되고 있다.
그러나, 양산 단계에서는 아직까지 소프트웨어 신뢰성 시험 수행이 미흡한 실정이다. 특히, 무기체계 성능이 개량된 장비에서 재사용되는 소프트웨어에 대해서는 소프트웨어 신뢰성 시험 절차와 방법이 확립되지 않은 실정이다.
일반적으로 성능개량 소프트웨어는 기존의 기능과 성능이 입증된 소프트웨어를 모듈이나 함수 단위로 재사용하고, 이에 추가 요구사항에 대한 기능을 신규 개발하게 된다.
성능 개량 소프트웨어를 신규 개발 소프트웨어로 고려하여 신뢰성 시험을 수행할 경우 시간과 비용이 중복하여 들어가게 되는 문제점이 있다.
따라서, 성능 개량 소프트웨어의 경우, 재사용 소프트웨어, 개조 소프트웨어 및 신규 소프트웨어를 구분하여 기능과 중요성 등을 종합적으로 고려하여 신뢰성 시험 대상과 범위를 선정하여 시험을 수행할 필요가 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해, 성능 개량 무기 체계를 위한 위험도 기반 재사용 소프트웨어의 신뢰성 시험 시스템을 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따르면, 하나 이상의 함수를 포함하는 신규 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장된 제1 데이터 베이스부; 하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장된 제2 데이터 베이스부; 신규 소프트웨어인 경우, 제1 기준값에 기초하여 신규 소프트웨어의 위험 등급을 산출하고, 재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련된 산출부를 포함하며, 재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함하며, 산출부는 함수 별로 위험 등급을 각각 산출하도록 마련되고, 산출부는 수정 함수인 경우 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련된, 소프트웨어의 신뢰성 시험 시스템.소프트웨어의 신뢰성 시험 시스템을 제공한다.
본 발명의 다른 측면에 따르면, 하나 이상의 함수를 포함하는 신규 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장되고, 하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장된 데이터 베이스부; 재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련된 산출부를 포함하며, 재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함하며, 산출부는 함수 별로 위험 등급을 각각 산출하도록 마련되고, 산출부는 수정 함수인 경우, 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련된, 소프트웨어의 신뢰성 시험 시스템을 제공한다.
본 발명의 또 다른 측면에 따르면, 전술한 소프트웨어의 신뢰성 시험 시스템을 이용하여, 신규 소프트웨어 및 재사용 소프트웨어의 위험 등급을 산출하는 단계를 포함하는, 소프트웨어의 신뢰성 시험 방법을 제공한다.
본 발명에 따르면, 성능개량 무기체계 소프트웨어의 신뢰성 시험을 수행하기 위해서 신규 소프트웨어와 재사용 소프트웨어의 서로 다른 기준값이 적용된 기술적 위험도를 정량화 하고, 체계 영향도 및 기술적 위험도에 따라서 신뢰성 시험 평가의 범위와 대상을 선정함으로써 보다 용이하게 신뢰성 시험을 수행할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어의 신뢰성 시험 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 제1 데이터 베이스부를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 제2 데이터베이스 부를 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 함수의 사용빈도에 대한 제1 기준값(제2 기준값)을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 함수의 결함 제어 가능성에 대한 제1 기준값(제2 기준값)을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 산출부를 설명하기 위해 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 결정부를 설명하기 위해 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 결정부를 통해 나타난 시험 수행 범위 및 시험 대상 수량을 설명하기 위해 나타낸 표이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명하도록 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
또한, 도면 부호에 관계없이 동일하거나 대응되는 구성요소는 동일 또는 유사한 참조번호를 부여하고 이에 대한 중복 설명은 생략하기로 하며, 설명의 편의를 위하여 도시된 각 구성 부재의 크기 및 형상은 과장되거나 축소될 수 있다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
본 발명은 위험도 기반의 신규 및 재사용 소프트웨어의 신뢰성 시험 시스템 및 시험 방법에 관한 것이다.
먼저, 소프트웨어의 신뢰성 시험이란, 소프트웨어가 일으킬 수 있는 잠재적인 결함을 사전에 식별하기 위한 시험을 말하며, 정적 시험과 동적 시험으로 구분된다.
본 발명은, 동적시험이 필요한 소프트웨어 내의 함수의 개수와 시험수행 종류 및 범위를 선정하도록 마련된 신뢰성 시험 시스템 및 시험 방법을 제공한다.
여기서, 소프트웨어 동적(Dynamic) 시험이란, 소프트웨어를 실제 하드웨어에 탑재한 상태에서 소프트웨어 코드 실행률(Coverage)을 점검하는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 신뢰성 시험 시스템(10)의 구성도이다.
도 1을 참조하면, 본 발명의 신뢰성 시험 시스템(10)은, 제1 데이터 베이스부(200), 제2 데이터 베이스부(300), 산출부(400) 및 결정부(500)를 포함한다.
구체적으로, 제1 데이터 베이스부(200)에는, 적어도 하나 이상의 함수를 포함하는 신규 소프트웨어(110)의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장될 수 있다.
여기서, 상기 신규 소프트웨어(110)란, 새로운 기능이나 요구사항을 추가 하기 위해 신규로 구현된 함수를 포함하는 소프트웨어를 의미한다.
또한, 제2 데이터 베이스부(300)에는, 적어도 하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장될 수 있다.
상기 산출부(300)는, 신규 소프트웨어인 경우, 제1 기준값에 기초하여 신규 소프트웨어의 위험 등급을 산출하고, 재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련될 수 있다.
여기서, 상기 재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함할 수 있다.
상기 산출부(300)는, 함수 별로 위험 등급을 각각 산출하도록 마련된다.
상기 산출부(300)는, 수정 함수인 경우 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련될 수 있다.
본 문서에서, 상기 재사용 소프트웨어(120)란, 신규 소프트웨어(110)에 포함된 함수가 신뢰성 시험을 통과하여 기능과 성능이 입증된 상태에서 재사용되는 소프트웨어를 의미할 수 있다. 즉, 소정의 시스템에서 사용된 후, 다른 시스템에서 재사용되는 소프트웨어를 의미할 수 있다.
따라서, 소정의 시스템에서 사용된 신규 소프트웨어 및 신규 소프트웨어에 포함되는 신규 함수들이 소정의 다른 시스템에서 사용되는 경우, 신규 소프트웨어 및 신규 함수는, 기존 소프트웨어 및 기존 함수를 의미할 수 있다.
또한, 상기 재사용 소프트웨어(120)란, 개발 프로세스를 거치면서 기능과 성능이 입증된 상태의 기존 소프트웨어에 포함된 기존 함수가 수정되거나, 기존 소프트웨어에 신규 함수가 추가되어 재사용되는 소프트웨어를 의미할 수 있다. 즉, 신규 소프트웨어가 소정의 시스템에서 입증되어 사용된 후, 추가 개발되어 다른 시스템에서 재사용되는 소프트웨어를 의미한다.
다시 말해, 재사용 소프트웨어(120)는, 기존 시험평가를 통해 검증되었으므로, 신규로 작성된 신규 소프트웨어(110)에 비해 낮은 기준의 시험평가를 수행할 수 있고, 신규 소프트웨어는 면밀한 검증이 필요하므로 기준을 엄격하게 수립한 높은 기준의 시험평가를 수행하도록 마련된다.
또한, 본 문서에서, 신규 소프트웨어는 재사용되기 전 초기 상태의 소프트웨어를 의미할 수 있으며, 신규 함수는 기능과 성능을 입증하기 위한 시험 평가가 필요한 함수를 의미할 수 있다.
또한, 재사용 소프트웨어는 신규 소프트웨어가 재사용된 소프트웨어를 의미할 수 있고, 기존 함수는 신규 함수가 소정의 시험 평가를 거쳐 기능과 성능이 입증되어 시험 평가가 필요 없는 함수를 의미할 수 있으며, 추가된 신규 함수는 신규 소프트웨어에 포함된 신규 함수 이외에 추가된 신규 함수를 의미할 수 있다.
상기 신규 소프트웨어는, 복수 개의 신규 함수를 포함할 수 있다.
상기 재사용 소프트웨어는, 기존 함수(신규 소프트웨어에서 사용된 신규 함수), 기존 함수를 수정한 수정 함수 및 추가된 신규 함수를 포함할 수 있다.
예를 들어, 재사용 소프트웨어는, 기존 함수 및 수정 함수를 포함하거나, 수정 함수 만을 포함하거나, 수정 함수 및 추가된 신규 함수를 포함할 수 있다.
따라서, 재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함할 수 있다.
본 발명에서는, 효율적인 평가를 위해, 상기 재사용 소프트웨어에서 위험 등급을 평가 받는 대상은 기존 함수를 제외한, 수정 함수 및 추가된 신규 함수이다.
즉, 기존 함수는 개발 프로세스 단계에서 기능과 성능이 입증된 상태이므로, 신뢰성 시험을 수행할 경우 시간과 비용이 중복하여 들어가게 되므로 이를 제외함으로써, 보다 효율적으로 신뢰성 시험을 수행하기 위한 신뢰성 시험의 대상과 범위를 선정할 수 있게 된다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 제1 및 제2 데이터베이스 부를 나타낸 도면이다.
도 2 및 도 3을 참조하면, 상기 제1 및 제2 데이터베이스 부는, 위험 등급을 산출하기 위한 복수 개의 위험 요소를 각각 포함하고, 각각의 위험 요소는 복수의 단계로 구분되는 위험 수준을 포함하며, 각각의 위험 수준에는 위험 수준 별로 소정의 제1 및 제2 기준값이 각각 기 설정될 수 있다.
여기서, 상기 제1 및 제2 데이터베이스 부는, 방사청 개발 매뉴얼, 소스코드 메트릭(Code Metrics)을 참고하여 작성될 수 있다.
상기 위험 요소는, 소프트웨어의 기술적 위험도를 구성하는 평가지표로는, 함수 간의 상호관계(Number of Called Functions), 함수의 난이도, 함수의 순환 복잡도(Cyclomatic Complexity)를 포함하며, 소프트웨어의 체계 영향도를 구성하는 평가지표로는 함수의 사용빈도 및 함수의 결함 제어 가능성을 포함한다.
상기 위험 수준은 심각, 높은, 보통, 낮음 및 없음으로 구분될 수 있다.
상기 각각의 위험 수준은 위험 수준에 따라 기 설정된 기준 점수를 포함한다.
예를 들어, 심각은 9점, 높음은 5점, 보통은 3점, 낮음은 1점, 없음은 0 점으로 차등하여 기준 점수가 설정될 수 있으나, 이에 한정되는 것은 아니다.
여기서, 상기 함수 간의 상호관계는, 특정된 하나의 함수가 다른 함수를 호출하는 함수 개수를 의미하며, 함수 개수에 따라 위험 수준이 구분된다.
또한, 상기 함수의 난이도는, 유사과제 수행실적 개수를 의미하며, 수행실적 개수에 따라 위험 수준을 구분한다.
여기서, 유사과제란, 유사한 요구사항이나 기능을 가지고 있는 무기체계 사업을 의미하며, 일반적으로 유사한 특성을 가진 무기체계의 경우 많은 기능이나 요구 사항이 동일하기 때문에 유사과제에 기반해서 소프트웨어를 개발할 경우, 그 구현이 용이할 수 있다.
또한, 함수의 복잡도는, 함수의 순환복잡도를 의미하며, 순환복잡도의 수치(값)에 따라 위험 수준을 구분한다.
또한, 함수의 사용빈도는, 함수가 사용되는 빈도를 의미하며 사용 빈도 즉, 함수의 결함 발생 빈도에 따라 위험 수준을 구분하고, 함수의 결함 제어 가능성은 함수에 결함 발생 시, 함수의 제어 수준에 따라 위험 수준을 구분한다.
상기 신규 소프트웨어의 신규 함수, 재사용 소프트웨어의 수정 함수 및 추가된 신규 함수는 각각 소정의 분석 도구(tool)을 통해 산출된 제1 및 제2 측정 값 및 제1 내지 제3 지표 값을 가질 수 있다.
여기서, 상기 소정의 분석 도구(tool)는 일반적으로 함수의 상호관계 및 함수의 순환 복잡도를 분석하기 위한 도구라면 사용가능 하다.
특히, 상기 분석 도구는, 상호관계와 복잡도를 편리하게 측정하기 위해 사용될 수 있으며, 전술한 기준 점수는 무기체계 소프트웨어 개발 및 관리 지침 내의 메트릭(metric)을 활용할 수 있다.
이러한 메트릭들을 측정하는 기능은 일반적인 상용 신뢰성 시험도구에서 지원될 수 있다.
상기 사용빈도, 결함 제어 가능성(영향도) 및 난이도는 사업 특성을 고려하여 수정될 수 있다.
또한, 상기 난이도는 사업특성을 고려하여 유사과제 외에 다른 특성으로 수정될 수 있다.
상기 각각의 함수(신규 함수, 수정 함수, 추가된 신규 함수)는 제1 지표 값에 따라 함수의 사용빈도에 대한 기준 점수가 부여될 수 있고, 제2 지표 값에 따라 함수의 결함 제어 가능성에 대한 기준 점수가 부여되며, 제3 지표 값에 따라 함수의 난이도에 대한 기준 점수가 부여되고, 제1 측정 값에 따라 함수의 상호관계에 대한 기준 점수가 부여되며, 제2 측정 값에 따라 함수의 순환 복잡도에 대한 기준 점수가 부여되도록 마련될 수 있다.
이 때, 상기 산출부(300)는 각각의 제1 및 제2 측정 값 및 제1 내지 제3 지표 값에 대응하는 각각의 제1 및 제2 기준값을 선택하고, 선택된 제1 및 제2 기준값에 해당하는 각각의 위험 수준의 기준 점수를 합산하여 위험 등급을 산출하도록 마련될 수 있다.
보다 구체적으로, 도 4 및 도 5는 함수의 사용빈도 및 함수의 결함 제어 가능성에 대한 제1 기준값(제2 기준값)을 나타낸 도면이다.
먼저 도 4를 참조하면, 함수의 사용 빈도(함수의 결함 발생 빈도)의 위험 수준을 구분하기 위한 제1 기준값은, 함수의 사용빈도(함수의 결함 발생 빈도)가 작동간 지속적으로 발생인 경우 E4로 설정되고, 작동간 빈번히 발생인 경우 E3로 설정되고, 작동간 드물게 발생인 경우 E2로 설정되고, 작동간 매우 드물게 발생인 경우 E1으로 설정되고, 작동간 발생빈도 거의 없음인 경우 E0로 설정된다.
상기와 같이, E0 내지 E4로 설정된 상태에서, E4는 위험 요소의 위험 수준에서 심각에 해당되는 기준으로 설정될 수 있고, E3는 높음, E2는 보통, E1은 낮음, E0는 없음에 해당하는 기준으로 각각 설정될 수 있다.
이에 따라 기준 점수는 각각 9점, 5점, 3점, 1점, 0점이 부여될 수 있다.
예를 들어, 소정의 함수의 사용 빈도에 대한 제1 지표 값이 작동간 드물게 발생(E2)인 경우, 위험 수준은 보통으로 기준 점수로서 3점이 부여될 수 있다.
도 5를 참조하면, 상기 함수의 결함 제어 가능성의 위험 수준을 구분하기 위한 제1 기준값은, 기능 복구 불가능인 경우 C3로 설정되고, 기능수행에 일부 제한됨은 C2로 설정되고, 전원리셋 등으로 기능 복구는 C1으로 설정되고, 기능수행 영향 없음은 C0로 설정된다.
상기와 같이, C0 내지 C3로 설정된 상태에서, C3는 위험 요소의 위험 수준에서 심각에 해당되는 기준으로 설정될 수 있고, C2는 높음, C1은 보통, C0는 낮음에 해당하는 기준으로 각각 설정될 수 있다. 여기서, 없음 수준은 제외된다.
이에 따라 기준 점수는 각각 9점, 5점, 3점, 1점, 0점이 부여될 수 있다.
예를 들어, 소정의 함수의 결함 제어 가능성에 대한 제2 지표 값이 기능수행 영향 없음(C0)인 경우, 위험 수준은 낮음으로 기준 점수로서 1점이 부여될 수 있다.
또한, 함수의 난이도의 위험 수준을 구분하기 위해 설정된 각각의 위험수준 즉, 심각, 높음, 보통, 낮음, 없음에 따른 제1 기준값은, 신규과제, 유사과제 1개, 유사과제 2~3개, 유사과제 4개, 유사과제 5개 이상으로 각각 설정될 수 있다.
예를 들어, 소정의 함수의 난이도에 대한 제3 지표 값으로 유사 과제가 3개인 경우, 위험 수준은 보통으로 기준 점수로서 3점이 부여될 수 있다.
여기서, 함수의 사용빈도, 함수의 결함 제어 가능성 및 함수의 난이도에 대한 제1 및 제2 기준값은 동일하게 설정될 수 있다.
이에 더하여, 상기 함수 간의 상호관계에 설정된 각각의 위험수준 즉, 심각, 높음, 보통, 낮음, 없음에 따른 제1 기준값은, 15이상, 11~14, 7~10, 3~6, 2 이하로 각각 설정될 수 있다.
반면, 제2 기준값은, 8이상, 6~7, 4~5, 2~3, 1 이하로 각각 설정될 수 있다.
또한, 상기 함수의 순환 복잡도에 설정된 각각의 위험 수준 즉, 심각, 높음, 보통, 낮음, 없음에 따른 제1 기준값은, 26이상, 21~25, 11~20, 5~10, 4이하로 각각 설정될 수 있다.
반면, 제2 기준값은 13이상, 11~12, 6~10, 3~5, 2 이하로 각각 설정될 수 있다.
전술한 상기 함수 간의 상호관계와 순환 복잡도에서, 제1 기준값은 신규 함수 및 추가된 신규 함수의 위험도 분석 기준으로서 사용될 수 있고, 제2 기준값은 수정 함수의 위험도 분석 기준으로서 사용될 수 있다.
예를 들어, 신규 함수의 함수 간의 상호 관계 제1 측정 값이 13이고, 순환 복잡도에 대한 제2 측정값이 13인 경우, 각각 높음 및 보통 수준으로 기준 점수가 각각 5점, 3점이 부여될 수 있다.
이에 더하여, 상기 산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때, 수정 함수는, 기존 함수의 함수 간의 상호관계에 대한 제1 측정 값과 수정 함수의 함수 간의 상호관계에 대한 제1 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련될 수 있다.
예를 들면, 수정 함수의 상호관계에 대한 기준 점수를 부여하기 위해서는, 기존 함수의 제1 측정값과 수정 함수의 제1 측정값이 요구된다.
일 예로, 기존 함수의 제1 측정값이 15이고, 수정 함수의 제1 측정값이 20인 경우, 수정 함수의 제1 측정값과 기존 함수의 제1 측정값의 차이 값인 5를 기준으로, 차이 값인 5에 대응하는 제2 기준값 즉, 보통 수준인 6~10이 선택되고, 이에 따라 기준 점수로서 3점이 부여될 수 있다.
여기서, 수정 함수의 제1 측정값은 일반적으로 기능이 추가되는 경우가 많기 때문에 증가하게 되지만, 기존 함수의 일부만 사용하는 방식으로 구현을 할 경우 그 값이 줄어들 수도 있다. 이러한 경우, 상호관계 및 복잡도 값이 줄어들게 되어 위험(가능성)이 줄어들기 때문에 신뢰성 시험 필요성이 줄어들 수 있다.
또한, 산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때, 수정 함수는, 기존 함수의 순환 복잡도에 대한 제2 측정 값과 수정 함수의 순환 복잡도에 대한 제2 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련될 수 있다.
예를 들면, 수정 함수의 순환 복잡도에 대한 기준 점수를 부여하기 위해서는, 기존 함수의 제2 측정값과 수정 함수의 제2 측정값이 요구된다.
일 예로, 기존 함수의 제2 측정값이 10이고, 수정 함수의 제2 측정값이 14인 경우, 수정 함수의 제2 측정값과 기존 함수의 제2 측정값의 차이 값인 4를 기준으로, 차이 값인 4에 대응하는 제2 기준값 즉, 낮음 수준인 3~5가 선택되고, 이에 따라 기준 점수로서 1점이 부여될 수 있다.
즉, 수정 함수는, 함수의 상호관계 및 복잡도를 평가할 때, 기존 함수를 수정함에 따라 증가된 증가 값(수정된 수정 값)에 대한 부분을 평가(분석)함으로써, 보다 효율적인 평가가 가능하게 된다.
이러한 평가(분석)를 위해서, 제2 데이터 베이스부의 함수 간의 상호관계 및 함수의 순환 복잡도에 각각 설정된 소정의 제2 기준값은, 제1 데이터 베이스부의 함수 간의 상호관계 및 함수의 순환 복잡도에 각각 설정된 소정의 제1 기준값 보다 낮게 설정될 수 있다.
상기 함수 간의 상호관계 및 함수의 순환 복잡도에 각각 설정된 소정의 제1 기준값은 소스코드 메트릭의 제한 값을 보통 수준의 값으로 선정하여 설정될 수 있으며, 재사용 소프트웨어의 위험도 분석을 위한 제2 기준값은 이에 대해 대략 40~60% 범위 또는 대략 50% 범위로 낮추어 설정할 수 있다.
전술한 바와 같이 설정된 각각의 위험도 분석 기준인 제1 및 제2 데이터베이스 부를 통해 산출부(400)에서 신규 소프트웨어 및 재사용 소프트웨어의 함수 별로 위험 요소의 위험 등급을 각각 산출할 수 있다.
한편, 상기 결정부(500)는, 산출된 위험 등급에 따라, 함수 별로 시험 대상을 결정하도록 마련되고, 소정 함수가 시험 대상인 경우, 상기 함수의 시험 수행 종류를 결정하도록 마련될 수 있다.
상기 결정부(500)에서 결정된 시험 종류는, 분기 실행률 또는 문장 실행률 중 어느 하나일 수 있다.
도 6은, 본 발명의 일 실시예에 따른 산출부를 설명하기 위해 나타낸 도면, 도 7은 본 발명의 일 실시예에 따른 결정부를 설명하기 위해 나타낸 도면이다.
도 6을 참조하면, 전술한 산출부(400)는, 각각의 함수에 대해 상호관계, 복잡도, 난이도, 사용빈도, 결함 제어 가능성의 각각에 대해 기준 점수를 산출하여 산출된 기준 점수를 합산 하여 위험 등급을 산출할 수 있다.
여기서, 도 7을 참조하면, 상기 결정부(500)는 함수 단위 별로 시험 대상을 결정하고, 시험 종류를 결정하기 위한 시험 대상 선정 매트릭스가 마련될 수 있다.
상기 시험 대상 선정 매트릭스는, X축으로 체계 영향도를 나타내고, Y 축으로 기술적 위험도를 나타내도록 마련될 수 있다.
즉, X축은, 함수의 결함 발생빈도와 함수의 결함 제어 가능성에 대해 산출된 각각의 기준 점수를 합산한 값을 나타낸다.
또한, Y축은, 함수 간의 상호관계, 함수의 난이도, 함수의 복잡도에 대해 산출된 각각의 기준 점수를 합산한 값을 나타낸다.
이러한 상태에서, 위험 등급은 A, B, C, D등급으로 구분될 수 있다.
여기서, 상기 위험 등급이 A등급은, 시험 대상 각각의 함수가 분기 실행률 100%를 수행 하는 것을 나타낸다.
여기서, 분기 실행률 100%라 함은, 시험 대상 함수의 소스 코드 내의 분기문 중 동적 시험간 참(True), 거짓(False)이 적어도 한 번 이상 시험된 비율이 100%인 경우를 의미한다.
상기 A등급은 함수의 결함 발생빈도와 함수의 결함 제어 가능성을 합산한 값이 9점 이상이고, 함수 간의 상호관계, 함수의 난이도 및 함수의 복잡도를 합산한 값이 13.5점 이상인 경우에 부여된다.
소프트웨어 내의 함수가 A등급을 부여 받은 경우, 분기 실행률 100%가 달성되도록 함수를 수정함으로써, 소프트웨어의 위험도를 완화 시킬 수 있게 된다.
또한, 상기 위험 등급이 B 등급은, 시험 대상 각각의 함수가 문장 실행률 100%를 수행하는 것을 나타낸다.
여기서, 문장 실행률 100%라 함은, 시험 대상 함수의 소스 코드 내의 문장 중 동적 시험간 적어도 한번 이상 시험된 문장의 비율이 100%인 경우를 의미한다.
상기 B등급은 함수의 결함 발생빈도와 함수의 결함 제어 가능성을 합산한 값이 9점 미만이고, 함수 간의 상호관계, 함수의 난이도 및 함수의 복잡도를 합산한 값이 13.5점 이상인 경우에 부여된다.
소프트웨어 내의 함수가 B등급을 부여 받은 경우, 문장 실행률 100%가 달성되도록 함수를 수정함으로써, 소프트웨어의 위험도를 완화 시킬 수 있게 된다.
또한, 시험 대상에서 제외되는 C등급과 D등급은, 함수 간의 상호관계, 함수의 난이도 및 함수의 복잡도를 합산한 값이 13.5점 미만인 경우에 부여되어 시험 대상에서 제외된다.
상기 C 등급은, 함수의 결함 발생빈도 및 함수의 결함 제어 가능성의 합산 값이 9이상이고, 함수 간의 상호관계, 함수의 난이도 및 함수의 복잡도를 합산한 값이 13.5점 미만인 경우에 부여된다.
또한, D 등급은 함수의 결함 발생빈도 및 함수의 결함 제어 가능성의 합산 값이 9 미만이고, 함수 간의 상호관계, 함수의 난이도 및 함수의 복잡도를 합산한 값이 13.5점 미만인 경우에 부여된다.
전술한 C와 D등급은 모두 시험대상 제외로 구분되지만, 무기 체계의 특성에 따라 시험의 종류와 내용이 테일러링 될 수 있으므로, C와 D를 구분하는 것은 유의미할 수 있다.
본 발명에서, 기술적 위험도에 해당하는 위험 요소는 신뢰성 시험의 수행여부에 연관될 수 있으며, 체계 영향도에 해당하는 위험요 소는 신뢰성 시험 종류의 선택에 연관될 수 있다.
일 예로, 도 6 및 도 7을 참조하면, 예를 들어, 파일명이 'ㄱ'이고, 함수명이 'X'인 소프트웨어가 각각 함수의 결함 발생빈도에서 1점, 함수의 결함 제어 가능성에서 5점을 받아 합산하여 6점을 받고, 함수 간의 상호관계에서 1점, 함수의 난이도에서 1점 및 함수의 복잡도에서 1점을 받아 합산하여 3점을 받은 경우, 위험 등급은 D등급으로 시험 대상에서 제외 된다.
예를 들어, 파일명이 'ㄴ'이고, 함수명이 'Y'인 소프트웨어가 각각의 함수의 결함 발생빈도에서 1점, 함수의 결함 제어 가능성에서 5점을 받아 합산하여 6점을 받고, 함수 간의 상호관계에서 1점, 함수의 난이도에서 9점 및 함수의 복잡도에서 5점을 받아 합산하여 15점을 받은 경우, 위험 등급은 B등급으로 문장 실행률 100%를 수행하게 된다.
예를 들어, 파일명이 'ㄷ'이고, 함수명이 'Z'인 소프트웨어가 각각의 함수의 결함 발생빈도에서 5점, 함수의 결함 제어 가능성에서 5점을 받아 합산하여 10점을 받고, 함수 간의 상호관계에서 4점, 함수의 난이도에서 6점 및 함수의 복잡도에서 4점을 받아 합산하여 14점을 받은 경우, 위험 등급은 A등급으로 분기 실행률 100%를 수행하게 된다.
여기서, 하나의 구현된 파일(파일명)에 다수의 함수(함수명)이 정의되어 구현될 수 있으며, 각각의 함수에는 함수명이 정의되어 있다.
도 8은, 본 발명의 일 실시예에 따른 결정부를 통해 나타난 시험 수행 범위 및 시험 대상 수량을 설명하기 위해 나타낸 표이다.
도 8을 참조하면, 상기와 같이 위험 등급을 산출하면 위험 등급에 따른 시험 수행 범위 및 시험 대상 함수 개수가 도출된다.
상기와 같은 위험 등급 산출 과정을 통해 최종 위험 등급에 따른 동적 시험을 수행하고, 수행된 시험을 바탕으로 함수를 수정 및 보완하여 소프트웨어의 위험도를 완화시킬 수 있게 된다.
한편, 본 발명의 다른 실시예에 따르면, 하나 이상의 함수를 포함하는 신규 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장되고, 하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장된 데이터 베이스부; 재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련된 산출부를 포함하며, 재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함하며, 산출부는 함수 별로 위험 등급을 각각 산출하도록 마련되고, 산출부는 수정 함수인 경우, 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련된, 소프트웨어의 신뢰성 시험 시스템을 제공한다.
또한, 상기 위험 요소는, 함수 간의 상호관계, 함수의 난이도, 함수의 순환 복잡도, 함수의 사용빈도 및 함수의 결함 제어 가능성을 포함하고, 위험 수준은, 심각, 높음, 보통, 낮음 및 없음으로 구분되며, 각각의 위험 수준은, 위험 수준에 따라 기 설정된 기준 점수를 포함할 수 있다.
또한, 산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때, 수정 함수는, 기존 함수의 함수 간의 상호관계 측정 값과 수정 함수의 함수 간의 상호관계 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련될 수 있다.
또한, 산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때, 수정 함수는, 기존 함수의 순환 복잡도 측정 값과 수정 함수의 순환 복잡도 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련될 수 있다.
한편, 본 발명의 또 다른 실시예에 따르면, 전술한 소프트웨어의 신뢰성 시험 시스템을 이용하여, 신규 소프트웨어 및 재사용 소프트웨어의 위험 등급을 산출하는 단계를 포함하는, 소프트웨어의 신뢰성 시험 방법을 제공한다.
상기 다른 실시예에 따른 소프트웨어 신뢰성 시험 시스템 및 소프트웨어 신뢰성 시험 방법은, 전술한 일 실시예에 따른 소프트웨어 신뢰성 시험 시스템에 개시된 내용이 동일하게 적용될 수 있음을 이해하여야 한다.
110: 신규 소프트웨어
120: 재사용 소프트웨어
200: 제1 데이터 베이스부
300: 제2 데이터 베이스부
400: 산출부
500: 결정부

Claims (16)

  1. 하나 이상의 함수를 포함하는 신규 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장된 제1 데이터 베이스부;
    하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장된 제2 데이터 베이스부;
    신규 소프트웨어인 경우, 제1 기준값에 기초하여 신규 소프트웨어의 위험 등급을 산출하고, 재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련된 산출부를 포함하며,
    재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함하며,
    산출부는 함수 별로 위험 등급을 각각 산출하도록 마련되고,
    산출부는 수정 함수인 경우 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련되며,
    제1 및 제2 데이터 베이스 부는, 위험 등급을 산출하기 위한 복수 개의 위험 요소를 각각 포함하고,
    각각의 위험 요소는 복수의 단계로 구분되는 위험 수준을 포함하며,
    각각의 위험 수준에는, 위험 수준 별로 소정의 제1 및 제2 기준값이 각각 기 설정되고,
    위험 요소는, 함수 간의 상호관계, 함수의 난이도, 함수의 순환 복잡도, 함수의 사용빈도 및 함수의 결함 제어 가능성을 포함하며,
    위험 수준은, 심각, 높음, 보통, 낮음 및 없음으로 구분되고,
    각각의 위험 수준은, 위험 수준에 따라 기 설정된 기준 점수를 포함하며,
    신규 소프트웨어의 신규 함수, 재사용 소프트웨어의 수정 함수 및 추가된 신규 함수는 각각 소정의 분석 도구(tool)를 통해 산출된 제1 및 제2 측정 값 및 제1 내지 제3 지표 값을 갖는, 소프트웨어의 신뢰성 시험 시스템.
  2. 제 1항에 있어서,
    산출된 위험 등급에 따라, 함수 별로 시험 대상을 결정하도록 마련되고, 소정 함수가 시험 대상인 경우, 상기 함수의 시험 수행 종류를 결정하도록 마련된 결정부를 추가로 포함하는, 소프트웨어의 신뢰성 시험 시스템.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1항에 있어서,
    각각의 함수는,
    제1 지표 값에 따라 함수의 사용빈도에 대한 기준 점수가 부여되고,
    제2 지표 값에 따라 함수의 결함 제어 가능성에 대한 기준 점수가 부여되며,
    제3 지표 값에 따라 함수의 난이도에 대한 기준 점수가 부여되고,
    제1 측정 값에 따라 함수의 상호관계에 대한 기준 점수가 부여되며,
    제2 측정 값에 따라 함수의 순환 복잡도에 대한 기준 점수가 부여되도록 마련된, 소프트웨어의 신뢰성 시험 시스템.
  7. 제 6항에 있어서,
    산출부는 각각의 제1 및 제2 측정 값 및 제1 내지 제3 지표 값에 대응하는 각각의 제1 및 제2 기준값을 선택하고, 선택된 제1 및 제2 기준값에 해당하는 각각의 위험 수준의 기준 점수를 합산하여 위험 등급을 산출하도록 마련된, 소프트웨어의 신뢰성 시험 시스템.
  8. 제 7항에 있어서,
    산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때,
    수정 함수는, 기존 함수의 함수 간의 상호관계에 대한 제1 측정 값과 수정 함수의 함수 간의 상호관계에 대한 제1 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련된, 소프트웨어의 신뢰성 시험 시스템.
  9. 제 7항에 있어서,
    산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때,
    수정 함수는, 기존 함수의 순환 복잡도에 대한 제2 측정 값과 수정 함수의 순환 복잡도에 대한 제2 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련된, 소프트웨어의 신뢰성 시험 시스템.
  10. 제 1항에 있어서,
    제2 데이터 베이스부의 함수 간의 상호관계 및 함수의 순환 복잡도에 각각 설정된 소정의 제2 기준값은, 제1 데이터 베이스부의 함수 간의 상호관계 및 함수의 순환 복잡도에 각각 설정된 소정의 제1 기준값 보다 낮게 설정된, 소프트웨어의 신뢰성 시험 시스템.
  11. 제 2항에 있어서,
    결정부에서 결정된 시험 종류는, 분기 실행률 또는 문장 실행률 중 어느 하나인, 소프트웨어의 신뢰성 시험 시스템.
  12. 하나 이상의 함수를 포함하는 신규 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제1 기준값이 저장되고, 하나 이상의 함수를 포함하는 재사용 소프트웨어의 위험 등급을 평가하기 위한 복수 개의 제2 기준값이 저장된 데이터 베이스부;
    재사용 소프트웨어인 경우, 제1 기준값 및 제2 기준값 중 적어도 하나에 기초하여 재사용 소프트웨어의 위험 등급을 산출하도록 마련된 산출부를 포함하며,
    재사용 소프트웨어는, 기존 함수를 수정한 수정 함수 및 추가된 신규 함수 중 어느 하나 이상을 포함하며,
    산출부는 함수 별로 위험 등급을 각각 산출하도록 마련되고,
    산출부는 수정 함수인 경우, 제2 기준값에 기초하여 위험 등급을 산출하도록 마련되고, 추가된 신규 함수인 경우 제1 기준값에 기초하여 위험 등급을 산출하도록 마련되며,
    위험 요소는, 함수 간의 상호관계, 함수의 난이도, 함수의 순환 복잡도, 함수의 사용빈도 및 함수의 결함 제어 가능성을 포함하고,
    위험 수준은, 심각, 높음, 보통, 낮음 및 없음으로 구분되며,
    각각의 위험 수준은, 위험 수준에 따라 기 설정된 기준 점수를 포함하고,
    산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때,
    수정 함수는, 기존 함수의 함수 간의 상호관계 측정 값과 수정 함수의 함수 간의 상호관계 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련된, 소프트웨어의 신뢰성 시험 시스템.
  13. 삭제
  14. 삭제
  15. 제 12항에 있어서,
    산출부가 제2 기준값에 기초하여 수정 함수의 위험 등급을 산출할 때,
    수정 함수는, 기존 함수의 순환 복잡도 측정 값과 수정 함수의 순환 복잡도 측정 값의 차이 값을 기준으로, 차이 값에 대응하는 제2 기준값이 선택되고, 선택된 제2 기준값에 대한 위험 수준의 기준 점수가 부여되도록 마련된, 소프트웨어의 신뢰성 시험 시스템.
  16. 제1항에 따른 소프트웨어의 신뢰성 시험 시스템을 이용하여,
    신규 소프트웨어 및 재사용 소프트웨어의 위험 등급을 산출하는 단계를 포함하는, 소프트웨어의 신뢰성 시험 방법.
KR1020190116632A 2019-09-23 2019-09-23 소프트웨어의 신뢰성 시험 시스템 및 시험 방법 KR102282382B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190116632A KR102282382B1 (ko) 2019-09-23 2019-09-23 소프트웨어의 신뢰성 시험 시스템 및 시험 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190116632A KR102282382B1 (ko) 2019-09-23 2019-09-23 소프트웨어의 신뢰성 시험 시스템 및 시험 방법

Publications (2)

Publication Number Publication Date
KR20210035363A KR20210035363A (ko) 2021-04-01
KR102282382B1 true KR102282382B1 (ko) 2021-07-28

Family

ID=75441333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190116632A KR102282382B1 (ko) 2019-09-23 2019-09-23 소프트웨어의 신뢰성 시험 시스템 및 시험 방법

Country Status (1)

Country Link
KR (1) KR102282382B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230090767A (ko) * 2021-12-15 2023-06-22 경북대학교 산학협력단 소프트웨어 프로그램을 검증하는 방법 및 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230057095A (ko) 2021-10-21 2023-04-28 삼성에스디에스 주식회사 소프트웨어 제품의 품질 평가 방법 및 그 장치
US20240019282A1 (en) * 2022-07-15 2024-01-18 Black & Veatch Holding Company Method and computing device for detecting anomalous sensor data
KR102647446B1 (ko) * 2023-06-19 2024-03-13 국방기술품질원 개발 단계 무기 체계의 sw 품질 검증 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015088067A1 (ko) 2013-12-10 2015-06-18 슈어소프트테크주식회사 소프트웨어 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895565B1 (en) * 2006-03-15 2011-02-22 Jp Morgan Chase Bank, N.A. Integrated system and method for validating the functionality and performance of software applications
KR20070105167A (ko) * 2006-04-25 2007-10-30 삼성전자주식회사 임베디드 소프트웨어의 재사용율 측정 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015088067A1 (ko) 2013-12-10 2015-06-18 슈어소프트테크주식회사 소프트웨어 품질 요소 추출 모듈과 방법 및 소프트웨어 품질 요소 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체
KR101547248B1 (ko) * 2013-12-10 2015-08-25 슈어소프트테크주식회사 소프트웨어의 종합 품질 점수 추출 모듈과 방법 및 소프트웨어의 종합 품질 점수 추출 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이태호 외, ‘무기체계 소프트웨어 신뢰성 시험 현황 및 발전 방향’, 정보보호학회지, 제28권제6호, 2018.12.*

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230090767A (ko) * 2021-12-15 2023-06-22 경북대학교 산학협력단 소프트웨어 프로그램을 검증하는 방법 및 장치
KR102601979B1 (ko) * 2021-12-15 2023-11-15 경북대학교 산학협력단 소프트웨어 프로그램을 검증하는 방법 및 장치

Also Published As

Publication number Publication date
KR20210035363A (ko) 2021-04-01

Similar Documents

Publication Publication Date Title
KR102282382B1 (ko) 소프트웨어의 신뢰성 시험 시스템 및 시험 방법
US9235493B2 (en) System and method for peer-based code quality analysis reporting
US9710257B2 (en) System and method to map defect reduction data to organizational maturity profiles for defect projection modeling
US20160378618A1 (en) Risk formula for erroneous software components detection
US7478000B2 (en) Method and system to develop a process improvement methodology
US20100274520A1 (en) Creation of test plans
Kadry A new proposed technique to improve software regression testing cost
US9734042B1 (en) System, method, and computer program for automated parameterized software testing
Muthusamy et al. Effectiveness of test case prioritization techniques based on regression testing
JP6416588B2 (ja) ソースコード検証システム
US20100313187A1 (en) Method and system for detecting infeasible paths
JP2007206069A (ja) 最も適合する試験結果タイプに基づいて自動的にデータをフォーマットする方法及び装置
KR102461180B1 (ko) 소프트웨어 안전성 분석 방법 및 장치
CN111552641A (zh) 一种判断软件产品质量的方法、装置、设备及存储介质
KR102426581B1 (ko) 전장용 소프트웨어 안전성 분석 방법 및 장치
JP4681574B2 (ja) 抜取検査システム
CN114564391A (zh) 确定测试用例的方法、装置、存储介质及电子设备
TWI735511B (zh) 代碼提交方法和設備
JP6633418B2 (ja) 分析データ選択装置および分析データ選択方法
US20190065355A1 (en) Information processing device and output method
JPWO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
WO2022042726A1 (zh) 系统测试方法、装置、设备和存储介质
CN111240740B (zh) 基于演化历史分析的代码克隆危害性评估方法
CN107102938A (zh) 测试脚本的更新方法及装置
JP6476994B2 (ja) 指摘選別装置、指摘選別方法及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant