KR102042996B1 - Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same - Google Patents

Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same Download PDF

Info

Publication number
KR102042996B1
KR102042996B1 KR1020170068318A KR20170068318A KR102042996B1 KR 102042996 B1 KR102042996 B1 KR 102042996B1 KR 1020170068318 A KR1020170068318 A KR 1020170068318A KR 20170068318 A KR20170068318 A KR 20170068318A KR 102042996 B1 KR102042996 B1 KR 102042996B1
Authority
KR
South Korea
Prior art keywords
code
coverage
command address
information
analysis information
Prior art date
Application number
KR1020170068318A
Other languages
Korean (ko)
Other versions
KR20180131784A (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 슈어소프트테크주식회사
Priority to KR1020170068318A priority Critical patent/KR102042996B1/en
Publication of KR20180131784A publication Critical patent/KR20180131784A/en
Application granted granted Critical
Publication of KR102042996B1 publication Critical patent/KR102042996B1/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/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler

Abstract

본 발명의 실시예 따라, 임베디드 보드 및 상기 임베디드 보드로부터 추출한 데이터를 코드 커버리지 측정 장치에 전송하기 위한 명령주소 추출장치를 이용하여 코드 커버리지를 측정하는 코드 커버리지 측정 장치에 있어서, 소스코드 분석정보를 생성하기 위한 소스코드 분석부, 상기 소스코드를 빌드하여 생성된 이진코드에 대한 이진코드 분석정보를 생성하기 위한 이진코드 분석부, 상기 이진코드가 상기 임베디드 보드로 카피되어 생성된 카피이진코드가 실행되어 상기 카피이진코드에 대응하는 명령주소가 생성된 후, 상기 명령주소 추출장치에 의해 추출된 상기 명령주소를 상기 명령주소 추출장치로부터 수신하여 명령주소 분석정보를 생성하는 명령주소 분석부; 및 상기 소스코드를 상기 소스코드 분석정보, 상기 이진코드 분석정보 및 상기 명령주소 분석정보를 이용하여 상기 소스코드의 커버리지를 측정하는 커버리지 측정부;를 포함하는, 코드 커버리지 측정 장치임을 특징으로 한다.According to an embodiment of the present invention, a code coverage measurement apparatus for measuring code coverage by using an embedded board and a command address extractor for transmitting data extracted from the embedded board to a code coverage measurement apparatus, generating source code analysis information. Source code analysis unit for generating, binary code analysis unit for generating binary code analysis information for the binary code generated by building the source code, the copy code generated by copying the binary code to the embedded board is executed A command address analyzer configured to generate command address analysis information by receiving the command address extracted by the command address extracting device from the command address extracting device after the command address corresponding to the copy binary code is generated; And a coverage measurement unit which measures the coverage of the source code using the source code analysis information, the binary code analysis information, and the command address analysis information.

Description

탐침을 이용하지 않는 코드 커버리지 측정 방법 및 장치, 그리고 이를 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체{METHOD AND APPARATUS FOR MEASURING CODE COVERAGE NOT BY USING PROBES AND COMPUTER READABLE RECORDING MEDIUM HAVING PROGRAM THE SAME}METHOD AND APPARATUS FOR MEASURING CODE COVERAGE NOT BY USING PROBES AND COMPUTER READABLE RECORDING MEDIUM HAVING PROGRAM THE SAME}

본 발명은 코드 커버리지 측정 방법 및 장치에 관한 것으로, 소스코드를 소스코드 분석정보, 이진코드 분석정보 및 명령주소 분석정보를 이용하여 소스코드의 커버리지를 측정하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for measuring code coverage, and more particularly, to a method and apparatus for measuring coverage of a source code using source code analysis information, binary code analysis information, and command address analysis information.

종래에는 사용자가 프로그램 개발 과정에서, 개발중인 프로그램의 검증을 위해 작성된 소스 코드에 대한 테스트 수행 정도를 확인하는 과정이 수행되었다. 예를 들어, 프로그램 설계의 실수나 미처 생각하지 못한 변수 등에 의해서 프로그램은 작성자의 의도와 다르게 또는 비효율적으로 동작할 가능성이 있다. 프로그램이 원하지 않는 결과를 내는 것을 버그(Bug) 또는 프로그램 오류(Error)라고 부른다. 이런 버그 또는 프로그램 오류를 막기 위해 프로그램 개발을 할 때에 테스트 과정이 반드시 필요하다. 이러한 의미에서 프로그램이 충분히 검증되었는지 수치로 확인 하는 동적 테스트 측정 장치가 주목되고 있다. In the related art, a process of checking a test performance of a source code written for verifying a program under development is performed by a user in a program development process. For example, it is possible for a program to operate differently or inefficiently due to a program design mistake or an unexpected variable. When a program produces unwanted results, it is called a bug or program error. In order to prevent such bugs or program errors, a test process is essential when developing a program. In this sense, attention has been paid to dynamic test measurement devices that verify numerically that a program has been fully validated.

이러한 동적 테스트 장치의 경우, 종래에는 테스트를 수행하고자 하는 원본 소스코드에 탐침(probe)을 삽입하여 코드 커버리지를 측정하곤 하였다. 그러나, 이러한 탐침 삽입으로 인하여, 제한된 메모리 용량을 초과하여 코드 커버리지 측정을 할 수 없었다. 특히, 임베디드 시스템을 이용하는 경우, 이진코드의 크기가 임베디드 보드 내의 메모리(ROM) 을 초과하여 코드 커버리지를 측정할 수 없거나 수행 속도 지연으로 인하여 이상 동작을 초래할 수 있다는 문제점이 있었다. In the case of such a dynamic test apparatus, conventionally, a code coverage was measured by inserting a probe into an original source code to be tested. However, this probe insertion prevented code coverage measurements from exceeding the limited memory capacity. In particular, when using an embedded system, there is a problem that the size of the binary code exceeds the memory (ROM) in the embedded board can not measure the code coverage or cause abnormal operation due to the execution speed delay.

본 발명은 전술한 문제점을 해결하기 위해 도출된 것으로, 본 발명은 코드 커버리지 측정 장치에서 코드 커버리지 측정시 탐침 코드를 활용하지 않음으로써, 기존에 탐침을 삽입하여 커버리지 측정이 불가능했던 대상들까지 모두 측정할 수 있게 하는 데에 그 목표가 있다.The present invention was derived to solve the above problems, the present invention does not utilize the probe code when measuring the code coverage in the code coverage measurement device, by inserting the probe to measure all the targets previously impossible to measure the coverage The goal is to make it possible.

또한, 본 발명은, 코드 커버리지 측정 주체(이하, 커버리지 측정부)와 탐침을 대신한 명령주소를 생성하기 위한 주체(이하, 명령주소 추출장치)를 분리함으로써, 커버리지 측정 대상이 메모리 용량을 초과하지 않도록 할 수 있으며, 커버리지 측정시 수행 속도가 지연되는 것을 최소화 하는 데에 또한 그 목표가 있다. In addition, the present invention separates a code coverage measurement subject (hereinafter, referred to as a coverage measurement unit) and a subject (hereinafter, referred to as an instruction address extractor) for generating a command address in place of the probe so that the coverage measurement object does not exceed the memory capacity. The goal is also to minimize delays in the performance of coverage measurements.

본 발명의 일 실시예에 따르면, 임베디드 보드 및 상기 임베디드 보드로부터 추출한 데이터를 코드 커버리지 측정 장치에 전송하기 위한 명령주소 추출장치를 이용하여 코드 커버리지를 측정하는 코드 커버리지 측정 장치에 있어서, 소스코드 분석정보를 생성하기 위한 소스코드 분석부; According to an embodiment of the present invention, a code coverage measurement apparatus for measuring code coverage by using an embedded board and a command address extractor for transmitting data extracted from the embedded board to a code coverage measurement apparatus, the source code analysis information Source code analysis unit for generating a;

상기 소스코드를 빌드하여 생성된 이진코드에 대한 이진코드 분석정보를 생성하기 위한 이진코드 분석부; 상기 이진코드가 상기 임베디드 보드로 카피되어 생성된 카피이진코드가 실행되어 상기 카피이진코드에 대응하는 명령주소가 생성된 후, 상기 명령주소 추출장치에 의해 추출된 상기 명령주소를 상기 명령주소 추출장치로부터 수신하여 명령주소 분석정보를 생성하는 명령주소 분석부; 및 상기 소스코드를 상기 소스코드 분석정보, 상기 이진코드 분석정보 및 상기 명령주소 분석정보를 이용하여 상기 소스코드의 커버리지를 측정하는 커버리지 측정부;를 포함하는, 코드 커버리지 측정 장치임을 특징으로 한다.A binary code analysis unit for generating binary code analysis information on the binary code generated by building the source code; After the binary code generated by copying the binary code to the embedded board is executed to generate a command address corresponding to the copy binary code, the command address extracted by the command address extracting device is converted into the command address extracting device. A command address analyzer for generating command address analysis information received from the command address analyzer; And a coverage measurement unit which measures the coverage of the source code using the source code analysis information, the binary code analysis information, and the command address analysis information.

본 발명의 실시예에 따른 코드 커버리지 측정 방법에 의하면, 코드 커버리지 측정 장치에서 코드 커버리지 측정시 탐침 코드를 활용하지 않음으로써, 기존에 탐침을 삽입하여 커버리지 측정이 불가능했던 대상들까지 모두 측정할 수 있게 된다.According to the code coverage measurement method according to the embodiment of the present invention, the code coverage measurement apparatus does not utilize the probe code when measuring the code coverage, and thus it is possible to measure all the targets that were previously impossible to measure by inserting the probe. do.

또한, 코드 커버리지 측정 주체(이하, 커버리지 측정부)와 탐침을 대신한 명령주소를 생성하기 위한 주체(이하, 명령주소 추출장치)를 분리함으로써, 커버리지 측정 대상이 메모리 용량을 초과하지 않도록 할 수 있으며, 커버리지 측정시 수행 속도가 지연되는 것을 최소화할 수 있게 된다.In addition, by separating the code coverage measurement subject (hereafter, the coverage measurement unit) and the subject (hereafter, the command address extractor) for generating the command address in place of the probe, the target of the coverage measurement does not exceed the memory capacity. As a result, the delay of the execution speed during coverage measurement can be minimized.

그리고, 본 발명에 따른 코드 커버리지 측정 방법에 의하면, 코드 커버리지 테스트가 수행된 부분을 다시 테스트하지 않고, 코드가 변경된 부분에 대해서만 테스트를 수행하면 되기 때문에, 소스 코드의 코드 커버리지 측정 시간을 줄일 수 있는 이점이 있다.In addition, according to the code coverage measurement method according to the present invention, since the test only needs to be performed on the portion where the code is changed, instead of retesting the portion where the code coverage test is performed, the code coverage measurement time of the source code can be reduced. There is an advantage.

