KR20200114144A - Apparatus and method for automatically setting reliability test tool - Google Patents
Apparatus and method for automatically setting reliability test tool Download PDFInfo
- Publication number
- KR20200114144A KR20200114144A KR1020190035368A KR20190035368A KR20200114144A KR 20200114144 A KR20200114144 A KR 20200114144A KR 1020190035368 A KR1020190035368 A KR 1020190035368A KR 20190035368 A KR20190035368 A KR 20190035368A KR 20200114144 A KR20200114144 A KR 20200114144A
- Authority
- KR
- South Korea
- Prior art keywords
- reliability test
- test tool
- reliability
- information
- test
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Abstract
Description
본 발명은 신뢰성 시험 도구 설정 장치 및 방법에 관한 것이다.The present invention relates to a reliability test tool setting apparatus and method.
무기체계 소프트웨어 신뢰성 시험이라 함은 소프트웨어의 코드가 일으킬 수 있는 결함을 사전에 식별하여 제거하기 위한 시험을 지칭한다. 이러한 신뢰성 시험의 종류에는 정적 시험(Static test)과 동적 시험(Dynamic test)이 있다. 이 중 정적 시험은 소프트웨어를 실행하지 않은 상태에서 잠재적인 결함을 검출하는 시험을 지칭하며, 코딩 규칙(Coding Rule) 검증, 취약점 점검 및 소스코드 메트릭 점검이 포함될 수 있다. 동적 시험은 소프트웨어의 요구사항 및 구조를 기반으로 소프트웨어를 실행하면서 기능의 정상 동작 여부를 확인하는 시험을 지칭한다.The weapon system software reliability test refers to a test to identify and eliminate defects that may occur in the software code in advance. There are two types of reliability tests: static test and dynamic test. Among them, the static test refers to a test that detects potential defects without running software, and may include coding rule verification, vulnerability check, and source code metric check. Dynamic test refers to a test that checks whether a function operates normally while executing software based on the requirements and structure of the software.
무기체계 개발에서 소프트웨어의 비중이 커짐에 따라 신뢰성 시험 도구의 개수가 증가하고 있다. 이에 따라 신뢰성 시험을 수행하는 사용자는 각각의 신뢰성 시험 도구마다 시험규칙과 설정 방법을 숙지해서 설정해야 하는데, 이 과정에는 사용자의 노력과 시간이 소요될 수 있다.As the weight of software increases in weapon system development, the number of reliability test tools is increasing. Accordingly, the user performing the reliability test must be familiar with and set the test rules and setting methods for each reliability test tool, and this process may take the user's effort and time.
이에 본 발명의 해결하고자 하는 과제는 무기체계 소프트웨어의 신뢰성 시험 도구마다의 시험 규칙과 설정 방법을 자동화해서 설정할 수 있게 하는 기술을 제공하는 것이다.Accordingly, it is an object to be solved by the present invention to provide a technology that enables automatic setting of test rules and setting methods for each reliability test tool of weapon system software.
다만, 본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the problem to be solved of the present invention is not limited to the ones mentioned above, and another problem to be solved that is not mentioned can be clearly understood by those of ordinary skill in the art from the following description. will be.
일 실시예에 따른 신뢰성 시험 도구 설정 장치는 무기체계 소프트웨어가 탑재될 하드웨어에 대한 정보를 획득하는 하드웨어 정보 획득부와, 상기 무기체계 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구를 복수 개 중에 입력받는 인터페이스부와, 상기 복수 개의 신뢰성 시험 도구 각각에 대한 시험 규칙 및 설정 파일을 저장하는 데이터베이스부와, 상기 입력받은 정보에 대응되는 신뢰성 시험 도구에 대한 시험 규칙 및 설정 파일을 상기 데이터베이스부로부터 획득하고, 상기 하드웨어 정보 획득부가 획득한 상기 하드웨어에 대한 정보, 상기 획득된 시험 규칙 및 상기 획득된 설정 파일을 기초로 상기 입력받은 정보에 대응되는 신뢰성 시험 도구에 대한 환경 설정 파일을 생성하는 파일 생성부를 포함한다.The apparatus for setting a reliability test tool according to an embodiment includes a hardware information acquisition unit that obtains information on hardware on which weapon system software is to be installed, and an interface unit that receives a plurality of reliability test tools to be used for reliability testing of the weapon system software. And, a database unit for storing a test rule and a setting file for each of the plurality of reliability test tools, and a test rule and setting file for the reliability test tool corresponding to the received information from the database unit, and the hardware And a file generator for generating an environment setting file for a reliability test tool corresponding to the input information based on the information on the hardware obtained by the information acquisition unit, the obtained test rule, and the obtained configuration file.
또한, 상기 복수 개의 신뢰성 시험 도구는 정적 시험에 사용되는 신뢰성 시험 도구 및 동적 시험에 사용되는 신뢰성 시험 도구를 포함할 수 있다.Further, the plurality of reliability test tools may include a reliability test tool used for a static test and a reliability test tool used for a dynamic test.
또한, 상기 정적 시험에 사용되는 신뢰성 시험 도구는 시험 대상인 무기체계 소프트웨어를 실행하지 않은 상태에서 상기 시험 대상인 무기체계 소프트웨어에 적용된 코딩 규칙, 취약점 및 메트릭 중 적어도 하나를 점검할 수 있다.In addition, the reliability test tool used in the static test may check at least one of coding rules, weaknesses, and metrics applied to the test target weapon system software without executing the test target weapon system software.
또한, 상기 코딩 규칙은 표준 코딩 규칙을 기초로 한 것일 수 있다.In addition, the coding rule may be based on a standard coding rule.
또한, 상기 취약점은 표준 취약점 점검 규칙을 기초로 한 것일 수 있다.In addition, the vulnerability may be based on a standard vulnerability check rule.
또한, 상기 메트릭은 함수 메트릭의 종류 및 제한값을 기초로 한 것일 수 있다.In addition, the metric may be based on the type and limit value of the function metric.
또한, 상기 동적 시험에 사용되는 신뢰성 시험 도구는 시험 대상인 무기체계 소프트웨어를 실행한 상태에서 소정의 항목을 점검할 수 있다.In addition, the reliability test tool used in the dynamic test can check a predetermined item while executing the weapon system software to be tested.
또한, 상기 동적 시험에 사용되는 신뢰성 시험 도구는 상기 무기체계 소프트웨어에서 결함이 발생하는 빈도, 상기 결함의 영향성 및 상기 결함에 대한 제어 가능성을 설정할 수 있다.In addition, the reliability test tool used for the dynamic test can set the frequency of occurrence of defects in the weapon system software, the influence of the defects, and the controllability of the defects.
또한, 상기 동적 시험에 사용되는 신뢰성 시험 도구는 상기 소프트웨어에 포함된 코드 실행률(code coverage)을 선택받을 수 있다.In addition, the reliability test tool used for the dynamic test may receive a selection of code coverage included in the software.
또한, 상기 동적 시험에 사용되는 신뢰성 시험 도구는 상기 선택받은 코드 실행률에 따라 파일 또는 함수 단위로 시험 대상에 대한 설정을 수행할 수 있다.In addition, the reliability test tool used for the dynamic test may set a test object in a file or function unit according to the selected code execution rate.
일 실시예에 따른 신뢰성 시험 도구 설정 방법은 신뢰성 시험 도구 설정 장치가 수행하며, 무기체계 소프트웨어가 탑재될 하드웨어에 대한 정보를 획득하는 단계와, 상기 무기체계 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구를 복수 개 중에 입력받는 단계와, 상기 입력받은 신뢰성 시험 도구에 대한 시험 규칙 및 설정 파일을 상기 복수 개의 신뢰성 시험 도구 각각에 대한 시험 규칙 및 설정 파일로부터 획득하는 단계와, 상기 획득된 시험 규칙, 상기 획득된 설정 파일 및 상기 무기체계 소프트웨어가 탑재될 하드웨어에 대해 획득된 정보를 기초로 상기 입력받은 신뢰성 시험 도구에 대한 환경 설정 파일을 생성하는 단계를 포함하여 수행된다.In the reliability test tool setting method according to an embodiment, a reliability test tool setting device performs the steps of acquiring information on hardware on which weapon system software is to be installed, and a plurality of reliability test tools to be used for the reliability test of the weapon system software. Receiving input from among the dogs, obtaining a test rule and a setting file for the received reliability test tool from a test rule and setting file for each of the plurality of reliability test tools, the obtained test rule, and the obtained And generating an environment setting file for the received reliability test tool based on a setting file and information obtained on hardware on which the weapon system software is to be mounted.
일 실시예에 따른 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램은 전술한 신뢰성 시험 도구 설정 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 것이다.A computer program stored in a computer-readable recording medium according to an embodiment is programmed to be performed including each step included in the method for setting a reliability test tool described above.
일 실시예에 따른 컴퓨터 판독가능한 기록매체는, 전술한 신뢰성 시험 도구 설정 방법에 포함된 각 단계를 포함하여 수행하도록 프로그램된 컴퓨터 프로그램을 저장한다.The computer-readable recording medium according to an embodiment stores a computer program programmed to be performed including each step included in the method for setting a reliability test tool described above.
일 실시예에 따르면, 무기체계 소프트웨어의 신뢰성 시험 도구마다의 시험 규칙과 설정 방법이 자동으로 설정 내지 생성될 수 있다. 따라서 신뢰성 시험을 수행하는 사용자가 이러한 일 실시예에 따른 기술을 활용하게 될 경우, 무기체계 소프트웨어의 신뢰성 시험은 보다 손쉽게 수행될 수 있다.According to an embodiment, a test rule and a setting method for each reliability test tool of the weapon system software may be automatically set or generated. Therefore, when the user performing the reliability test utilizes the technology according to this embodiment, the reliability test of the weapon system software can be more easily performed.
도 1은 일 실시예에 따른 신뢰성 시험 도구 설정 장치에 관한 개략적인 구성도이다.
도 2는 하드웨어에 대한 정보 획득에 이용 가능한 정보의 종류를 예시적으로 도시한 도면이다.
도 3은 하드웨어에 대해 획득 가능한 정보의 종류를 예시적으로 도시한 도면이다.
도 4는 일 실시예에 따른 신뢰성 시험 도구 설정 방법의 절차에 대한 예시적인 순서도이다.
도 5 내지 7은 일 실시예에 따른 신뢰성 시험 도구 설정 방법의 절차 중 일부에 대한 세부적인 순서도이다.1 is a schematic configuration diagram of an apparatus for setting a reliability test tool according to an embodiment.
FIG. 2 is a diagram illustrating types of information that can be used to obtain information about hardware.
3 is a diagram illustrating types of information that can be obtained for hardware by way of example.
4 is an exemplary flow chart for a procedure of a method for setting a reliability test tool according to an embodiment.
5 to 7 are detailed flowcharts of some of the procedures of a method for setting a reliability test tool according to an exemplary embodiment.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, and only these embodiments make the disclosure of the present invention complete, and are common knowledge in the art It is provided to completely inform the scope of the invention to those who have, and the invention is only defined by the scope of the claims.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout this specification.
도 1은 일 실시예에 따른 신뢰성 시험 도구 설정 장치(1000)에 관한 개략적인 구성도이다. 도 1을 참조하면, 신뢰성 시험 도구 설정 장치(1000)는 하드웨어 정보 획득부(100), 인터페이스부(200), 데이터베이스부(300) 및 파일 생성부(400)를 포함한다. 여기서, 도 1에 도시된 신뢰성 시험 도구 설정 장치(1000)의 구성은 예시적인 것에 불과하다. 즉, 실시예에 따라 신뢰성 시험 도구 설정 장치(1000)는 도 1에 도시된 구성 중 적어도 하나를 포함하지 않거나 및/또는 도 1에 도시되지 않은 구성을 포함하도록 실시될 수 있다. 아울러, 신뢰성 시험 도구 설정 장치(1000)에 포함된 각 구성, 즉 하드웨어 정보 획득부(100), 인터페이스부(200), 데이터베이스부(300) 및 파일 생성부(400)은 각각 소프트웨어 모듈이나 하드웨어 모듈 형태로 구현되거나 또는 소프트웨어 모듈과 하드웨어 모듈이 조합된 형태로 구현될 수 있다.1 is a schematic configuration diagram of an
먼저, 하드웨어 정보 획득부(100)는 무기체계 소프트웨어가 탑재될 하드웨어에 대한 정보를 획득하도록 구성된다. 여기서 무기체계 소프트웨어란 무기체계 하드웨어에 탑재될 소프트웨어를 지칭하며, 이하에서는 '소프트웨어'라고 지칭하기로 한다.First, the hardware
하드웨어 정보 획득부(100)에 대해 도 2 및 도 3을 참조하여서 보다 구체적으로 살펴보도록 한다. 도 2를 먼저 참조하면, 하드웨어 정보 획득부(100)는 소프트웨어가 탑재될 하드웨어에 대한 makefile(111), project configuration(112) 및 HW information(113) 중 적어도 하나를 파싱(parsing)하고 분석(analysis)할 수 있다. 여기서 도 2에 도시된 정보는 외부의 장치로부터 획득된 것이거나 또는 이하에서 설명될 인터페이스부(200)에 의해 사용자로부터 획득된 것일 수 있다.The hardware
아울러, 도 3을 참조하면, 하드웨어 정보 획득부(100)는 이렇게 파싱 및 분석된 결과를 이용해서 해당 소프트웨어가 탑재될 하드웨어에 대한 아키텍처(121), 컴파일러(122) 및 개발 언어(123)에 대한 정보 중 적어도 하나를 획득할 수 있다. 여기서 도 2와 도 3에 도시된 정보의 종류는 예시적인 것에 불과하다.In addition, referring to FIG. 3, the hardware
인터페이스부(200)는 신뢰성 시험을 수행할 사용자 또는 외부 장치로부터 소정의 입력을 받을 수 있도록 구성된다. 이러한 인터페이스부(200)를 통해 사용자 또는 외부 장치는 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구를 선택할 수 있다.The
여기서, 소프트웨어의 신뢰성 시험에 사용될 수 있는 신뢰성 시험 도구는 정적 시험에 사용될 신뢰성 시험 도구 및 동적 시험에 사용될 신뢰성 시험 도구를 포함할 수 있다. Here, the reliability test tool that can be used for the reliability test of the software may include a reliability test tool to be used for the static test and the reliability test tool to be used for the dynamic test.
이 중 정적 시험이란 시험 대상인 소프트웨어가 실행되지 않은 상태에서 상기 시험 대상인 소프트웨어에 적용된 코딩 규칙, 취약점 및 메트릭 중 적어도 하나를 점검하는 것을 지칭할 수 있다. 여기서 코딩 규칙은 표준 코딩 규칙을 기초로 한 것이고, 취약점은 표준 취약점 점검 규칙을 기초로 한 것이며, 메트릭은 함수 메트릭의 종류 및 제한값을 기초로 한 것일 수 있다.Among these, the static test may refer to checking at least one of a coding rule, a vulnerability, and a metric applied to the test target software while the test target software is not executed. Here, the coding rule is based on a standard coding rule, the vulnerability is based on a standard vulnerability check rule, and the metric may be based on the type and limit value of the function metric.
이와 달리 동적 시험이란 시험 대상인 소프트웨어를 실행한 상태에서 소정의 항목을 점검하는 것을 지칭할 수 있다. 이러한 동적 시험에 사용되는 신뢰성 시험 도구에서는 소프트웨어에서 결함이 발생하는 빈도, 결함의 영향성 및 결함에 대한 제어 가능성 등이 설정될 수 있다. 또한, 동적 시험에 사용되는 신뢰성 시험 도구는 소프트웨어에 포함된 코드 실행률(code coverage)을 선택받을 수 있다. 아울러, 이렇게 선택받은 코드 실행률에 따라 파일 또는 함수 단위로 시험 대상인 소프트웨어에 대한 설정이 수행될 수 있다.On the contrary, the dynamic test may refer to checking a predetermined item while running the software to be tested. In the reliability test tool used in such dynamic tests, the frequency of occurrence of defects in software, the influence of the defects, and the controllability of the defects can be set. In addition, the reliability test tool used in the dynamic test can receive a selection of code coverage included in the software. In addition, according to the code execution rate selected in this way, setting of the software to be tested may be performed in units of files or functions.
데이터베이스부(300)는 정보를 저장하도록 구성된다. 이러한 데이터베이스부(300)에는 예컨대 복수 개의 신뢰성 시험 도구 각각에 대한 시험 규칙 및 설정 파일이 저장된다. 또한, 데이터베이스부(300)에는 하드웨어 정보 획득부(100)가 획득한 하드웨어에 대한 정보가 저장될 수도 있다.The
파일 생성부(400)는 신뢰성 시험 도구에 대한 환경 설정 파일을 생성한다. 구체적으로 살펴보면, 파일 생성부(400)는 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구에 대한 시험 규칙 및 설정 파일, 그리고 하드웨어 정보 획득부(100)가 획득한 하드웨어에 대한 정보를 기초로, 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구에 대한 환경 설정 파일을 생성한다.The
도 4는 일 실시예에 따른 신뢰성 시험 도구 설정 방법의 절차에 대한 예시적인 순서도이다. 이러한 순서도에 도시된 신뢰성 시험 도구 설정 방법은 지금까지 설명된 신뢰성 시험 도구 설정 장치(1000)에 의해 수행될 수 있다. 아울러, 도 4에 도시된 순서도는 예시적인 것에 불과하므로, 신뢰성 시험 도구 설정 방법이 도 4에 도시된 순서도에 의해 한정 해석되는 것은 아니다. 예컨대 신뢰성 시험 도구 설정 방법은 도 4의 순서도에 도시된 순서와는 상이하게 수행될 수 있다.4 is an exemplary flow chart for a procedure of a method for setting a reliability test tool according to an embodiment. The reliability test tool setting method shown in this flow chart may be performed by the reliability test
도 4를 참조하면, 무기체계 소프트웨어가 탑재될 하드웨어에 대한 정보를 획득하는 단계(S100)가 수행된다. 즉, 신뢰성의 시험 대상인 소프트웨어는 소정의 하드웨어에 탑재되게 되는데, 소프트웨어의 신뢰성 시험에는 이러한 하드웨어에 대한 정보가 필요하다. 이러한 단계(S100)는 하드웨어 정보 획득부(100)가 수행할 수 있다.Referring to FIG. 4, a step (S100) of acquiring information on hardware on which the weapon system software is to be mounted is performed. That is, software, which is a reliability test object, is mounted on predetermined hardware, and information on such hardware is required for the reliability test of software. This step S100 may be performed by the hardware
여기서, 단계 S100에 의해 획득 가능한 정보의 종류에는 도 3에 도시된 것과 같이 하드웨어에 대한 아키텍처(121), 컴파일러(122) 및 개발 언어(123)에 대한 정보 중 적어도 하나가 포함될 수 있으며 다만 이에 한정되는 것은 아니다. 이렇게 하드웨어 정보 획득부(100)가 획득한 정보는 파일 생성부(400)에게 전달된다.Here, the type of information that can be obtained by step S100 may include at least one of information on the
아울러, 이렇게 하드웨어 정보를 획득하는 과정에서 하드웨어 정보 획득부(100)는 다양한 정보를 파싱하고 분석할 수 있다. 여기서 파싱 및 분석의 대상이 되는 정보에는 도 2에 도시된 것과 같이 소프트웨어가 탑재될 하드웨어에 대한 makefile(111), project configuration(112) 및 HW information(113) 중 적어도 하나가 포함될 수 있으나 이에 한정되는 것은 아니다.In addition, in the process of obtaining hardware information, the hardware
다음으로, 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구를 입력받는 단계(S200)가 수행된다. 이러한 단계는 인터페이스부(200)에 의해 수행될 수 있다.Next, a step (S200) of receiving a reliability test tool to be used for a reliability test of software is performed. This step may be performed by the
다음으로, 입력받은 신뢰성 시험 도구에 대한 시험 규칙 및 설정 파일을 데이터베이스부(300)로부터 획득하는 단계(S300)가 수행된다.Next, a step (S300) of obtaining a test rule and a setting file for the received reliability test tool from the
여기서, 데이터베이스부(300)에는 복수 개의 신뢰성 시험 도구 각각에 대한 시험 규칙 및 설정 파일이 저장되어 있다. 즉, 데이터베이스부(300)에는 전술한 정적 시험에 사용되는 신뢰성 시험 도구 및 동적 시험에 사용되는 신뢰성 시험 도구 각각에 대한 시험 규칙과 설정 파일이 저장되어 있다. Here, the
여기서 각각의 신뢰성 시험 도구에 대한 시험 규칙과 설정 파일은 서로 상이할 수 있다. Here, test rules and configuration files for each reliability test tool may be different from each other.
예컨대 정적 시험에 대해 살펴보면, 정적 시험에서는 코딩 규칙이 검증될 수 있는데, 데이터베이스부(300)에는 코딩 규칙 중 하나인 표준 코딩 규칙(DAPA SCR-G 방위사업청 코딩 규칙, MISRA Motor Industry Software Reliability Association, -C, C++ JSF++ Joint Strike Fighter Air Vehicle C++, Code Conventions for the Java Programming Language(Oracle), C# Coding conventions(Microsoft))의 전체 또는 일부가 테일러링된 것이 시험 규칙으로서 저장될 수 있다.For example, when looking at the static test, the coding rule may be verified in the static test, and the
또한 정적 시험에서는 취약점이 점검될 수 있는데, 데이터베이스부(300)에는 이러한 취약점 중 하나인 표준 취약점 점검 규칙(CWE Common Weakness Enumeration-658/659/660)의 전체 또는 일부가 테일러링된 것이 시험 규칙으로서 저장될 수 있다.In addition, vulnerabilities can be checked in the static test, and the
또한 정적 시험에서는 메트릭이 점검될 수 있는데, 데이터베이스부(300)에는 이러한 메트릭 중 하나인 함수 메트릭의 종류(Cyclomatic Complexity, Call Levels, Function Parameters, Calling Functions, Called Functions, Executable Code Lines) 및 제한 값이 테일러링된 것이 시험 규칙으로서 저장될 수 있다.In addition, a metric can be checked in a static test, and the
다음으로 동적 시험에 대해 살펴보면, 동적 시험에서는 소프트웨어에서 결함이 발생하는 빈도, 결함의 영향성 및 결함에 대한 제어 가능성이 설정될 수 있는데, 데이터베이스부(300)에는 이와 관련된 사항들이 저장될 수 있다. 또한 동적 시험에서는 코드 실행률(code coverage)이 선택될 수 있고 이렇게 선택받은 코드 실행률에 따라 파일 또는 함수 단위로 시험 대상에 대한 설정이 수행될 수 있는데, 데이터베이스부(300)에는 이와 관련된 사항들이 저장될 수 있다.Next, referring to the dynamic test, in the dynamic test, the frequency of occurrence of defects in the software, the influence of the defect, and the controllability of the defect may be set, and related matters may be stored in the
다음으로, 단계 S100에서 획득된 하드웨어에 대한 정보 및 S300에서 획득된 시험 규칙/설정 파일에 대한 정보를 기초로, 신뢰성 시험 도구에 대한 환경 설정 파일을 생성하는 단계(S400)가 수행된다. 이러한 단계 S400은 파일 생성부(400)에 의해 수행 가능하다.Next, based on the information on the hardware obtained in step S100 and the information on the test rule/configuration file obtained in S300, a step (S400) of generating an environment setting file for the reliability test tool is performed. This step S400 can be performed by the
도 5 내지 7는 단계 S200과 S300에서 수행 가능한 상세한 순서도이다. 이하 도 5 내지 7을 참조하여서 살펴보기로 하되, 본 발명의 사상이 도 5 내지 7에 도시된 것으로 한정 해석되는 것은 아니다.5 to 7 are detailed flowcharts that can be performed in steps S200 and S300. Hereinafter, it will be described with reference to FIGS. 5 to 7, but the spirit of the present invention is not limited to those illustrated in FIGS. 5 to 7.
도 5를 먼저 참조하면, 인터페이스부(200)를 통해 신뢰성 시험에 사용될 신뢰성 시험 도구를 선택하는 과정이 수행될 수 있다(S201). 만약 정적 시험용 신뢰성 시험 도구가 선택되었다면, 인터페이스부(200)를 통해 세부 시험 모드에 대해서 입력받는 과정이 수행될 수 있고(S202), 이 경우 코딩 규칙을 선택하는 과정(S203)이 수행될 수 있다.Referring first to FIG. 5, a process of selecting a reliability test tool to be used for the reliability test may be performed through the interface unit 200 (S201 ). If the reliability test tool for the static test is selected, a process of receiving input for a detailed test mode through the
단계 S203에서 선택 가능한 코딩 규칙에는 DAPA SCR-G(S204), MISRA(S206) 또는 coding convention(S208)이 있을 수 있으며, 각 경우에는 rule set이 세부적으로 설정될 수 있다(S205, S207, S209). 그러나 단계 S204, S206, S208 중 에서 어떠한 코딩 규칙도 선택되지 않았거나 단계 S204, S206 및 S208 중 어디에도 속하지 않은 코딩 규칙이 선택된 경우라면 예외 처리 과정(S210)이 수행될 수 있다.The coding rules selectable in step S203 may include DAPA SCR-G (S204), MISRA (S206), or coding convention (S208), and in each case, a rule set may be set in detail (S205, S207, S209). . However, if no coding rule is selected among steps S204, S206, and S208, or if a coding rule that does not belong to any of steps S204, S206 and S208 is selected, an exception processing process (S210) may be performed.
단계 S205, S207 및 S209 중 어느 하나가 수행되고 나면, 수행 결과인 세부 설정 사항은 데이터베이스부(300)에 저장될 수 있다(S211). 만약 계속해서 설정이 필요하다면 다시 S201부터의 단계가 수행된다. 그러나 계속해서 설정이 필요하지 않다면 도 4에 도시된 단계 S400으로 가게 된다.After any one of steps S205, S207, and S209 is performed, detailed setting details as a result of the execution may be stored in the database unit 300 (S211). If setting is continuously required, the steps from S201 are performed again. However, if the setting is not required continuously, the process goes to step S400 shown in FIG.
한편, 단계 S202에서 세부 시험 모드가 선택되지 않은 경우에는 도 6에 도시된 과정이 수행된다. 도 6을 참조하면, 취약점 점검인지(S230) 아니면 메트릭 점검인지(S232)가 체크되고, 각각의 경우에 rule set이 세부적으로 설정되어서 저장될 수 있다(S231, S233, S234).On the other hand, when the detailed test mode is not selected in step S202, the process shown in FIG. 6 is performed. Referring to FIG. 6, whether it is a vulnerability check (S230) or a metric check (S232) is checked, and in each case, a rule set may be set and stored in detail (S231, S233, S234).
그러나, 취약점 점검도 아니고 메트릭 점검도 아닌 경우라면 예외처리 과정(S235)이 수행된다However, in the case of neither vulnerability check nor metric check, exception handling process (S235) is performed.
이 후 계속해서 설정이 필요하다면 다시 단계 S201부터 수행된다. 그러나 계속해서 설정이 필요하지 않다면 도 4에 도시된 단계 S400으로 가게 된다.After that, if the setting is continuously required, it is performed again from step S201. However, if the setting is not required continuously, the process goes to step S400 shown in FIG.
한편, 단계 S201에서 정적 시험용 신뢰성 도구가 아닌 동적 시험용 신뢰성 도구가 선택될 수도 있다. 이 경우에는 도 7에 도시된 과정이 수행될 수 있다.Meanwhile, in step S201, a reliability tool for dynamic testing rather than a reliability tool for static testing may be selected. In this case, the process shown in FIG. 7 may be performed.
도 7을 참조하여 살펴보면, 동적 시험용 신뢰성 시험 도구가 선택된 경우 시험 세부 기준이 설정되고(S240), 코드 실행률(code coverage)이 선택된다(S241). Referring to FIG. 7, when a reliability test tool for dynamic testing is selected, detailed test criteria are set (S240), and code coverage is selected (S241).
단계 S240과 S241에서 선택된 결과에 따라, statement인 경우(S242), branch인 경우(S243) 또는 MC/DC(S244)인 경우가 있을 수 있다. 각각의 경우에 대해 시험 대상 파일 또는 함수 단위로 시험 대상에 대한 세부 사항이 설정되고 저장될 수 있다(S245, S246). 그러나, 단계 S240과 S241에서 선택된 결과에 따라, statement, branch 및 MC/DC 중 어느 것도 아닌 경우 예외처리 과정(S247)이 수행될 수 있다.According to the result selected in steps S240 and S241, there may be a statement (S242), a branch (S243), or an MC/DC (S244). In each case, details of the test object may be set and stored in a test object file or function unit (S245, S246). However, according to the result selected in steps S240 and S241, if none of the statement, branch, and MC/DC are used, the exception processing process S247 may be performed.
이 후 계속해서 설정이 필요하다면 단계 S201 전으로 돌아가서 S201부터의 단계가 수행된다. 그러나 계속해서 설정이 필요하지 않다면 도 4에 도시된 단계 S400으로 가게 된다.After that, if setting is continuously required, the process returns to before step S201 and steps from S201 are performed. However, if the setting is not required continuously, the process goes to step S400 shown in FIG.
이상에서 살펴본 바와 같이, 일 실시예에 따르면 무기체계 소프트웨어에 대한 신뢰성 시험 도구가 자동으로 설정될 수 있다. 즉, 사용자 또는 외부 장치가 신뢰성 시험 도구를 선택하기만 하면, 선택된 신뢰성 시험 도구에 필요한 시험 규칙과 설정 파일이 획득되고 이를 기초로 해당 신뢰성 시험 도구에 필요한 환경 설정 파일이 생성될 수 있다. 이에 따르면, 무기체계 소프트웨어에 대한 신뢰성 시험 도구의 환경 설정에 소요되는 많은 리소스들이 효과적으로 관리될 수 있다.As described above, according to an embodiment, a reliability test tool for weapon system software may be automatically set. That is, if a user or an external device simply selects a reliability test tool, a test rule and a setting file necessary for the selected reliability test tool are obtained, and an environment setting file necessary for the reliability test tool may be generated based on this. According to this, many resources required for environment setting of a reliability test tool for weapon system software can be effectively managed.
한편, 이러한 일 실시예에 따른 방법은 이러한 방법의 각 단계를 수행하도록 프로그램된 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램의 형태로 구현 가능하고, 또한 이러한 방법의 각 단계를 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체의 형태로 구현 가능하다.On the other hand, the method according to this embodiment can be implemented in the form of a computer program stored in a computer-readable recording medium programmed to perform each step of the method, and also includes a computer program programmed to perform each step of the method. It can be implemented in the form of a computer-readable recording medium to store.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential quality of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
100 : 신뢰성 시험 도구 설정 장치100: reliability test tool setting device
Claims (13)
복수 개의 신뢰성 시험 도구 중에서 상기 무기체계 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구에 대한 정보를 입력받는 인터페이스부와,
상기 복수 개의 신뢰성 시험 도구 각각에 대한 시험 규칙 및 설정 파일을 저장하는 데이터베이스부와,
상기 입력받은 정보에 대응되는 신뢰성 시험 도구에 대한 시험 규칙 및 설정 파일을 상기 데이터베이스부로부터 획득하고, 상기 하드웨어 정보 획득부가 획득한 상기 하드웨어에 대한 정보, 상기 획득된 시험 규칙 및 상기 획득된 설정 파일을 기초로 상기 입력받은 정보에 대응되는 신뢰성 시험 도구에 대한 환경 설정 파일을 생성하는 파일 생성부를 포함하는
신뢰성 시험 도구 설정 장치.A hardware information acquisition unit that acquires information on hardware on which the weapon system software is to be installed,
An interface unit that receives information on a reliability test tool to be used for a reliability test of the weapon system software among a plurality of reliability test tools;
A database unit for storing test rules and setting files for each of the plurality of reliability test tools;
Obtain a test rule and a setting file for a reliability test tool corresponding to the inputted information from the database unit, and obtain the information on the hardware obtained by the hardware information acquisition unit, the obtained test rule and the obtained setting file Including a file generator for generating an environment setting file for the reliability test tool corresponding to the received information on the basis
Reliability test tool setting device.
상기 복수 개의 신뢰성 시험 도구는
정적 시험에 사용되는 신뢰성 시험 도구 및 동적 시험에 사용되는 신뢰성 시험 도구를 포함하는
신뢰성 시험 도구 설정 장치.The method of claim 1,
The plurality of reliability test tools
Containing reliability test tools used for static tests and reliability test tools used for dynamic tests
Reliability test tool setting device.
상기 정적 시험에 사용되는 신뢰성 시험 도구는,
시험 대상인 무기체계 소프트웨어를 실행하지 않은 상태에서 상기 시험 대상인 무기체계 소프트웨어에 적용된 코딩 규칙, 취약점 및 메트릭 중 적어도 하나를 점검하는
신뢰성 시험 도구 설정 장치.The method of claim 2,
The reliability test tool used in the static test,
Checking at least one of the coding rules, vulnerabilities, and metrics applied to the test target weapon system software without executing the test target weapon system software
Reliability test tool setting device.
상기 코딩 규칙은,
표준 코딩 규칙을 기초로 한 것인
신뢰성 시험 도구 설정 장치.The method of claim 3,
The coding rules are:
Is based on standard coding rules
Reliability test tool setting device.
상기 취약점은,
표준 취약점 점검 규칙을 기초로 한 것인
신뢰성 시험 도구 설정 장치.The method of claim 3,
The above vulnerability is:
Based on standard vulnerability check rules
Reliability test tool setting device.
상기 메트릭은,
함수 메트릭의 종류 및 제한값을 기초로 한 것인
신뢰성 시험 도구 설정 장치.The method of claim 3,
The metric is:
Is based on the type and limit of the function metric
Reliability test tool setting device.
상기 동적 시험에 사용되는 신뢰성 시험 도구는,
시험 대상인 무기체계 소프트웨어를 실행한 상태에서 소정의 항목을 점검하는
신뢰성 시험 도구 설정 장치.The method of claim 2,
The reliability test tool used in the dynamic test,
Checking certain items while running the weapon system software to be tested
Reliability test tool setting device.
상기 동적 시험에 사용되는 신뢰성 시험 도구는,
시험 대상인 무기체계 소프트웨어에서 결함이 발생하는 빈도, 상기 결함의 영향성 및 상기 결함에 대한 제어 가능성을 설정하는
신뢰성 시험 도구 설정 장치.The method of claim 2,
The reliability test tool used in the dynamic test,
To set the frequency of occurrence of defects in the weapon system software to be tested, the influence of the defects, and the controllability of the defects
Reliability test tool setting device.
상기 동적 시험에 사용되는 신뢰성 시험 도구는,
시험 대상인 무기체계 소프트웨어에 포함된 코드 실행률(code coverage)을 선택받는
신뢰성 시험 도구 설정 장치.The method of claim 2,
The reliability test tool used in the dynamic test,
To receive a selection of code coverage included in the weapon system software to be tested
Reliability test tool setting device.
상기 동적 시험에 사용되는 신뢰성 시험 도구는,
상기 선택받은 코드 실행률에 따라 파일 또는 함수 단위로 상기 시험 대상인 무기쳬게 소프트웨어에 대한 설정을 수행하는
신뢰성 시험 도구 설정 장치.The method of claim 9,
The reliability test tool used in the dynamic test,
Depending on the selected code execution rate, setting the test target software indefinitely in units of files or functions
Reliability test tool setting device.
무기체계 소프트웨어가 탑재될 하드웨어에 대한 정보를 획득하는 단계와,
복수 개의 신뢰성 시험 도구 중에서 상기 무기체계 소프트웨어의 신뢰성 시험에 사용될 신뢰성 시험 도구에 대한 정보를 입력받는 단계와,
상기 입력받은 정보에 대응되는 신뢰성 시험 도구에 대한 시험 규칙 및 설정 파일을 획득하는 단계와,
상기 획득된 상기 하드웨어에 대한 정보, 상기 획득된 시험 규칙 및 상기 획득된 설정 파일을 기초로 상기 입력받은 정보에 대응되는 신뢰성 시험 도구에 대한 환경 설정 파일을 생성하는 파일 생성부를 포함하는
신뢰성 시험 도구 설정 방법.As a reliability test tool setting method performed by the reliability test tool setting device,
Obtaining information on the hardware on which the weapon system software will be installed,
Receiving information on a reliability test tool to be used for a reliability test of the weapon system software among a plurality of reliability test tools; and
Obtaining a test rule and a setting file for a reliability test tool corresponding to the input information;
And a file generator for generating an environment setting file for a reliability test tool corresponding to the received information based on the acquired information on the hardware, the acquired test rule, and the acquired setting file.
How to set up a reliability test tool.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190035368A KR102185293B1 (en) | 2019-03-27 | 2019-03-27 | Apparatus and method for automatically setting reliability test tool |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190035368A KR102185293B1 (en) | 2019-03-27 | 2019-03-27 | Apparatus and method for automatically setting reliability test tool |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200114144A true KR20200114144A (en) | 2020-10-07 |
KR102185293B1 KR102185293B1 (en) | 2020-12-01 |
Family
ID=72883369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190035368A KR102185293B1 (en) | 2019-03-27 | 2019-03-27 | Apparatus and method for automatically setting reliability test tool |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102185293B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102390280B1 (en) * | 2021-12-08 | 2022-04-22 | 한화시스템(주) | Automation apparatus and method for cyber security risk management in development life cycle of weapon system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080068385A (en) * | 2007-01-19 | 2008-07-23 | 슈어소프트테크주식회사 | Program test system, method and computer readable medium on which program for executing the method is recorded |
KR20110072989A (en) | 2009-12-23 | 2011-06-29 | 엘지전자 주식회사 | Software test apparatus |
KR20110124034A (en) * | 2010-05-10 | 2011-11-16 | 국방과학연구소 | Method for automated interoperability test for messages based weapon system, and system using the same |
KR101777387B1 (en) * | 2017-03-28 | 2017-09-26 | 엘아이지넥스원 주식회사 | Apparatus for analyzing data based on failure period |
KR20180084385A (en) * | 2017-01-17 | 2018-07-25 | 한국항공우주산업 주식회사 | Management system and method of ATE based on database |
KR101884908B1 (en) * | 2018-01-18 | 2018-08-02 | 엘아이지넥스원 주식회사 | Big Data Analytics Based Reliability Prediction Apparatus |
KR101884907B1 (en) * | 2018-01-18 | 2018-08-29 | 엘아이지넥스원 주식회사 | Big Data Analytics Based Reliability Prediction Method |
-
2019
- 2019-03-27 KR KR1020190035368A patent/KR102185293B1/en active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080068385A (en) * | 2007-01-19 | 2008-07-23 | 슈어소프트테크주식회사 | Program test system, method and computer readable medium on which program for executing the method is recorded |
KR20110072989A (en) | 2009-12-23 | 2011-06-29 | 엘지전자 주식회사 | Software test apparatus |
KR20110124034A (en) * | 2010-05-10 | 2011-11-16 | 국방과학연구소 | Method for automated interoperability test for messages based weapon system, and system using the same |
KR20180084385A (en) * | 2017-01-17 | 2018-07-25 | 한국항공우주산업 주식회사 | Management system and method of ATE based on database |
KR101777387B1 (en) * | 2017-03-28 | 2017-09-26 | 엘아이지넥스원 주식회사 | Apparatus for analyzing data based on failure period |
KR101884908B1 (en) * | 2018-01-18 | 2018-08-02 | 엘아이지넥스원 주식회사 | Big Data Analytics Based Reliability Prediction Apparatus |
KR101884907B1 (en) * | 2018-01-18 | 2018-08-29 | 엘아이지넥스원 주식회사 | Big Data Analytics Based Reliability Prediction Method |
Non-Patent Citations (1)
Title |
---|
이태호 외, ‘무기체계 소프트웨어 신뢰성 시험 현황 및 발전 방향’, 한국정보보호학회, 2018.12* * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102390280B1 (en) * | 2021-12-08 | 2022-04-22 | 한화시스템(주) | Automation apparatus and method for cyber security risk management in development life cycle of weapon system |
Also Published As
Publication number | Publication date |
---|---|
KR102185293B1 (en) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9547579B1 (en) | Method and apparatus for automatically detecting defects | |
US9684584B2 (en) | Managing assertions while compiling and debugging source code | |
US9747187B2 (en) | Simulating black box test results using information from white box testing | |
US10152406B2 (en) | Software program repair | |
US9703552B2 (en) | Assertions based on recently changed code | |
US8387017B2 (en) | Black box testing optimization using information from white box testing | |
US20130275946A1 (en) | Systems and methods for test development process automation for a test harness | |
US9823904B2 (en) | Managed assertions in an integrated development environment | |
US20100192128A1 (en) | System and methods of using test points and signal overrides in requirements-based test generation | |
US9747082B2 (en) | Optimizing program performance with assertion management | |
US8671397B2 (en) | Selective data flow analysis of bounded regions of computer software applications | |
CN107678973B (en) | Automatic generation method and system of test script | |
KR20160044305A (en) | Apparatus and method for unit test of code | |
US11888885B1 (en) | Automated security analysis of software libraries | |
US11080179B2 (en) | Device, system, and method for automatically detecting and repairing a bug in a computer program using a genetic algorithm | |
CN109614107B (en) | Integration method and device of software development kit | |
KR102185293B1 (en) | Apparatus and method for automatically setting reliability test tool | |
KR102304861B1 (en) | Apparatus and method for detecting firmware vulnerabiliry based on hybrid fuzzing | |
CN109960656B (en) | Program detection method and device and electronic equipment | |
CN108132799B (en) | Inter-process static program analysis information extraction method, device and equipment | |
US20160004630A1 (en) | Opportunistic error injection | |
US20210349808A1 (en) | Source quality check service | |
Maras et al. | Towards specifying pragmatic software reuse | |
Ueda et al. | How is if statement fixed through code review? a case study of qt project | |
Guzman et al. | Test4enforcers: Test case generation for software enforcers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |