KR20230060418A - Method of detecting software malfunction using Binary Image - Google Patents

Method of detecting software malfunction using Binary Image Download PDF

Info

Publication number
KR20230060418A
KR20230060418A KR1020210178322A KR20210178322A KR20230060418A KR 20230060418 A KR20230060418 A KR 20230060418A KR 1020210178322 A KR1020210178322 A KR 1020210178322A KR 20210178322 A KR20210178322 A KR 20210178322A KR 20230060418 A KR20230060418 A KR 20230060418A
Authority
KR
South Korea
Prior art keywords
malfunction
software
control unit
sensing information
software malfunction
Prior art date
Application number
KR1020210178322A
Other languages
Korean (ko)
Other versions
KR102592997B1 (en
Inventor
박대진
Original Assignee
경북대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 경북대학교 산학협력단 filed Critical 경북대학교 산학협력단
Publication of KR20230060418A publication Critical patent/KR20230060418A/en
Application granted granted Critical
Publication of KR102592997B1 publication Critical patent/KR102592997B1/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/3664Environments for testing or debugging software
    • 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
    • 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/3636Software debugging by tracing the execution of the program
    • 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/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3672Test management
    • G06F11/3692Test management for test results analysis

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)
  • Debugging And Monitoring (AREA)

Abstract

According to an embodiment of the present invention, a method for detecting a software malfunction comprises: (A) a step of starting a software malfunction detection system, and starting the software malfunction detection process; (B) a step in which a control unit of the malfunction detection system receives a large number of pieces of sensing information from a sensing unit; (C) a step in which the control unit binarizes the large number of pieces of sensing information; (D) a step in which the control unit performs comparison and learning by using a machine learning neural network; (E) a step in which the control unit determines whether there has occurred a software malfunction; and (F) a step in which the control unit outputs whether a software malfunction has occurred or not by text or sound through an output unit. Therefore, a software malfunction can be easily detected.

Description

이진화 이미지를 이용한 소프트웨어의 오동작 검출방법{Method of detecting software malfunction using Binary Image} Method of detecting software malfunction using binary image {Method of detecting software malfunction using Binary Image}

본 발명은 이진화 이미지를 이용한 소프트웨어의 오동작 검출방법에 관한 것으로, 특히 소프트웨어의 런타임 실행흐름에 따른 센싱 정보를 이진화 이미지로 형상화하고 머신 러닝 신경망을 이용하여 오동작을 검출하는 소프트웨어의 오동작 검출방법에 관한 것이다. The present invention relates to a method for detecting a malfunction in software using a binary image, and more particularly, to a method for detecting a malfunction in software in which sensing information according to a run-time execution flow of software is shaped into a binary image and the malfunction is detected using a machine learning neural network. .

종래에 자율주행 자동차, 인공지능로봇, 무인기기 등에 스마트 전자시스템이 적용됨에 따라, 복잡한 소프트웨어의 세부 블록간 순차적 계측적 연동에 의해 동작하도록 개발되고 있다. Conventionally, as smart electronic systems are applied to autonomous vehicles, artificial intelligence robots, and unmanned devices, etc., they are being developed to operate by sequential instrumental interlocking between detailed blocks of complex software.

이러한 스마트 전자시스템에서 특정 부분의 소프트웨어가 오동작을 일으키는 경우에 원인 분석이 매우 어려워, 해당 블록의 코드 오류에도 원인이 있을 수 있으나 연결된 다른 모듈간의 상호 작용에서 오류가 발생하는 경우에 원인 분석이 상당히 어려우며 패치 작업에 상당한 시간이 소요되어, 수작업으로 작업하는 것에 한계가 있다. In such a smart electronic system, it is very difficult to analyze the cause when a specific part of the software malfunctions. The cause may also be a code error in the block, but when an error occurs in the interaction between other connected modules, it is very difficult to analyze the cause. Patch work takes a considerable amount of time, and there is a limit to manual work.

특히, 종래의 스마트 전자시스템은 복잡한 소프트웨어로 제어되면서, 정적 코드가 아닌 동적 코드 실행에서 유발되는 다양한 형태의 코드 오류 패턴이 존재한다. 이때, 이러한 모든 사례별로 검출 코드를 코드 자체로 정의하는 것은 개발 복잡도를 상승시키고, 검사 코드 삽입시 코드 메모리의 용량을 증가시켜야하는 문제점이 있다. In particular, while conventional smart electronic systems are controlled by complex software, there are various types of code error patterns caused by dynamic code execution rather than static codes. At this time, there is a problem in that defining the detection code as the code itself for each of these cases increases development complexity and increases the capacity of the code memory when inserting the check code.

특허문헌 : 등록특허공보 제 10-2088164호Patent Document: Registered Patent Publication No. 10-2088164

본 발명은 상기 문제점을 해소하기 위하여 안출된 것으로, 본 발명의 목적은 소프트웨어의 런타임 실행흐름에 따른 센싱 정보를 이진화 이미지로 형상화하고 머신 러닝 신경망을 이용하여 오동작을 검출하는 소프트웨어의 오동작 검출방법을 제공하는 데 있다. The present invention has been made to solve the above problems, and an object of the present invention is to shape sensing information according to the run-time execution flow of software into a binary image and to use a machine learning neural network to detect malfunctions. Provide a method for detecting malfunctions in software is to do

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 (A) 소프트웨어의 오동작 검출시스템을 시동하여 소프트웨어의 오동작 검출을 시동하는 단계; (B) 상기 오동작 검출시스템의 제어부가 센싱부로부터 다수의 센싱정보를 수신하는 단계; (C) 상기 제어부가 상기 다수의 센싱정보를 이진화(binarization) 처리하는 단계; (D) 상기 제어부가 머신 러닝 신경망을 이용하여 비교 학습하는 단계; (E) 상기 제어부가 소프트웨어의 오동작이 발생한지 여부를 판단하는 단계; 및 (F) 상기 제어부가 출력부를 통해 상기 소프트웨어의 오동작 발생 여부를 문자 또는 소리로 출력하는 단계;를 포함한다. A software malfunction detection method according to an embodiment of the present invention includes the steps of (A) starting a software malfunction detection system to detect a software malfunction; (B) receiving a plurality of sensing information from a sensing unit by a control unit of the malfunction detection system; (C) processing, by the controller, binarization of the plurality of sensing information; (D) comparative learning by the control unit using a machine learning neural network; (E) determining, by the control unit, whether a software malfunction has occurred; and (F) outputting, by the control unit, whether a malfunction of the software has occurred in text or sound through an output unit.

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 다수의 센싱정보는 프로그램 계수(program counter), 코드주소, 메모리 접근위치, CPU 레지스터(Rregisters), 메모리 사용량 및 변수 호출 중 어느 하나를 포함하는 것을 특징으로 한다. In the software malfunction detection method according to an embodiment of the present invention, the plurality of sensing information includes any one of program counters, code addresses, memory access locations, CPU registers, memory usage and variable calls. characterized by

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 (C)단계는 (C-1) 임계치(TH)에 관한 임계평면을 기준으로 상기 다수의 센싱정보 각각이 높은 부분을 1로 표시하고, 낮은 부분을 0으로 표시하는 단계; (C-2) 상기 1로 표시된 부분을 검은색의 픽셀로 표시하고, 상기 0으로 표시된 부분을 백색의 픽셀로 표시한 이진화된 이미지 행렬을 형성하는 단계; 및 (C-3) 상기 이진화된 이미지 행렬을 1차원 배열 이미지로 변환하는 단계;를 더 포함하는 것을 특징으로 한다. In the software malfunction detection method according to an embodiment of the present invention, the step (C) displays a high portion of each of the plurality of sensing information as 1 based on the critical plane for the (C-1) threshold value (TH), Marking the low part as 0; (C-2) forming a binarized image matrix in which the portion indicated by 1 is represented by black pixels and the portion indicated by 0 is represented by white pixels; and (C-3) converting the binarized image matrix into a one-dimensional array image.

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 (D)단계는 상기 1차원 배열 이미지 및 대응하는 정상 동작을 나타내는 1차원 배열 기준 이미지를 상기 머신 러닝 신경망에 함께 입력하여 비교 학습하는 것을 특징으로 한다. In the software malfunction detection method according to an embodiment of the present invention, in the step (D), the 1D array image and the corresponding 1D array reference image representing a normal operation are input together to the machine learning neural network to perform comparative learning. to be

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 (E)단계는 에러(error) 수치를 도출하고, 상기 에러 수치가 미리 설정된 오동작 기준 수치보다 높은지를 판단하여, 상기 오동작 발생 여부를 판단하는 것을 특징으로 한다. In the software malfunction detection method according to an embodiment of the present invention, the step (E) derives an error value, determines whether the error value is higher than a preset malfunction reference value, and determines whether the malfunction occurs. characterized by

본 발명의 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다.Features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings.

이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이고, 사전적인 의미로 해석되어서는 아니 되며, 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야만 한다. Prior to this, the terms or words used in this specification and claims should not be interpreted in a conventional, dictionary sense, and the inventor properly defines the concept of the term in order to explain his/her invention in the best way. Based on the principle that it can be done, it should be interpreted as meaning and concept consistent with the technical spirit of the present invention.

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 임계 평면을 사용하여 센싱 정보를 이진화된 이미지로 변환함으로써, 데이터 손실을 최소화하고 데이터 크기를 줄일 수 있으며, 소프트웨어의 오동작을 용이하게 검출할 수 있는 효과가 있다. A software malfunction detection method according to an embodiment of the present invention converts sensing information into a binarized image using a critical plane, thereby minimizing data loss, reducing data size, and easily detecting software malfunction. It works.

도 1은 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법이 적용되는 소프트웨어의 오동작 검출시스템의 구성도.
도 2는 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법의 순서도.
도 3은 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 입력되는 센싱 정보의 예시도.
도 4는 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 입력된 센싱 정보를 이진화하는 과정을 나타낸 예시도.
도 5는 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 입력된 센싱 정보를 이진화한 결과를 나타낸 예시도.
도 6은 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 소프트웨어의 오동작 검출과정을 나타낸 예시도.
1 is a configuration diagram of a software malfunction detection system to which a software malfunction detection method according to an embodiment of the present invention is applied.
2 is a flow chart of a method for detecting an erroneous operation of software according to an embodiment of the present invention.
3 is an exemplary view of sensing information input according to a software malfunction detection method according to an embodiment of the present invention;
4 is an exemplary diagram illustrating a process of binarizing input sensing information according to a software malfunction detection method according to an embodiment of the present invention;
5 is an exemplary view showing a result of binarizing input sensing information according to a software malfunction detection method according to an embodiment of the present invention.
6 is an exemplary diagram illustrating a software malfunction detection process according to a software malfunction detection method according to an embodiment of the present invention;

본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되는 이하의 상세한 설명과 바람직한 실시예로부터 더욱 명백해질 것이다. 본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.Objects, specific advantages and novel features of the present invention will become more apparent from the following detailed description and preferred embodiments taken in conjunction with the accompanying drawings. In adding reference numerals to components of each drawing in this specification, it should be noted that the same components have the same numbers as much as possible, even if they are displayed on different drawings. Also, terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. In addition, in describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법이 적용되는 소프트웨어의 오동작 검출시스템의 구성도이다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. 1 is a configuration diagram of a software malfunction detection system to which a software malfunction detection method according to an embodiment of the present invention is applied.

본 발명의 실시예에 따른 소프트웨어의 오동작 검출시스템(10)은 도 1에 도시된 바와 같이 제어부(11), 메모리부(12), 센싱부(13) 및 출력부(14)를 포함한다. A software malfunction detection system 10 according to an embodiment of the present invention includes a control unit 11, a memory unit 12, a sensing unit 13 and an output unit 14 as shown in FIG.

제어부(11)는 내부에 적어도 하나의 머신 러닝(machine learning) 신경망을 구비하고, 소프트웨어의 오동작 검출시스템의 전반적인 동작을 제어하되, 소프트웨어 실행시에 센싱부(13)를 통해 수신한 센싱 정보를 메모리부(12)에 저장된 기준 정보와 비교하여 소프트웨어의 오동작을 검출하는 과정을 제어한다. The control unit 11 has at least one machine learning neural network therein, controls the overall operation of the software malfunction detection system, and stores the sensing information received through the sensing unit 13 in memory when the software is executed. A process of detecting an erroneous operation of the software is controlled by comparing with reference information stored in the unit 12.

메모리부(12)는 제어부(11)에 연결되고, 스마트 전자시스템의 운영에 관한 다수의 소프트웨어, 오동작 검출을 위한 기준 정보, 센싱부(13)를 통해 수신한 센싱 정보 등을 저장한다. The memory unit 12 is connected to the control unit 11 and stores a plurality of software related to the operation of the smart electronic system, standard information for detecting malfunctions, and sensing information received through the sensing unit 13.

센싱부(13)는 제어부(11), 메모리부(12), 출력부(14) 및 시스템을 구성하는 다른 구성(도시하지 않음)에 각각 연결된 다수의 센서를 포함하고, 다수의 센서를 통해 소프트웨어 실행시의 센싱 정보를 수신하여 제어부(11)로 전달한다. 여기서, 센싱 정보는 소프트웨어의 실행시 시스템의 구성에서 검출되는 동작신호로서, 예컨대 메모리부(12)의 메모리 접근위치에 관한 스택 포인트(stack point)의 변동, 코드주소 변동, 메모리 사용량 변동, 변수 호출 변동 등을 포함한다. The sensing unit 13 includes a plurality of sensors connected to the control unit 11, the memory unit 12, the output unit 14, and other components (not shown) constituting the system, respectively, and software through the plurality of sensors. Sensing information at the time of execution is received and transmitted to the control unit 11 . Here, the sensing information is an operation signal detected in the system configuration during software execution, for example, stack point change, code address change, memory usage change, variable call related to the memory access location of the memory unit 12 Include fluctuations, etc.

출력부(14)는 제어부(11)에 연결되어, 제어부(11)의 제어에 따라 소프트웨어의 오동작 여부를 문자로 디스플레이하거나 또는 소리로 알릴 수 있다. The output unit 14 is connected to the control unit 11, and according to the control of the control unit 11, whether or not the software malfunctions can be displayed in text or notified by sound.

이와 같이 구성된 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법이 적용되는 소프트웨어의 오동작 검출시스템(10)은 제어부(11)가 소프트웨어 실행시에 센싱부(13)를 통해 수신한 센싱 정보를 이진화하고, 이진화된 센싱 이미지를 메모리부(12)에 저장된 기준 이진화 센싱 이미지와 함께 내부에 구비된 하나의 머신 러닝 신경망, 예컨대 LSVM(Linear Support Vector Machine)에 입력하고 비교 학습하여 소프트웨어의 오동작을 검출할 수 있다. In the software malfunction detection system 10 to which the software malfunction detection method according to the embodiment of the present invention configured as described above is applied, the control unit 11 binarizes the sensing information received through the sensing unit 13 when the software is executed, and , The binarized sensing image is input to one machine learning neural network, for example, LSVM (Linear Support Vector Machine) provided therein together with the reference binarized sensing image stored in the memory unit 12, and comparative learning is performed to detect malfunction of the software. there is.

이하, 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 대해 도 2 내지 도 7을 참조하여 설명한다. 도 2는 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법의 순서도이고, 도 3은 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 입력되는 센싱 정보의 예시도이며, 도 4는 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 입력된 센싱 정보를 이진화하는 과정을 나타낸 예시도이며, 도 5는 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 입력된 센싱 정보를 이진화한 결과를 나타낸 예시도이며, 도 6은 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 소프트웨어의 오동작 검출과정을 나타낸 예시도이다. Hereinafter, a software malfunction detection method according to an embodiment of the present invention will be described with reference to FIGS. 2 to 7 . 2 is a flowchart of a method for detecting a malfunction of software according to an embodiment of the present invention, FIG. 3 is an exemplary view of sensing information input according to a method for detecting a malfunction of software according to an embodiment of the present invention, and FIG. It is an exemplary view showing a process of binarizing input sensing information according to a method for detecting a malfunction of software according to an embodiment of the present invention, and FIG. 6 is an exemplary diagram showing a software malfunction detection process according to a software malfunction detection method according to an embodiment of the present invention.

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 먼저 도 1에 도시된 소프트웨어의 오동작 검출시스템(10)을 시동하여 소프트웨어의 오동작 검출을 시동한다(S210). In the software malfunction detection method according to an embodiment of the present invention, first, the software malfunction detection system 10 shown in FIG. 1 is started to detect software malfunction (S210).

이에 따라, 제어부(11)는 센싱부(13)로부터 다수의 센싱정보를 수신한다(S220). Accordingly, the control unit 11 receives a plurality of sensing information from the sensing unit 13 (S220).

구체적으로, 제어부(11)는 스마트 전자시스템이 구동하여 소프트웨어를 실행함에 따라, 도 1에 도시된 소프트웨어의 오동작 검출시스템(10)을 시동하여 센싱부(13)에 포함된 다수의 센서를 통해 도 3에 도시된 바와 같이 센싱 정보, 즉 소프트웨어의 실행시에 나타나는 다양한 동작신호를 검출하여 시간에 따른 변동 그래프로 나타낸 센싱 정보를 수신할 수 있다. Specifically, as the smart electronic system runs and executes software, the control unit 11 starts the malfunction detection system 10 of the software shown in FIG. 1 and detects data through a plurality of sensors included in the sensing unit 13. As shown in FIG. 3, it is possible to receive sensing information represented by a change graph over time by detecting sensing information, that is, various operation signals appearing during software execution.

이때, 동작신호는 예컨대 프로그램 계수(program counter), 코드주소, 메모리 접근위치, CPU 레지스터(Rregisters), 메모리 사용량, 변수 호출 등의 다양한 변수들의 신호를 포함한다. At this time, the operation signal includes signals of various variables such as, for example, a program counter, code address, memory access location, CPU registers, memory usage, and variable call.

다수의 센싱정보를 수신한 후, 제어부(11)는 수신한 센싱정보를 이진화(binarization) 처리한다(S230). After receiving a plurality of sensing information, the control unit 11 performs binarization on the received sensing information (S230).

구체적으로, 제어부(11)는 도 4에 도시된 센싱 정보를 수신하고, 도 4에 도시된 임계치(TH)에 관한 임계평면(101)을 기준으로 수신한 센싱 정보를 변환한다. 즉, 제어부(11)는 아래의 [수학식 1]을 이용하여 제 1 센싱 정보(S1)에서 도 4에 도시된 임계치(TH)에 관한 임계평면(101)보다 높은 부분(S11,S12)을 1의 값을 갖도록 하고, 제 2 센싱 정보(S2)에서 도 4에 도시된 임계치(TH)에 관한 임계평면(101)보다 높은 부분(S21)을 1의 값을 갖도록 하며, 제 3 센싱 정보(S3)에서 도 4에 도시된 임계치(TH)에 관한 임계평면(101)보다 높은 부분(S31,S32)을 1의 값을 갖도록 하며, 이외의 임계평면(101)보다 낮은 부분은 0의 값을 갖도록 한다. Specifically, the controller 11 receives the sensing information shown in FIG. 4 and converts the received sensing information based on the critical plane 101 for the threshold value TH shown in FIG. 4 . That is, the control unit 11 uses the following [Equation 1] to obtain portions S11 and S12 higher than the critical plane 101 for the threshold value TH shown in FIG. 4 in the first sensing information S1. The third sensing information ( In S3), portions S31 and S32 higher than the critical plane 101 for the threshold value TH shown in FIG. 4 have a value of 1, and portions lower than the other critical plane 101 have a value of 0. let it have

Figure pat00001
Figure pat00001

여기서, R(x,y)는 이진화된 이미지 행렬을 나타내고, r(x,y)는 센싱 정보의 좌표를 나타내며, TH는 임계치를 나타낸다. Here, R(x,y) denotes a binarized image matrix, r(x,y) denotes a coordinate of sensing information, and TH denotes a threshold value.

이때, 임계치(TH)는 스마트 전자시스템의 민감도, 센싱 정보의 개수, 센싱 정보의 안정성 등에 따라 미리 설정될 수 있다. In this case, the threshold TH may be set in advance according to the sensitivity of the smart electronic system, the number of sensed information, and the stability of the sensed information.

이렇게 이진화 처리된 센싱 정보는 도 5에 도시된 바와 같이 시간(t)의 행에 대해 열방향으로 이진화 처리된 센싱 정보(s1,s2,s3)를 표시하여, "Ⅰ"과 같이 1의 값은 검은색으로 픽셀을 표시하고 "Ⅱ"와 같이 0의 값은 백색으로 픽셀을 표시한 이진화된 이미지 행렬(200)을 형성할 수 있다. As shown in FIG. 5, the binarized sensing information displays sensing information s1, s2, and s3 binarized in the column direction for a row at time t, and a value of 1 as in “I” It is possible to form a binarized image matrix 200 in which pixels are displayed in black and a value of 0, such as “II”, is displayed in white.

이렇게 이진화된 이미지 행렬(200)을 획득한 후, 제어부(11)는 아래의 [수학식 2]를 이용하여 이진화된 이미지 행렬(200)을 1차원 배열 이미지(200')로 변환한다. After obtaining the binarized image matrix 200, the controller 11 converts the binarized image matrix 200 into a 1D array image 200' using [Equation 2] below.

Figure pat00002
Figure pat00002

여기서, RP는 1차원 배열 이미지를 나타내고, R(x,y)는 이진화된 이미지 행렬을 나타낸다. Here, RP represents a one-dimensional array image, and R(x,y) represents a binarized image matrix.

1차원 배열 이미지(200')로 변환한 후, 제어부(11)는 1차원 배열 이미지(200')를 머신 러닝 신경망에 입력하고 비교 학습한다(S240). After converting the 1D array image 200', the controller 11 inputs the 1D array image 200' to the machine learning neural network and performs comparative learning (S240).

구체적으로, 제어부(11)는 도 6에 도시된 1차원 배열 이미지(200')를 획득하고, 획득한 1차원 배열 이미지(200')를 머신 러닝 신경망, 예컨대 LSVM(Linear Support Vector Machine) 신경망에 입력할 수 있다. 여기서, LSVM 신경망은 다른 신경망에 비해 상대적으로 용량이 작고 간단한 형태의 신경망으로 오동작 판단의 성능 효율성을 향상시킬 수 있다. 물론, LSVM 신경망 이외에 여타의 다른 머신 러닝 신경망을 사용할 수도 있다. Specifically, the controller 11 acquires the 1D array image 200' shown in FIG. 6, and transmits the acquired 1D array image 200' to a machine learning neural network, for example, a LSVM (Linear Support Vector Machine) neural network. can be entered. Here, the LSVM neural network is a simple neural network with relatively small capacity compared to other neural networks, and can improve the performance efficiency of malfunction determination. Of course, other machine learning neural networks other than LSVM neural networks may also be used.

이에 제어부(11)는 도 6에 도시된 바와 같이 1차원 배열 이미지(200')를 대응하는 정상 동작을 나타내는 1차원 배열 기준 이미지(300)와 비교 학습할 수 있다. 여기서, 1차원 배열 기준 이미지(300)는 메모리부(12)에 오동작 검출을 위한 기준 정보에 포함되어 미리 저장된 상태에서 제어부(11)에 의해 선출되어 LSVM 신경망에 입력될 수 있다. Accordingly, as shown in FIG. 6 , the controller 11 may compare and learn the 1D array image 200 ′ with the 1D array reference image 300 representing a corresponding normal operation. Here, the 1D array reference image 300 may be selected by the control unit 11 and input to the LSVM neural network in a state in which it is included in the reference information for detecting a malfunction in the memory unit 12 and stored in advance.

이렇게 1차원 배열 이미지(200')와 1차원 배열 기준 이미지(300)를 비교 학습하여, 제어부(11)는 소프트웨어의 오동작이 발생한지 여부를 판단한다(S250). In this way, by comparing and learning the 1D array image 200' and the 1D array reference image 300, the control unit 11 determines whether a software malfunction has occurred (S250).

이때, 오동작 발생 여부의 판단은 LSVM 신경망에서 아래의 [수학식 3]을 이용하여 수행될 수 있다. At this time, determination of whether a malfunction has occurred may be performed using Equation 3 below in the LSVM neural network.

Figure pat00003
Figure pat00003

여기서, RP는 1차원 배열 이미지(200')를 나타내고, td는 정상 동작을 나타내는 1차원 배열 기준 이미지(300)를 나타낸다. Here, RP represents the 1D array image 200', and td represents the 1D array reference image 300 representing a normal operation.

이러한 [수학식 3]을 이용한 오동작 발생 여부의 판단으로 3의 에러(error) 수치가 도출되고, 제어부(11)는 도출된 에러 수치가 미리 설정된 오동작 기준 수치보다 높은지를 판단하여 오동작 발생 여부를 판단할 수 있다. By determining whether a malfunction occurs using [Equation 3], an error value of 3 is derived, and the control unit 11 determines whether or not a malfunction has occurred by determining whether the derived error value is higher than a preset malfunction reference value. can do.

예를 들어, 제어부(11)는 오동작 발생 여부의 판단으로 도출된 3의 에러 수치가 미리 설정된 1의 오동작 기준 수치보다 높으므로, 소프트웨어의 오동작이 발생한 것으로 판단할 수 있다. For example, the controller 11 may determine that a software malfunction has occurred because the error value of 3 derived by determining whether or not a malfunction has occurred is higher than a preset malfunction standard value of 1.

이렇게 소프트웨어의 오동작 발생으로 판단함에 따라, 제어부(11)는 출력부(14)를 통해 소프트웨어의 오동작 발생을 문자로 디스플레이하거나 또는 소리로 알릴 수 있다(S260). In accordance with determining that the software malfunction occurs, the control unit 11 may display the occurrence of the software malfunction through the output unit 14 in text or sound (S260).

반면에, 오동작 발생 여부의 판단으로 도출된 에러 수치가 미리 설정된 오동작 기준 수치보다 낮으면, 제어부(11)는 센싱부(13)로부터 다수의 센싱정보를 수신하는 단계(S220)부터 다시 반복 수행한다. On the other hand, if the error value derived from the determination of whether a malfunction has occurred is lower than the preset malfunction reference value, the control unit 11 repeatedly performs the receiving of a plurality of sensing information from the sensing unit 13 (S220) again. .

이와 같은 과정의 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 임계 평면(101)을 사용하여 센싱 정보를 이진화된 이미지로 변환함으로써, 데이터 손실을 최소화하고 데이터 크기를 줄일 수 있으며, 소프트웨어의 오동작을 용이하게 검출할 수 있다. The software malfunction detection method according to an embodiment of the present invention in this process converts the sensing information into a binarized image using the critical plane 101, thereby minimizing data loss and reducing the data size, and software malfunction. can be easily detected.

본 발명의 기술사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 전술한 실시예들은 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. Although the technical idea of the present invention has been specifically described according to the above preferred embodiments, it should be noted that the above-described embodiments are for explanation and not for limitation.

또한, 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술사상의 범위 내에서 다양한 실시가 가능함을 이해할 수 있을 것이다. In addition, those skilled in the art will understand that various implementations are possible within the scope of the technical spirit of the present invention.

10: 오동작 검출시스템 11: 제어부
12: 메모리부 13: 센싱부
14: 출력부 101: 임계 평면
200: 이진화된 이미지 행렬 200': 1차원 배열 이미지
300: 1차원 배열 기준 이미지
10: malfunction detection system 11: control unit
12: memory unit 13: sensing unit
14: output unit 101: critical plane
200: Binarized image matrix 200': One-dimensional array image
300: 1-dimensional array reference image

Claims (5)

(A) 소프트웨어의 오동작 검출시스템을 시동하여 소프트웨어의 오동작 검출을 시동하는 단계;
(B) 상기 오동작 검출시스템의 제어부가 센싱부로부터 다수의 센싱정보를 수신하는 단계;
(C) 상기 제어부가 상기 다수의 센싱정보를 이진화(binarization) 처리하는 단계;
(D) 상기 제어부가 머신 러닝 신경망을 이용하여 비교 학습하는 단계;
(E) 상기 제어부가 소프트웨어의 오동작이 발생한지 여부를 판단하는 단계; 및
(F) 상기 제어부가 출력부를 통해 상기 소프트웨어의 오동작 발생 여부를 문자 또는 소리로 출력하는 단계;
를 포함하는 소프트웨어의 오동작 검출방법.
(A) starting a software malfunction detection system to start software malfunction detection;
(B) receiving a plurality of sensing information from a sensing unit by a control unit of the malfunction detection system;
(C) processing, by the controller, binarization of the plurality of sensing information;
(D) comparative learning by the control unit using a machine learning neural network;
(E) determining, by the control unit, whether a software malfunction has occurred; and
(F) outputting, by the control unit, whether a malfunction of the software has occurred in text or sound through an output unit;
A method for detecting a malfunction of a software comprising a.
제 1 항에 있어서,
상기 다수의 센싱정보는 프로그램 계수(program counter), 코드주소, 메모리 접근위치, CPU 레지스터(Rregisters), 메모리 사용량 및 변수 호출 중 어느 하나를 포함하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 1,
The plurality of sensing information includes any one of program counters, code addresses, memory access locations, CPU registers, memory usage and variable calls.
제 1 항에 있어서,
상기 (C)단계는
(C-1) 임계치(TH)에 관한 임계평면을 기준으로 상기 다수의 센싱정보 각각이 높은 부분을 1로 표시하고, 낮은 부분을 0으로 표시하는 단계;
(C-2) 상기 1로 표시된 부분을 검은색의 픽셀로 표시하고, 상기 0으로 표시된 부분을 백색의 픽셀로 표시한 이진화된 이미지 행렬을 형성하는 단계; 및
(C-3) 상기 이진화된 이미지 행렬을 1차원 배열 이미지로 변환하는 단계;
를 더 포함하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 1,
The step (C) is
(C-1) displaying a high part of each of the plurality of sensing information as 1 and a low part as 0 based on the critical plane with respect to the threshold value (TH);
(C-2) forming a binarized image matrix in which the portion indicated by 1 is represented by black pixels and the portion indicated by 0 is represented by white pixels; and
(C-3) converting the binarized image matrix into a 1D array image;
A method for detecting malfunction of software, characterized in that it further comprises.
제 3 항에 있어서,
상기 (D)단계는 상기 1차원 배열 이미지 및 대응하는 정상 동작을 나타내는 1차원 배열 기준 이미지를 상기 머신 러닝 신경망에 함께 입력하여 비교 학습하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 3,
The step (D) includes inputting the 1D array image and the 1D array reference image representing a corresponding normal operation together into the machine learning neural network for comparative learning.
제 1 항에 있어서,
상기 (E)단계는 에러(error) 수치를 도출하고, 상기 에러 수치가 미리 설정된 오동작 기준 수치보다 높은지를 판단하여, 상기 오동작 발생 여부를 판단하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 1,
The step (E) derives an error value and determines whether the error value is higher than a preset malfunction reference value to determine whether the malfunction has occurred.
KR1020210178322A 2021-10-27 2021-12-14 Method of detecting software malfunction using Binary Image KR102592997B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210144432 2021-10-27
KR1020210144432 2021-10-27

Publications (2)

Publication Number Publication Date
KR20230060418A true KR20230060418A (en) 2023-05-04
KR102592997B1 KR102592997B1 (en) 2023-10-24

Family

ID=86379666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210178322A KR102592997B1 (en) 2021-10-27 2021-12-14 Method of detecting software malfunction using Binary Image

Country Status (1)

Country Link
KR (1) KR102592997B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268666A (en) * 2005-03-25 2006-10-05 Fujitsu Ltd Automatic test system with correction function, automatic test method, and program
US20130080843A1 (en) * 2011-09-23 2013-03-28 Fujitsu Limited Detecting Sensor Malfunctions Using Compression Analysis of Binary Decision Diagrams
KR20190072074A (en) * 2017-12-15 2019-06-25 서강대학교산학협력단 Malware detection system and method thereof
KR102088164B1 (en) 2019-08-27 2020-03-12 루나 주식회사 Method and apparatus for generating difference between old and new version of data for updating software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268666A (en) * 2005-03-25 2006-10-05 Fujitsu Ltd Automatic test system with correction function, automatic test method, and program
US20130080843A1 (en) * 2011-09-23 2013-03-28 Fujitsu Limited Detecting Sensor Malfunctions Using Compression Analysis of Binary Decision Diagrams
KR20190072074A (en) * 2017-12-15 2019-06-25 서강대학교산학협력단 Malware detection system and method thereof
KR102088164B1 (en) 2019-08-27 2020-03-12 루나 주식회사 Method and apparatus for generating difference between old and new version of data for updating software

Also Published As

Publication number Publication date
KR102592997B1 (en) 2023-10-24

Similar Documents

Publication Publication Date Title
USRE36581E (en) Character reader and recognizer with a specialized editing function
EP0538038B1 (en) Character recognition method & apparatus
US10885626B2 (en) Identifying apparatus, identifying method, and program
EP2713314A2 (en) Image processing device and image processing method
KR20170003356A (en) Method, device and terminal device for detecting a malicious vulnerability file
CN110955590A (en) Interface detection method, image processing method, device, electronic equipment and storage medium
EP3050605B1 (en) A method for event detection in real-time graphic applications
KR20230060418A (en) Method of detecting software malfunction using Binary Image
US5233672A (en) Character reader and recognizer with a specialized editing function
JP6674515B2 (en) Judgment device and judgment method
US10621455B2 (en) Image processing system, information processing device, information processing method, and information processing program
US6668252B2 (en) Hierarchical structure generating method and apparatus generating hierarchical structure display table based on parent-child relationship table
KR102488049B1 (en) Automatic recognition system of text information based on deep learning model and automatic recognition method
CN110245668B (en) Terminal information acquisition method, acquisition device and storage medium based on image recognition
CN113657444A (en) Interface element identification method and system
CN114547356B (en) Template image storage method, device, equipment and storage medium
CN113111713B (en) Image detection method and device, electronic equipment and storage medium
EP2573694A1 (en) Conversion method and system
KR20230060407A (en) System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof
KR102630360B1 (en) Static setting system and method of automotive open system architecture sensor interface
US20180218491A1 (en) Image processing system, information processing device, information processing method, and information processing program
EP0278528B1 (en) Area searching system
JP2019079135A (en) Information processing method and information processing apparatus
US11574490B2 (en) Information processing apparatus and non-transitory computer readable medium storing information processing program
EP4064054A1 (en) Information processing device, program and information processing method

Legal Events

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