또한, 출력된 소스코드 정보나 커버리지 정보를 통신부를 통해 외부에 전송함으로서, 외부 사용자도 소스코드에 대한 테스트 수행이나 커버리지 측정을 실시간 모니터링 하고, 해당 결과를 쉽게 확인할 수 있다. In addition, by transmitting the output source code information or coverage information to the outside through the communication unit, an external user can monitor the test performance or measurement of the source code in real time, and can easily check the result.

또한, 본 발명의 코드 커버리지 측정 장치는 사용자의 개입 없이 커버리지를 자동으로 측정하여, 사용자는 테스트 수행에만 집중할 수 있게 된다.In addition, the code coverage measurement apparatus of the present invention automatically measures the coverage without the user's intervention, so that the user can concentrate on performing the test.

도 1은 본 발명의 실시예에 따른 코드 커버리지 측정 시스템에 대한 블록도이다.
도 2는 본 발명의 실시예에 따른 코드 커버리지 측정 방법에 대한 흐름도이다.
도 3은 본 발명의 실시예에 따른 이진코드 분석정보에 대한 예를 나타낸 도면이다.
도 4 및 도 5는 본 발명의 실시예에 따른 코드 커버리지 측정 결과에 대한 예시를 나타낸 도면이다.
1 is a block diagram of a code coverage measurement system according to an embodiment of the present invention.
2 is a flowchart illustrating a code coverage measurement method according to an embodiment of the present invention.
3 is a diagram illustrating an example of binary code analysis information according to an exemplary embodiment of the present invention.
4 and 5 are diagrams showing an example of a code coverage measurement result according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention with respect to one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

이하, 첨부되는 도면을 참조하여 본 발명의 실시예에 따른 코드 커버리지 측정 장치 및 방법에 대해 기술하고자 한다.Hereinafter, an apparatus and method for measuring code coverage according to an embodiment of the present invention will be described with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 코드 커버리지 측정 시스템에 대한 블록도이다. 도 1a 및 도 b를 도시하였으나, 이는 도 2의 코드 커버리지 측정 방법을 기술하기 위해 다른 방식으로 도면화한 것이며, 도 1a 및 도 b는 동일한 사상을 포함한다.1 is a block diagram of a code coverage measurement system according to an embodiment of the present invention. Although FIG. 1A and FIG. B are shown, this is illustrated in another way to describe the code coverage measurement method of FIG. 2, and FIGS. 1A and B include the same idea.

도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 코드 커버리지 측정 시스템은 코드 커버리지 측정 장치(100), 임베디드 보드(210), 및 명령주소 추출장치(220)를 포함할 수 있다. 그리고, 코드 커버리지 측정 장치(100)는 제어부(110) 및 메모리(120)를 포함할 수 있으며, 제어부(110)는 소스코드 분석부(111), 이진코드 분석부(112), 명령주소 분석부(113), 및 커버리지 측정부(114)를 포함할 수 있다.As shown in FIG. 1, the code coverage measurement system according to the embodiment of the present invention may include a code coverage measurement device 100, an embedded board 210, and a command address extraction device 220. The code coverage measuring apparatus 100 may include a controller 110 and a memory 120, and the controller 110 may include a source code analyzer 111, a binary code analyzer 112, and a command address analyzer. 113, and a coverage measurement unit 114.

본 발명의 실시예에 따른 코드 커버리지 측정 장치(110)는 본 발명의 실시예를 따를 경우, 개발자 PC, 빌드 서버 또는 워크스테이션 등을 포함할 수 있다. 또한, 코드 커버리지 측정 장치(100)는 소정의 운영체제에 의해 구동되고, 소프트웨어의 설치 및 편집이 가능한 장치로서, 소정의 프로그램 모듈 또는 하드웨어들을 포함한다. 메모리부를 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 기기라면 얼마든지 본 발명의 실시예에 따른 코드 커버리지 측정 장치(100)로서 이용될 수 있다.Code coverage measurement apparatus 110 according to an embodiment of the present invention, according to an embodiment of the present invention, may include a developer PC, a build server or a workstation. In addition, the code coverage measuring apparatus 100 is a device which is driven by a predetermined operating system and which can install and edit software, and includes predetermined program modules or hardware. Any device having a memory unit and a microprocessor can be used as the code coverage measuring apparatus 100 according to an exemplary embodiment of the present invention.

코드 커버리지(code coverage)는 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타내는 지표중 하나이다. 즉, 소프트웨어 테스트를 진행했을 때 코드 자체가 얼마나 실행되었냐는 것이다. 따라서, 테스트 진행 결과, 실행 부분과 미실행 부분을 포함할 수 있으며, 전체 코드 중에 실행 부분을 코드 커버리지로 정의한다. 특히, 본 발명의 실시예에 따를 경우, 코드 커버리지는 코드 전체에 대한 실행 비율 정보인 전체 커버리지 정보와 변경 부분에 대한 실행 비율 정보인 변경 커버리지 정보를 포함할 수 있다.Code coverage is one of the indicators of how good a test is when discussing a test of software. In other words, how much of the code itself was executed when testing software. Therefore, as a result of the test, the execution part and the non-execution part may be included, and the execution part of the entire code is defined as code coverage. In particular, according to an embodiment of the present invention, the code coverage may include full coverage information, which is execution rate information for the entire code, and change coverage information, which is execution rate information for the changed part.

본 발명의 실시예에 따른 임베디드 보드(210)는 ROM, RAM, CPU등을 포함하여 일반적인 PC가 아닌 공장자동화기계, 의료장비, 자동차, 에어컨, 냉장고 등을 제어하는 시스템에 이용되는 보드를 의미한다. 임베디드 보드(210)는 명령주소를 생성하며, 명령주소 추출장치(220)는 임베디드 보드(210)로부터 명령주소를 추출할 수 있고, 이렇게 추출된 명령주소를 이용하여 명령주소 분석정보가 생성되어, 생성된 명령주소 분석정보는 코드 커버리지 측정에 이용될 수 있다. 이에 대한 자세한 설명은 후술하기로 한다. Embedded board 210 according to an embodiment of the present invention refers to a board used in a system for controlling factory automation machines, medical equipment, automobiles, air conditioners, refrigerators, etc., not a general PC, including ROM, RAM, CPU, etc. . The embedded board 210 generates a command address, the command address extracting device 220 may extract a command address from the embedded board 210, and the command address analysis information is generated using the extracted command address. The generated command address analysis information may be used for code coverage measurement. Detailed description thereof will be described later.

코드 커버리지 측정 장치(100)의 제어부(110)는 코드 커버리지를 측정하기 위한 시스템의 전반적인 제어를 담당하며, 소스코드 분석부(111), 이진코드 분석부(112), 명령주소 분석부(113), 및 커버리지 측정부(114)를 포함할 수 있다. The control unit 110 of the code coverage measurement apparatus 100 is responsible for the overall control of the system for measuring the code coverage, the source code analysis unit 111, binary code analysis unit 112, command address analysis unit 113 , And the coverage measurement unit 114.

소스코드 분석부(111)는 소스코드 분석정보를 생성하며, 이진코드 분석부(112)는 소스코드를 빌드하여 생성된 이진코드에 대한 이진코드 분석정보를 생성할 수 있다. 명령주소 분석부(113)는 이진코드가 임베디드 보드(210)로 카피되어 생성된 카피이진코드가 실행되어 이러한 카피이진코드에 대응하는 명령주소가 생성된 후, 명령주소 추출장치(220)에 의해 추출된 명령주소를명령주소 추출장치(220)로부터 수신하여 명령주소 분석정보를 생성할 수 있다. 그리고, 커버리지 측정부(114)는 소스코드를 소스코드 분석정보, 이진코드 분석정보 및 명령주소 분석정보를 이용하여 소스코드의 커버리지를 측정할 수 있다.The source code analysis unit 111 generates source code analysis information, and the binary code analysis unit 112 may generate binary code analysis information for the binary code generated by building the source code. The command address analyzer 113 executes a copy binary code generated by copying a binary code to the embedded board 210 to generate a command address corresponding to the copy binary code, and then, by the command address extracting device 220. The command address analysis information may be generated by receiving the extracted command address from the command address extraction device 220. The coverage measurer 114 may measure the coverage of the source code using the source code analysis information, the binary code analysis information, and the command address analysis information.

메모리(120)는 제어부(110)에서 생성된 데이터를 저장하거나, 메모리(120)에 기 저장된 데이터는 제어부(110)로 전송될 수도 있다. 예를 들어, 메모리(120)는 소스코드 원본을 저장할 수 있고, 소스코드 분석정보 및 이진코드 분석정보를 저장할 수 있다. 제어부(110)가 소스코드의 커버리지를 측정하고자 할 경우, 메모리에 기 저장된 소스코드를 소스코드 분석정보 및 이진코드 분석정보와 함께 명령주소 분석 장치(200)를 통해 생성된 명령주소 분석정보를 이용함으로써, 코드 커버리지를 측정할 수 있는 것이다.The memory 120 may store data generated by the controller 110 or data previously stored in the memory 120 may be transmitted to the controller 110. For example, the memory 120 may store an original source code, and store source code analysis information and binary code analysis information. When the control unit 110 is to measure the coverage of the source code, using the command address analysis information generated through the command address analysis device 200 with the source code pre-stored in the memory along with the source code analysis information and binary code analysis information. By doing so, code coverage can be measured.

도 2는 본 발명의 실시예에 따른 코드 커버리지 측정 방법에 대한 흐름도이다.2 is a flowchart illustrating a code coverage measurement method according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 본 발명의 실시예에 따른 소스코드 분석부(111)는 소스코드를 분석하여 소스코드 분석정보를 생성할 수 있다(s210). 여기서 소스코드는 c, c++ 등의 프로그램 언어일 수 있으며, 소스코드 분석부(111)는 파서(parser) 모듈을 포함하며, 소스코드를 구성하는 구성 요소별로 노드에 대한 클래스를 정의하고, 연산자와 피연산자의 자료 유형 정보를 추출하여 노드를 생성하며, 생성된 노드에 기초하여 추상 구문 트리(Abstract Syntax Tree, AST)를 생성할 수 있다. 따라서, 생성된 소스코드 분석정보는 추상 구문 트리 정보를 포함할 수 있다. As shown in Figure 2, the source code analysis unit 111 according to an embodiment of the present invention may generate source code analysis information by analyzing the source code (s210). Here, the source code may be a programming language such as c, c ++, the source code analyzer 111 includes a parser module, defines a class for a node for each component constituting the source code, A node can be generated by extracting data type information of an operand, and an abstract syntax tree (AST) can be generated based on the generated node. Thus, the generated source code analysis information may include abstract syntax tree information.

본 발명의 실시예에 따른 이진코드 분석부(112)는 소스코드를 빌드(build) 또는 컴파일(compile)하여 이진코드를 생성할 수 있으며, 생성된 이진코드에 대한 이진코드 분석정보를 생성할 수 있다(s220). 여기서 이진코드 분석정보는 소스코드의 위치(예, 코딩 라인) 에 대응하는 이진코드의 주소정보를 포함할 수 있다. 즉, 도 3에 도시한 바와 같이, 이진코드 분석정보는/home/pakjea/hw/demo/hello.c 소스코드를 빌드하여 생성된 이진코드 주소정보와 명령어, 그리고 이진코드를 포함할 수 있다. The binary code analysis unit 112 according to an embodiment of the present invention may generate binary code by building or compiling source code, and may generate binary code analysis information on the generated binary code. There is (s220). The binary code analysis information may include address information of a binary code corresponding to a location (eg, a coding line) of a source code. That is, as shown in FIG. 3, the binary code analysis information may include binary code address information, instructions, and binary codes generated by building the /home/pakjea/hw/demo/hello.c source code.

이러한 이진코드는 임베디드 보드(210)로 카피될 수 있으며, 카피로 생성된 카피이진코드는 임베디드 보드(210)에서 실행된다. 임베디드 보드(210)는 ROM, RAM, CPU등을 포함하며 일반적인 PC가 아닌 공장자동화기계, 의료장비, 자동차, 에어컨, 냉장고 등을 제어하는 시스템에 이용되는 보드를 의미한다. Such binary code may be copied to the embedded board 210, and the copy binary code generated as a copy is executed in the embedded board 210. The embedded board 210 includes a ROM, a RAM, a CPU, and the like, and refers to a board used for a system for controlling a factory automation machine, medical equipment, a car, an air conditioner, a refrigerator, etc., rather than a general PC.

임베디드 보드(210)에서 실행된 카피이진코드는 명령주소 추출장치(220)에 의해 명령주소가 추출되며, 명령주소 분석부(113)는 명령주소 추출장치(220)에 의해 추출된 명령주소를 수신하고, 수신한 명령주소에 대한 명령주소 분석정보를 생성할 수 있다(S240). 구체적으로, 카피이진코드는 임베디드 보드(210)에서 실행되어 카피이진코드에 대응하는 명령주소 가 생성되며, 임베디드 보드(210)에서 생성된 명령주소 가 명령주소 추출장치(220)에 의해 추출될 수 있다. 그리고나서, 명령주소 추출장치(220)에 의해 추출된 명령주소를 명령주소 분석부(113)에서 수신하여 명령주소 분석정보를 생성할 수 있다. 여기서 명령주소는 도 3의 이진코드 주소정보에 매핑되는 정보이며, 명령주소 분석정보는 추출된 명령주소 및 도 3의 기 분석된 이진코드 분석정보 중 일부의 정보(예, 이진코드 및 명령어)와 매핑된 소정의 정보를 포함한 정보일 수 있다.The copy binary code executed in the embedded board 210 is extracted by the command address extraction unit 220, the command address analysis unit 113 receives the command address extracted by the command address extraction unit 220 Then, command address analysis information for the received command address may be generated (S240). Specifically, the copy binary code is executed in the embedded board 210 to generate a command address corresponding to the copy binary code, and the command address generated in the embedded board 210 may be extracted by the command address extracting device 220. have. Thereafter, the command address extracted by the command address extracting device 220 may be received by the command address analyzer 113 to generate command address analysis information. Here, the command address is information mapped to the binary code address information of FIG. 3, and the command address analysis information includes information (eg, binary code and command) of some of the extracted command address and the analyzed binary code analysis information of FIG. 3. It may be information including mapped predetermined information.

이어서, 커버리지 측정부(114)는 소스코드 분석부(111)에 의해 생성된 소스코드 분석정보, 이진코드 분석부(112)에 의해 생성된 이진코드 분석정보, 및 명령주소 분석부(113)에 의해 생성된 명령주소 분석정보를 이용하여 소스코드의 커버리지를 측정할 수 있다(s250). 이러한 소스코드의 커버리지는 소스코드 전부 중 실행된 코드의 비율을 나타내는 정보인 전체 커버리지 정보 및 상기 소스코드의 변경된 변경 부분 중 실행된 코드의 비율을 나타내는 정보인 변경 커버리지 정보를 포함할 수 있다. 또한, 변경 커버리지 정보는 변경 함수 커버리지 및 변경 라인 커버리지 정보를 포함할 수 있다. 이러한 커버리지 정보의 상세한 예에 대해서는 도 4 및 도 5에서 후술한다.Subsequently, the coverage measurement unit 114 supplies the source code analysis information generated by the source code analysis unit 111, the binary code analysis information generated by the binary code analysis unit 112, and the command address analysis unit 113. The coverage of the source code may be measured using the command address analysis information generated by the step S250. The coverage of such source code may include total coverage information, which is information representing a ratio of code executed in all of the source code, and change coverage information, which is information representing the ratio of code executed among changed portions of the source code. In addition, the change coverage information may include change function coverage and change line coverage information. A detailed example of such coverage information will be described later with reference to FIGS. 4 and 5.

또한, 커버리지 측정부(114)는 이진코드 분석부(112)에 의해 생성된 이진코드 분석정보 및 명령주소 분석부(113)에 의해 생성된 명령주소 분석정보를 이용하여 이진코드의 커버리지를 측정할 수도 있다. In addition, the coverage measurement unit 114 may measure the coverage of the binary code by using the binary code analysis information generated by the binary code analyzer 112 and the command address analysis information generated by the command address analyzer 113. It may be.

지금까지는, 코드 커버리지 측정을 위한 과정을 기술하였으며, 이하에서는 코드 커버리지 측정 결과와 이에 대한 분석 과정에 대하여 기술하고자 한다.So far, a process for measuring code coverage has been described. Hereinafter, a result of code coverage measurement and an analysis thereof will be described.

도 4는 도2에서 측정된 소스코드의 커버리지 측정 결과에 대한 예시이며, 도 5는 이에 대한 분석 결과를 나타낸 도면이다.4 is an example of coverage measurement results of the source code measured in FIG. 2, and FIG. 5 is a diagram illustrating an analysis result thereof.

도 4는 변경 부분을 포함하는 소스코드로서, void calculateEmptyBlock 함수가 변경 함수임을 예시한다. 테스트 수행으로 void calculateEmptyBlock 함수가 모두 실행되어, 도 5에 도시한 바와 같이 변경 함수 정보(변경 함수 커버리지)는 100%를 나타낼 수 있다. 도 5는 본 발명의 실시예에 따른 커버리지 정보에 대한 예시로, 도 4의 void calculateEmptyBlock 함수에 포함되는 코딩 라인(149 내지 166)의 전체 개수 중에 실제 실행된 라인들을 변경 라인 정보(변경 라인 커버리지)로 72.73%로 나타낼 수 있다. 좀더 구체적으로, void calculateEmptyBlock 함수에 포함되는 코딩 라인(149 내지 166) 은 테스트 대상이 되는 영역과 테스트 대상이 되지 않는 empty 영역을 포함하며, 코딩 라인 17 개중에 empty 영역인 6개를 제외한 11개가 테스트 대상이 되고, 이중 미실행 라인 3개를 제외한 실제 실행된 라인인 8개에 대한 비율인 72.73%가 도출될 수 있다.4 is a source code including a change part, and illustrates that the void calculateEmptyBlock function is a change function. As a result of the test, all void calculateEmptyBlock functions are executed, and as shown in FIG. 5, the change function information (change function coverage) may represent 100%. FIG. 5 is an example of coverage information according to an embodiment of the present invention. In FIG. 5, lines actually executed among the total number of coding lines 149 to 166 included in the void calculateEmptyBlock function of FIG. 4 are changed line information (change line coverage). 72.73%. More specifically, the coding lines 149 to 166 included in the void calculateEmptyBlock function include an area to be tested and an empty area not to be tested, and 11 of the 17 coding lines except for 6 which are empty areas are tested. A target, 72.73%, can be derived for eight of the actual executed lines except three of the unexecuted lines.

또한, 도 5는 소스코드가 변경 부분을 포함하지 않은 경우, 이러한 소스코드에 대한 전체 커버리지 정보에 포함되는 복수의 정보의 예들을 도시한다.In addition, FIG. 5 shows examples of a plurality of pieces of information included in the overall coverage information for such source code when the source code does not include the change portion.

예를 들어, 함수 커버리지는 소스코드에 포함되는 전체 함수 중 실행 함수의 비율을 나타내고, 라인 커버리지는 전체 함수에 포함되는 코딩 라인중 실행된 라인의 비율을 나타낼 수 있다. 또한, 구문(statement) 커버리지는 ";" 으로 구획되어 정의되는 전체 구문 중 실행 구문의 비율을 나타내고, 조건(condition) 커버리지는 IF, WHILE, FOR, SWITCH 등의 조건으로 구획되어 정의되는 전체 조건문 중에 실행된 조건문의 비율을 나타낼 수 있다. 그밖에, 함수 호출 커버리지는 호출 주체가 되는 함수 중 실행 함수의 비율을 나타내고, 엔트리 커버리지는 호출 대상이 되는, 즉 피호출 함수 중 실행 함수의 비율을 나타낼 수 있다. For example, the function coverage may indicate the ratio of the execution function among the total functions included in the source code, and the line coverage may indicate the ratio of the executed lines among the coding lines included in the entire function. Also, statement coverage is ";" The condition coverage may represent the ratio of execution statements among all statements defined and separated, and the condition coverage may represent the ratio of condition statements executed among all condition statements defined and defined by conditions such as IF, WHILE, FOR, and SWITCH. In addition, the function call coverage may indicate the ratio of the execution function among the functions which are the call subjects, and the entry coverage may indicate the ratio of the execution function among the called functions, that is, the called function.

그리고, 이러한 소스코드 및 전체 및 변경 커버리지 정보는 도 4 및 도 5에 도시한 바와 같은 형태로 웹(web)상에 출력될 수 있다. 본 발명의 실시예에 따른 코드 커버리지 측정 장치(100)는, 출력된 소스코드 정보나 커버리지 정보를 유/무선 네트워크가 연결된 경우, 통신부(미도시)를 통해 외부에 전송할 수 있다. 이로서, 외부 사용자도 소스코드에 대한 테스트 수행이나 커버리지 측정을 실시간 모니터링 함으로써 해당 결과를 쉽게 확인할 수 있다. The source code and the entire and change coverage information may be output on the web in the form as shown in FIGS. 4 and 5. Code coverage measurement apparatus 100 according to an embodiment of the present invention, when the wired / wireless network is connected to the output source code information or coverage information may be transmitted to the outside through a communication unit (not shown). This allows external users to easily verify the results by monitoring the source code and performing real-time monitoring of coverage measurements.

이상 설명된 실시 형태는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. The above-described embodiments may be implemented in the form of program instructions that can be executed by various computer components, and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.

상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.Program instructions recorded on the computer-readable recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the computer software arts.

컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and magneto-optical media such as floptical disks. optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to carry out the process according to the invention, and vice versa.

이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.Features, structures, effects, etc. described in the above embodiments are included in one embodiment of the present invention, and are not necessarily limited to one embodiment. Furthermore, the features, structures, effects, and the like illustrated in the embodiments may be combined or modified with respect to other embodiments by those skilled in the art to which the embodiments belong. Therefore, contents related to such combinations and modifications should be construed as being included in the scope of the present invention.

또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.In addition, the above description has been made with reference to the embodiment, which is merely an example and is not intended to limit the present invention. Those skilled in the art to which the present invention pertains will be illustrated as above without departing from the essential characteristics of the present embodiment. It will be appreciated that various modifications and applications are possible. For example, each component specifically shown in the embodiment can be modified. And differences relating to such modifications and applications will have to be construed as being included in the scope of the invention defined in the appended claims.

Claims (10)

임베디드 보드 및 상기 임베디드 보드로부터 추출한 데이터를 코드 커버리지 측정 장치에 전송하기 위한 명령주소 추출장치를 이용하여 코드 커버리지를 측정하는 코드 커버리지 측정 장치에 있어서,
소스코드 분석정보를 생성하기 위한 소스코드 분석부;
상기 소스코드를 빌드하여 생성된 이진코드에 대한 이진코드 분석정보를 생성하기 위한 이진코드 분석부;
상기 이진코드가 상기 코드 커버리지 측정 장치와 별개의 분리된 상기 임베디드 보드로 카피되어 생성된 카피이진코드가 실행되어 상기 카피이진코드에 대응하는 명령주소가 생성된 후, 상기 명령주소 추출장치에 의해 추출된 상기 명령주소를 상기 명령주소 추출장치로부터 수신하여 명령주소 분석정보를 생성하는 명령주소 분석부; 및
상기 소스코드에 대한 제1 커버리지를 측정하고, 상기 이진코드에 대한 제2 커버리지를 측정하는 커버리지 측정부;를 포함하고,
상기 커버리지 측정부는, 상기 소스코드에 대하여 상기 소스코드 분석정보, 상기 이진코드 분석정보 및 상기 명령주소 분석정보를 이용하여 상기 제1 커버리지를 측정하고,
상기 이진코드에 대하여 상기 이진코드 분석정보 및 상기 명령주소 분석정보를 이용하여 상기 제2 커버리지를 측정하는,
코드 커버리지 측정 장치.
In the code coverage measuring apparatus for measuring code coverage by using an embedded board and a command address extraction device for transmitting the data extracted from the embedded board to the code coverage measuring apparatus,
A source code analyzer for generating source code analysis information;
A binary code analysis unit for generating binary code analysis information on the binary code generated by building the source code;
Copy binary code generated by copying the binary code to the embedded board separate from the code coverage measuring apparatus is executed to generate a command address corresponding to the copy binary code, and then is extracted by the command address extracting device. A command address analyzer for generating command address analysis information by receiving the command address from the command address extracting device; And
And a coverage measuring unit which measures a first coverage of the source code and measures a second coverage of the binary code.
The coverage measuring unit measures the first coverage using the source code analysis information, the binary code analysis information, and the command address analysis information with respect to the source code,
Measuring the second coverage using the binary code analysis information and the command address analysis information with respect to the binary code;
Code coverage measurement device.
제 1항에 있어서,
상기 명령주소 분석정보는 상기 명령주소 추출장치에 의해 상기 명령주소가 추출됨으로써 생성되는 명령주소 로그 정보를 포함하는 코드 커버리지 측정 장치.
The method of claim 1,
And the command address analysis information includes command address log information generated by extracting the command address by the command address extracting device.
삭제delete 제 1항에 있어서,
상기 코드 커버리지는 상기 소스코드 전부 중 실행된 코드의 비율을나타내는 정보인 전체 커버리지 정보 및 상기 소스코드의 변경된 변경 부분 중 실행된 코드의 비율을 나타내는 정보인 변경 커버리지 정보를 포함하는 코드 커버리지 측정 장치.
The method of claim 1,
And the code coverage includes total coverage information which is information representing a ratio of executed code among all of the source code, and change coverage information which is information representing a ratio of executed code among changed modified portions of the source code.
제 4항에 있어서,
상기 변경 커버리지 정보는 변경 함수 커버리지 및 변경 라인 커버리지 정보를 포함하는 코드 커버리지 측정 장치.
The method of claim 4, wherein
And the change coverage information includes change function coverage and change line coverage information.
임베디드 보드 및 상기 임베디드 보드로부터 추출한 데이터를 코드 커버리지 측정 장치에 전송하기 위한 명령주소 추출장치를 이용하여 코드 커버리지를 측정하는 코드 커버리지 측정 장치의 코드 커버리지 측정 방법에 있어서,
소스코드를 분석한 소스코드 분석정보를 생성하는 단계;
상기 소스코드를 빌드하여 생성된 이진코드에 대한 이진코드 분석정보를 생성하는 단계;
상기 이진코드를 상기 임베디드 보드로 카피하는 단계;
상기 이진코드가 상기 코드 커버리지 측정 장치와 별개의 분리된 상기 임베디드 보드로 카피되어 생성된 카피이진코드가 실행되어 상기 카피이진코드에 대응하는 명령주소가 생성된 후, 상기 명령주소 추출장치에 의해 추출된 상기 명령주소를 상기 명령주소 추출장치로부터 수신하여 명령주소 분석정보를 생성하는 단계; 및
상기 소스코드에 대하여 상기 소스코드 분석정보, 상기 이진코드 분석정보, 및 상기 명령주소 분석정보를 이용하여 제1 커버리지를 측정하고, 상기 이진코드에 대하여 상기 이진코드 분석정보 및 상기 명령주소 분석정보를 이용하여 제2 커버리지를 측정하는 단계;를 포함하는,
코드 커버리지 측정 방법.
In the code coverage measuring method of the code coverage measuring apparatus for measuring code coverage using an embedded board and a command address extraction apparatus for transmitting the data extracted from the embedded board to the code coverage measuring apparatus,
Generating source code analysis information analyzing the source code;
Generating binary code analysis information on the binary code generated by building the source code;
Copying the binary code to the embedded board;
Copy binary code generated by copying the binary code to the embedded board separate from the code coverage measuring apparatus is executed to generate a command address corresponding to the copy binary code, and then is extracted by the command address extracting device. Receiving the command address from the command address extracting device and generating command address analysis information; And
The first coverage is measured using the source code analysis information, the binary code analysis information, and the command address analysis information with respect to the source code, and the binary code analysis information and the command address analysis information with respect to the binary code. Measuring the second coverage using;
How to measure code coverage.
제 6항에 있어서,
상기 명령주소 분석정보는 상기 명령주소 추출장치에 의해 상기 명령주소가 추출됨으로써 생성되는 명령주소 로그 정보를 포함하는 코드 커버리지 측정 방법.
The method of claim 6,
And the command address analysis information includes command address log information generated by extracting the command address by the command address extracting device.
제 6항에 있어서,
상기 코드 커버리지는 상기 소스코드 전부 중 실행된 코드의 비율을나타내는 정보인 전체 커버리지 정보 및 상기 소스코드의 변경된 변경 부분 중 실행된 코드의 비율을 나타내는 정보인 변경 커버리지 정보를 포함하는 코드 커버리지 측정 방법.
The method of claim 6,
Wherein the code coverage includes total coverage information, which is information representing a ratio of executed code among all of the source code, and change coverage information, which is information representing a ratio of executed code among changed modified portions of the source code.
제 8항에 있어서,
상기 변경 커버리지 정보는 변경 함수 커버리지 및 변경 라인 커버리지 정보를 포함하는 코드 커버리지 측정 방법.
The method of claim 8,
And the change coverage information includes change function coverage and change line coverage information.
제 6항 내지 제 9항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium for recording a computer program for executing the method according to any one of claims 6 to 9.
KR1020170068318A 2017-06-01 2017-06-01 Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same KR102042996B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170068318A KR102042996B1 (en) 2017-06-01 2017-06-01 Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170068318A KR102042996B1 (en) 2017-06-01 2017-06-01 Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same

Publications (2)

Publication Number Publication Date
KR20180131784A KR20180131784A (en) 2018-12-11
KR102042996B1 true KR102042996B1 (en) 2019-12-02

Family

ID=64671756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170068318A KR102042996B1 (en) 2017-06-01 2017-06-01 Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same

Country Status (1)

Country Link
KR (1) KR102042996B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230053316A (en) 2021-10-14 2023-04-21 아피아엔지니어링(주) System for predicting input and output of test case based on artificial intelligence for automation testing of embedded software code coverage test
KR20230053313A (en) 2021-10-14 2023-04-21 아피아엔지니어링(주) System and method for automating software code coverage for artificial intelligence-based embedded

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146669A (en) * 2004-11-22 2006-06-08 Ntt Data Corp Coverage measurement system and coverage measuring method, and program thereof
JP2016048471A (en) * 2014-08-27 2016-04-07 日本電気株式会社 Application development support device, data processing method and program therefor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006146669A (en) * 2004-11-22 2006-06-08 Ntt Data Corp Coverage measurement system and coverage measuring method, and program thereof
JP2016048471A (en) * 2014-08-27 2016-04-07 日本電気株式会社 Application development support device, data processing method and program therefor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230053316A (en) 2021-10-14 2023-04-21 아피아엔지니어링(주) System for predicting input and output of test case based on artificial intelligence for automation testing of embedded software code coverage test
KR20230053313A (en) 2021-10-14 2023-04-21 아피아엔지니어링(주) System and method for automating software code coverage for artificial intelligence-based embedded

Also Published As

Publication number Publication date
KR20180131784A (en) 2018-12-11

Similar Documents

Publication Publication Date Title
US8601436B2 (en) Simulation-based interface testing automation system and method for robot software components
EP1019818B1 (en) Automated validation and verification of computer software
US6430741B1 (en) System and method for data coverage analysis of a computer program
RU2473115C2 (en) Method for automatic generation of scenario for validation of functional software installed on-board aircraft, and apparatus for implementing said method
US6106571A (en) Relocatable instrumentation tags for testing and debugging a computer program
CN111651366B (en) SDK test method, device, equipment and storage medium
US20110191752A1 (en) Method and System for Debugging of Software on Target Devices
US11003573B2 (en) Co-verification of hardware and software
US10936474B2 (en) Software test program generation
CN111026601A (en) Monitoring method and device for Java application system, electronic equipment and storage medium
US9558103B2 (en) System and method to indicate code block execution
CN107329889B (en) Method for automatically testing C compiler
KR102042996B1 (en) Method and apparatus for measuring code coverage not by using probes and computer readable recording medium having program the same
CN114297666A (en) Cloud deployment automation vulnerability mining system based on fuzzy test
US20080127118A1 (en) Method and system for dynamic patching of software
US10229029B2 (en) Embedded instruction sets for use in testing and error simulation of computing programs
US20100281240A1 (en) Program Code Simulator
US8510708B2 (en) Method for optimizing a control program for actuators
US20110218794A1 (en) Concretization of abstracted traces
WO2023068467A1 (en) Test coverage display device and display method
CN116522345A (en) Vulnerability discovery method, device, equipment and readable storage medium
US20150007139A1 (en) Optimizing error parsing in an integrated development environment
KR20180099192A (en) Method and apparatus for measuring code coverage and computer readable recording medium having program the same
KR20120058753A (en) Embedded Software Unit Test Automation Tool and Method Using Debugger
CN116107866A (en) Fuzzy test based on memory usage

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant