KR102662335B1 - System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof - Google Patents

System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof Download PDF

Info

Publication number
KR102662335B1
KR102662335B1 KR1020210162382A KR20210162382A KR102662335B1 KR 102662335 B1 KR102662335 B1 KR 102662335B1 KR 1020210162382 A KR1020210162382 A KR 1020210162382A KR 20210162382 A KR20210162382 A KR 20210162382A KR 102662335 B1 KR102662335 B1 KR 102662335B1
Authority
KR
South Korea
Prior art keywords
image
software
control unit
input image
change
Prior art date
Application number
KR1020210162382A
Other languages
Korean (ko)
Other versions
KR20230060407A (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 KR20230060407A publication Critical patent/KR20230060407A/en
Application granted granted Critical
Publication of KR102662335B1 publication Critical patent/KR102662335B1/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/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/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/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 (A) 시스템이 구동하여 소프트웨어를 실행함에 따라, 제어부가 소프트웨어의 동작신호를 수신하는 단계; (B) 상기 제어부가 기준선을 중심으로 상기 동작신호의 입력 이미지 및 상기 동작신호의 입력 이미지에 대응하는 레퍼런스(reference) 이미지를 결합한 이미지 결합패턴 정보를 획득하는 단계; (C) 상기 제어부가 내부에 구비된 딥러닝 신경망에 상기 이미지 결합패턴 정보를 입력하여 학습 처리하는 단계; 및 (D) 상기 제어부가 상기 이미지 결합패턴 정보에 대한 학습 처리결과를 이용하여 상기 소프트웨어의 동작이 정상인지 비정상인지를 분류하는 단계;를 포함한다.A method of detecting malfunction of software according to an embodiment of the present invention includes the steps of: (A) a control unit receiving an operation signal of the software as the system drives and executes the software; (B) obtaining, by the control unit, image combination pattern information combining an input image of the operation signal and a reference image corresponding to the input image of the operation signal around a reference line; (C) learning and processing the image combination pattern information by inputting the image combination pattern information into a deep learning neural network installed within the control unit; and (D) the control unit classifying whether the operation of the software is normal or abnormal using a learning processing result for the image combination pattern information.

Description

비교 신경망 학습을 이용한 소프트웨어의 오동작 검출시스템 및 소프트웨어의 오동작 검출방법{System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof} {System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof}

본 발명은 비교 신경망 학습을 이용한 소프트웨어의 오동작 검출시스템 및 소프트웨어의 오동작 검출방법에 관한 것으로, 특히 소프트웨어의 실행시 오동작 특징점의 추출없이 비교 신경망 학습으로 이미지 패턴을 비교하여 정상 또는 비정상 판단을 검출하는 소프트웨어의 오동작 검출시스템 및 소프트웨어의 오동작 검출방법에 관한 것이다. The present invention relates to a software malfunction detection system and software malfunction detection method using comparative neural network learning. In particular, software that detects normal or abnormal judgment by comparing image patterns using comparative neural network learning without extracting malfunction feature points when running the software. It relates to a malfunction detection system and software malfunction detection method.

종래에 스마트 전자시스템은 복잡한 소프트웨어로 제어되어 정적 코드가 아닌 동적 코드 실행에서 유발되는 다양한 형태의 코드 오류 패턴이 존재하여, 모든 사례별로 검출 코드를 코드 자체로 정의하는 것은 개발 복잡도가 올라가고, 오류 사례별로 점진적인 코드 패치를 수행해야 하며, 원인 분석 및 검출코드를 명시적으로 정의하는데 많은 개발 시간과 인력이 투입되어야 한다. Conventionally, smart electronic systems are controlled by complex software, so there are various types of code error patterns caused by dynamic code execution rather than static code, so defining the detection code as the code itself for each case increases development complexity and causes error cases. Gradual code patches must be performed, and a lot of development time and manpower must be invested in cause analysis and explicitly defining detection codes.

이러한 스마트 전자시스템에서 소프트웨어 실행시에 동작의 정상 흐름과 비정상 흐름을 비교하여 오동작을 검출하기 위해, 사례별로 패턴을 인식하는 방식으로 코드를 구현하지만, 특정 부분의 소프트웨어가 오동작을 일으키는 경우에 원인 분석이 매우 어려워, 해당 블록의 코드오류에도 원인이 있을 수 있으나 연결된 다른 모듈간의 상호 작용에서 오류가 발생하는 경우에 원인 분석이 상당히 어려우며 패치 작업에 상당한 시간이 소요된다. In such a smart electronic system, in order to detect malfunctions by comparing the normal and abnormal flow of operations when running software, the code is implemented by recognizing patterns on a case-by-case basis, but when a specific part of the software malfunctions, the cause is analyzed. This is very difficult, and the cause may be a code error in the block, but if the error occurs in the interaction between other connected modules, it is very difficult to analyze the cause and patch work takes a considerable amount of time.

특히, 특정 조건별로 테스팅을 실시한 후에 오동작을 재현하고 이에 대응하는 상보코드를 삽입하여 소프트웨어 오류 패치를 적용 실행할 경우에 다양한 동작 제어 요소를 고려하여 패치 코드를 수작업으로 작업하는 것에 한계가 있다. In particular, when applying a software error patch by reproducing a malfunction after conducting testing under specific conditions and inserting the corresponding complementary code, there is a limit to manually working the patch code by considering various operation control factors.

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

본 발명은 상기 문제점을 해소하기 위하여 안출된 것으로, 본 발명의 목적은 소프트웨어의 실행시 비교 신경망 학습으로 이미지 패턴을 비교하여 정상 또는 비정상 판단을 검출하는 소프트웨어의 오동작 검출시스템을 제공하는 데 있다. The present invention was created to solve the above problems, and the purpose of the present invention is to provide a software malfunction detection system that detects normal or abnormal judgment by comparing image patterns through comparative neural network learning when running the software.

본 발명의 다른 목적은 소프트웨어의 실행시 비교 신경망 학습으로 이미지 패턴을 비교하여 정상 또는 비정상 판단을 검출하는 소프트웨어의 오동작 검출방법을 제공하는 데 있다. Another object of the present invention is to provide a method for detecting malfunction of software that detects normal or abnormal judgment by comparing image patterns through comparative neural network learning when the software is executed.

본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템은 내부에 하나의 딥러닝(deep learning) 신경망을 구비한 제어부; 상기 제어부에 연결된 메모리부; 상기 제어부와 메모리부에 각각 연결되고, 다수의 센서를 포함한 센싱부; 및 상기 제어부에 연결되고, 상기 제어부의 제어에 따라 소프트웨어의 오동작 여부를 문자로 디스플레이하거나 또는 소리로 알리는 출력부;를 포함하고, 상기 제어부가 상기 센싱부를 통해 수신한 동작신호를 상기 메모리부에 저장된 레퍼런스(reference) 정보와 비교하여 소프트웨어의 오동작을 검출하는 것을 특징으로 한다. A software malfunction detection system according to an embodiment of the present invention includes a control unit having a deep learning neural network therein; a memory unit connected to the control unit; a sensing unit connected to the control unit and the memory unit, respectively, and including a plurality of sensors; And an output unit connected to the control unit and displaying in text or sounding whether there is a malfunction of the software according to the control of the control unit, wherein the operation signal received by the control unit through the sensing unit is stored in the memory unit. It is characterized by detecting software malfunctions by comparing it with reference information.

본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템에서 상기 동작신호는 메모리 접근위치에 관한 스택 포인트(stack point)의 변동, 코드주소 변동, 메모리 사용량 변동 및 변수 호출 변동 중 어느 하나인 것을 특징으로 한다. In the software malfunction detection system according to an embodiment of the present invention, the operation signal is any one of a change in stack point related to a memory access location, a change in code address, a change in memory usage, and a change in variable call. do.

본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템에서 상기 레퍼런스 정보는 오동작 검출을 위한 레퍼런스 이미지를 포함하는 것을 특징으로 한다. In the software malfunction detection system according to an embodiment of the present invention, the reference information includes a reference image for malfunction detection.

또한, 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 (A) 시스템이 구동하여 소프트웨어를 실행함에 따라, 제어부가 소프트웨어의 동작신호를 수신하는 단계; (B) 상기 제어부가 기준선을 중심으로 상기 동작신호의 입력 이미지 및 상기 동작신호의 입력 이미지에 대응하는 레퍼런스(reference) 이미지를 결합한 이미지 결합패턴 정보를 획득하는 단계; (C) 상기 제어부가 내부에 구비된 딥러닝 신경망에 상기 이미지 결합패턴 정보를 입력하여 학습 처리하는 단계; 및 (D) 상기 제어부가 상기 이미지 결합패턴 정보에 대한 학습 처리결과를 이용하여 상기 소프트웨어의 동작이 정상인지 비정상인지를 분류하는 단계;를 포함한다. In addition, a method for detecting software malfunction according to another embodiment of the present invention includes the steps of (A) a control unit receiving an operation signal of the software as the system drives and executes the software; (B) obtaining, by the control unit, image combination pattern information combining an input image of the operation signal and a reference image corresponding to the input image of the operation signal around a reference line; (C) learning and processing the image combination pattern information by inputting the image combination pattern information into a deep learning neural network installed within the control unit; and (D) the control unit classifying whether the operation of the software is normal or abnormal using a learning processing result for the image combination pattern information.

본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 동작신호는 메모리 접근위치에 관한 스택 포인트(stack point)의 변동, 코드주소 변동, 메모리 사용량 변동 및 변수 호출 변동 중 어느 하나인 것을 특징으로 한다. In the software malfunction detection method according to another embodiment of the present invention, the operation signal is any one of a change in the stack point related to the memory access location, a change in the code address, a change in memory usage, and a change in variable call. do.

본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 레퍼런스 이미지는 상기 제어부에 연결된 메모리부에 저장된 기준 이미지 정보인 것을 특징으로 한다. In the method for detecting malfunction of software according to another embodiment of the present invention, the reference image is characterized in that it is reference image information stored in a memory unit connected to the control unit.

본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 (D)단계는 매칭연산함수를 이용하여 상기 레퍼런스 이미지와 상기 입력 이미지를 서로 비교하여 동일 여부를 판단하는 단계를 더 포함하는 것을 특징으로 한다. In the software malfunction detection method according to another embodiment of the present invention, step (D) further includes comparing the reference image and the input image using a matching operation function to determine whether they are identical. do.

본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 (D)단계는 상기 레퍼런스 이미지가 정상 동작에 대한 이미지이고, 상기 레퍼런스 이미지와 상기 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 상기 입력 이미지에 해당하는 소프트웨어의 동작이 정상인 것으로 분류하는 것을 특징으로 한다. In the method of detecting malfunction of software according to another embodiment of the present invention, in step (D), if the reference image is an image for normal operation and the reference image and the input image are compared to each other and are determined to be the same, the input image It is characterized by classifying the operation of the corresponding software as normal.

본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에서 상기 (D)단계는 상기 레퍼런스 이미지가 비정상 동작에 대한 이미지이고, 상기 레퍼런스 이미지와 상기 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 상기 입력 이미지에 해당하는 소프트웨어의 동작이 비정상인 것으로 분류하는 것을 특징으로 한다. In the method of detecting malfunction of software according to another embodiment of the present invention, in step (D), the reference image is an image for abnormal operation, and if the reference image and the input image are compared and determined to be the same, the input image It is characterized by classifying the operation of the corresponding software as abnormal.

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

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

본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 하나의 딥러닝 신경망을 이용하여 다양한 시스템에서 소프트웨어의 동작에 관한 다양한 동작신호를 기준선(201)을 중심으로 입력 이미지와 레퍼런스 이미지를 결합한 이미지 결합패턴으로 비교하므로, 종래에 정상판단을 위한 특징들을 별도로 획득할 필요가 없어 비용을 크게 절감할 수 있는 효과가 있다. A software malfunction detection method according to an embodiment of the present invention uses a deep learning neural network to generate an image combination pattern that combines an input image and a reference image centered on a reference line 201 to various operation signals related to the operation of software in various systems. Since there is no need to separately obtain features for normal judgment in the past, there is an effect of significantly reducing costs.

또한, 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 하나의 딥러닝 신경망을 이용하여 다양한 시스템에 대해 적용할 수 있어서 시스템의 규모가 커짐에 따라 비용 절약효과가 증가하는 효과가 있다. In addition, the software malfunction detection method according to an embodiment of the present invention can be applied to various systems using a single deep learning neural network, which has the effect of increasing cost savings as the scale of the system increases.

그리고, 본 발명의 실시예에 따른 소프트웨어의 오동작 검출방법은 다양한 시스템에 따라 딥러닝 신경망을 새로 형성할 필요없이 레퍼런스 이미지를 갱신하는 것으로 용이하게 적용될 수 있는 효과가 있다. In addition, the software malfunction detection method according to an embodiment of the present invention has the effect of being easily applied by updating the reference image without the need to form a new deep learning neural network according to various systems.

도 1은 본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템의 구성도.
도 2는 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법의 순서도.
도 3은 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 소프트웨어 동작신호의 입력처리과정을 설명하기 위한 예시도.
도 4는 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 생성된 다수의 정상 이미지 결합패턴을 도시한 예시도.
도 5는 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 생성된 다수의 비정상 이미지 결합패턴을 도시한 예시도.
도 6은 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 정상 또는 비정상으로 분류하는 과정을 설명하기 위한 예시도.
1 is a block diagram of a software malfunction detection system according to an embodiment of the present invention.
Figure 2 is a flowchart of a method for detecting malfunction of software according to another embodiment of the present invention.
Figure 3 is an example diagram for explaining the input processing process of a software operation signal according to a method for detecting malfunction of software according to another embodiment of the present invention.
Figure 4 is an example diagram showing a plurality of normal image combination patterns generated according to a method for detecting malfunction of software according to another embodiment of the present invention.
Figure 5 is an example diagram showing a plurality of abnormal image combination patterns generated according to a method for detecting malfunction of software according to another embodiment of the present invention.
Figure 6 is an example diagram illustrating the process of classifying software malfunctions as normal or abnormal according to a method for detecting malfunctions according to another embodiment of the present invention.

본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되는 이하의 상세한 설명과 바람직한 실시예로부터 더욱 명백해질 것이다. 본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.The objectives, 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 this specification, when adding reference numbers to components in each drawing, it should be noted that identical components are given the same number as much as possible even if they are shown in different drawings. Additionally, terms such as first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. Additionally, in describing the present invention, if it is determined that a detailed description of related known technologies may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 도 1은 본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템의 구성도이다. 본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템(10)은 예컨대 생체신호 모니터링 시스템과 같은 스마트 전자시스템에 적용되는 시스템으로 내부에 구비된 하나의 딥러닝(deep learning) 신경망을 이용하여 소프트웨어 실행시에 동작의 정상 흐름과 비정상 흐름을 비교하여 오동작을 검출할 수 있는 시스템이다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the attached drawings. 1 is a configuration diagram of a software malfunction detection system according to an embodiment of the present invention. The software malfunction detection system 10 according to an embodiment of the present invention is a system applied to a smart electronic system, such as a biosignal monitoring system, and executes the software using a deep learning neural network provided therein. It is a system that can detect malfunctions by comparing normal and abnormal flows of operations.

본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템(10)은 도 1에 도시된 바와 같이 제어부(11), 메모리부(12), 센싱부(13) 및 출력부(14)를 포함한다. The 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. 1.

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

메모리부(12)는 제어부(11)에 연결되고, 스마트 전자시스템의 운영에 관한 다수의 소프트웨어, 오동작 검출을 위한 레퍼런스 이미지를 포함한 레퍼런스 정보, 센싱부(13)를 통해 수신한 동작신호 등을 저장한다. The memory unit 12 is connected to the control unit 11 and stores a number of software related to the operation of the smart electronic system, reference information including reference images for malfunction detection, and operation signals received through the sensing unit 13. do.

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

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

이와 같이 구성된 본 발명의 일실시예에 따른 소프트웨어의 오동작 검출시스템(10)은 제어부(11)가 소프트웨어 실행시에 센싱부(13)를 통해 수신한 동작신호를 메모리부(12)에 저장된 레퍼런스 정보와 결합한 이미지 결합패턴의 정보를 내부에 구비된 하나의 딥러닝 신경망에 입력하고 비교 학습하여 소프트웨어의 오동작을 검출할 수 있다. In the software malfunction detection system 10 according to an embodiment of the present invention configured as described above, the control unit 11 converts the operation signal received through the sensing unit 13 when the software is executed into the reference information stored in the memory unit 12. The information of the image combination pattern combined with can be input into an internal deep learning neural network and compared and learned to detect malfunctions in the software.

이하, 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 대해 도 2 내지 도 6을 참조하여 설명한다. 도 2는 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법의 순서도이고, 도 3은 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 소프트웨어 동작신호의 입력처리과정을 설명하기 위한 예시도이며, 도 4는 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 생성된 다수의 정상 이미지 결합패턴을 도시한 예시도이며, 도 5는 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 생성된 다수의 비정상 이미지 결합패턴을 도시한 예시도이며, 도 6은 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법에 따라 정상 또는 비정상으로 분류하는 과정을 설명하기 위한 예시도이다. Hereinafter, a method for detecting malfunction of software according to another embodiment of the present invention will be described with reference to FIGS. 2 to 6. Figure 2 is a flow chart of a method for detecting software malfunction according to another embodiment of the present invention, and Figure 3 is an example for explaining the input processing process of a software operation signal according to a method for detecting software malfunction according to another embodiment of the present invention. Figure 4 is an exemplary diagram showing a plurality of normal image combination patterns generated according to a method for detecting malfunction of software according to another embodiment of the present invention, and Figure 5 is a diagram showing malfunction of software according to another embodiment of the present invention. It is an example diagram showing a plurality of abnormal image combination patterns generated according to a detection method, and Figure 6 is an example diagram illustrating the process of classifying as normal or abnormal according to a method of detecting malfunction of software according to another embodiment of the present invention. am.

본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 예컨대 생체신호 모니터링 시스템과 같은 스마트 전자시스템에서 제어부(11)가 내부에 구비된 하나의 딥러닝(deep learning) 신경망을 이용하여 소프트웨어 실행시에 동작의 정상 흐름과 비정상 흐름을 비교하여 오동작을 검출할 수 있다. A software malfunction detection method according to another embodiment of the present invention uses a deep learning neural network installed inside the control unit 11 in a smart electronic system, such as a biosignal monitoring system, when the software is executed. Malfunctions can be detected by comparing the normal and abnormal flow of operations.

이러한 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 먼저 스마트 전자시스템이 구동하여 소프트웨어를 실행함에 따라, 제어부(11)가 소프트웨어의 동작신호를 수신한다(S110). In the method of detecting software malfunction according to another embodiment of the present invention, first, as the smart electronic system is driven and executes the software, the control unit 11 receives the operation signal of the software (S110).

구체적으로, 제어부(11)는 센싱부(13)에 포함된 다수의 센서를 통해 소프트웨어의 실행시에 나타나는 다양한 동작신호를 시간에 따른 변동으로 수신할 수 있다. 이러한 동작신호는 예컨대 코드주소, 메모리 접근위치, 메모리 사용량, 변수 호출 등의 다양한 변수들의 신호를 포함한다. Specifically, the control unit 11 can receive various operation signals that appear when the software is executed through a plurality of sensors included in the sensing unit 13 with changes over time. These operation signals include signals of various variables, such as code address, memory access location, memory usage, and variable call.

제어부(11)는 이러한 다수의 동작신호를 도 3에 도시된 바와 같이 시간에 따른 변동 그래프 형태로 수신할 수 있고, 이렇게 입력된 동작신호 각각을 이미징 처리하여 입력 이미지(202)로 변환한다. 여기서, 도 3에 도시된 입력 이미지(202)는 동작신호의 일례로 메모리 접근위치에 관한 스택 포인트(stack point)의 변동을 이미징 처리한 이미지이다. 물론, 스택 포인트의 변동 이외에 코드주소, 메모리 사용량, 변수 호출 등의 다양한 동작신호 각각에 대해 이미징 처리한 이미지를 획득할 수 있다. The control unit 11 can receive these multiple operation signals in the form of a change graph over time as shown in FIG. 3, and converts each of the input operation signals into an input image 202 by performing imaging processing. Here, the input image 202 shown in FIG. 3 is an image of a change in a stack point related to a memory access position as an example of an operation signal. Of course, in addition to changes in the stack point, imaging-processed images can be obtained for each of various operation signals such as code address, memory usage, and variable call.

입력 이미지(202)로 변환한 후, 제어부(11)는 기준선(201)을 중심으로 입력 이미지와 해당하는 레퍼런스(reference) 이미지를 결합한 이미지 결합패턴의 정보로 변환한다(S120). After converting the input image 202, the control unit 11 converts it into information of an image combination pattern combining the input image and the corresponding reference image centered on the reference line 201 (S120).

이미지 결합패턴은 도 4에 도시된 바와 같이 기준선(201)을 중심으로 일측에 정상동작시 스택 포인트의 변동에 해당하는 입력 이미지(202)를 구비하고, 타측에 입력 이미지(202)에 대응하는 레퍼런스 이미지(203)를 결합한 스택 포인트의 이미지 결합패턴(200)의 형태를 가질 수 있다. 여기서, 레퍼런스 이미지(203)는 제어부(11)에 연결된 메모리부(12)에 저장된 기준 이미지 정보로서, 시스템에 따라 소프트웨어의 정상동작시 검출되는 스택 포인트의 변동에 관한 이미지 정보 또는 시스템에 따라 소프트웨어의 비정상동작시 검출되는 스택 포인트의 변동에 관한 이미지 정보일 수 있다. As shown in FIG. 4, the image combination pattern has an input image 202 corresponding to the change in the stack point during normal operation on one side centered on the reference line 201, and a reference corresponding to the input image 202 on the other side. It may have the form of an image combination pattern 200 of stack points combining the images 203. Here, the reference image 203 is reference image information stored in the memory unit 12 connected to the control unit 11. Depending on the system, the reference image 203 is image information about the change in the stack point detected during normal operation of the software or the image information of the software depending on the system. This may be image information about changes in stack points detected during abnormal operation.

이러한 이미지 결합패턴은 다양한 동작신호 각각을 변환하여 획득할 수 있어서, 도 4에 도시된 바와 같이 코드주소 변동의 이미지 결합패턴(300), 메모리 사용량 변동의 이미지 결합패턴(400) 등으로 다수 획득될 수 있다. These image combination patterns can be obtained by converting each of the various operation signals, so as shown in FIG. 4, many can be obtained as the image combination pattern 300 of the code address change, the image combination pattern 400 of the memory usage change, etc. You can.

또한, 이미지 결합패턴은 도 5에 도시된 바와 같이 기준선(201)을 중심으로 일측에 비정상 동작시 스택 포인트의 변동에 해당하는 비정상 입력 이미지(202-2)를 구비하고, 타측에 비정상 입력 이미지(202-2)에 대응하는 레퍼런스 이미지(203)를 결합한 비정상 스택 포인트의 이미지 결합패턴(200')의 형태를 가질 수 있다. 물론, 비정상 코드주소 변동의 이미지 결합패턴(300'), 비정상 메모리 사용량 변동의 이미지 결합패턴(400') 등으로 다수 획득될 수 있다. In addition, as shown in FIG. 5, the image combination pattern has an abnormal input image 202-2 corresponding to the change in the stack point during abnormal operation on one side centered on the reference line 201, and an abnormal input image 202-2 on the other side. It may have the form of an image combination pattern 200' of abnormal stack points combining the reference image 203 corresponding to 202-2). Of course, a number of image combination patterns 300' of abnormal code address changes, image combination patterns 400' of abnormal memory usage changes, etc. can be obtained.

이미지 결합패턴의 정보로 변환한 후, 제어부(11)는 내부에 구비된 딥러닝 신경망에 다수의 이미지 결합패턴 정보를 입력하여 학습 처리한다(S130). After converting the information into image combination pattern information, the control unit 11 inputs a plurality of image combination pattern information into the internal deep learning neural network and performs learning processing (S130).

여기서, 딥러닝 신경망은 예컨대 SqueezeNet, GoogLeNet, ResNet-50, EfficientNet-b0, DarkNet-53 등을 이용할 수 있고, 대표적으로 CNN(Convolutional Neural Network) 신경망을 적용한다. Here, the deep learning neural network can use, for example, SqueezeNet, GoogLeNet, ResNet-50, EfficientNet-b0, DarkNet-53, etc., and the CNN (Convolutional Neural Network) neural network is typically applied.

구체적으로, 제어부(11)는 도 4와 도 5에 도시된 다수의 이미지 결합패턴(200,300,400,200',300',400')의 정보를 딥러닝 신경망에 입력하여 특징맵(feature map)을 추출한다. Specifically, the control unit 11 inputs information on the multiple image combination patterns (200, 300, 400, 200', 300', and 400') shown in FIGS. 4 and 5 into a deep learning neural network to extract a feature map.

특징맵의 추출과정은 딥러닝 신경망의 입력 레이어(input layer)에 다수의 이미지 결합패턴(200,300,400,200',300',400')을 입력하고, 제 1 히든 레이어(hidden layer 1)를 거치면서 필터를 이용해 컨벌루션(convolution) 연산을 실행하는 과정을 포함할 수 있다. The feature map extraction process involves inputting a number of image combination patterns (200, 300, 400, 200', 300', 400') into the input layer of a deep learning neural network, and filtering them through the first hidden layer (hidden layer 1). It may include a process of executing a convolution operation.

이때, 필터를 이용해 컨벌루션 연산은 아래의 [수학식 1]을 이용하여 실행할 수 있다. At this time, convolution operation using a filter can be performed using [Equation 1] below.

여기에서, l은 레이어(layer)를 의미하고, sizel은 레이어의 사이즈를 의미하며, In은 입력 레이어에 입력되는 다수의 이미지 결합패턴(200,300,400,200',300',400')의 수를 의미하고, Ia는 라벨(label)의 수를 의미하며, O는 출력 컨볼루션층(Output Convolution Layer)을 의미하고, w는 가중치를 의미하며, b는 특징맵의 편향 바이어스(bias)를 의미한다. Here, l refers to the layer, size l refers to the size of the layer, and In refers to the number of multiple image combination patterns (200, 300, 400, 200', 300', 400') input to the input layer. , Ia means the number of labels, O means the output convolution layer, w means the weight, and b means the bias of the feature map.

특징맵을 추출한 후, 제어부(11)는 추출한 다수의 특징맵을 합산하고, 합산한 특징맵에 대하여 컨벌루션 연산을 수행해 특징맵을 재생성한다. After extracting the feature map, the control unit 11 adds up the multiple extracted feature maps and performs a convolution operation on the summed feature maps to regenerate the feature map.

이때, 특징맵을 재생성하는 과정은 아래의 [수학식 2]를 이용하여 합산한 특징맵을 컨캐터네이팅(Concatenating)하고, [수학식 3]을 이용한 컨벌루션 연산을 수행하여 실행될 수도 있다. At this time, the process of regenerating the feature map may be performed by concatenating the summed feature map using [Equation 2] below and performing a convolution operation using [Equation 3].

여기서, In은 입력되는 데이터의 수를 의미하고, Ia는 라벨(label)의 수를 의미하며, O는 출력 컨볼루션층(Output Convolution Layer)을 의미하며, w는 가중치를 의미한다. Here, In means the number of input data, Ia means the number of labels, O means the output convolution layer, and w means the weight.

이때, fc는 컨캐터네이팅한 특징맵을 이용하여 컨벌루션 연산을 수행한 결과값을 나타낸 것으로, 재생성된 특징맵을 의미할 수 있다. At this time, f c represents the result of performing a convolution operation using the concatenated feature map, and may mean a regenerated feature map.

특징맵을 재생성한 후, 제어부(11)는 재생성된 특징맵을 활성화 함수(Activation function)에 대입하여 연산할 수 있다. After regenerating the feature map, the control unit 11 may perform calculations by substituting the regenerated feature map into an activation function.

여기서, 활성화 함수는 Sigmoid 함수 또는 ReLu 함수를 이용할 수 있다. Here, the activation function can use the Sigmoid function or the ReLu function.

활성화 함수를 이용하여 출력된 출력값에 대해, 제어부(11)는 획득한 출력값을 이용하여 풀링(pooling) 연산을 실행한다. For the output value output using the activation function, the control unit 11 performs a pooling operation using the obtained output value.

구체적으로, 풀링 연산은 데이터의 차원의 크기를 축소하기 위한 것으로, 데이터에서 세로 및 가로 방향 공간의 크기를 줄이는 연산이다. 이러한 풀링 연산은 다양한 파라미터, 예를 들어 평균, 중간값, 최댓값, 최소값 등을 이용할 수 있고, 여기서는 최댓값 풀링 연산(max polling)을 수행하여 이미지의 제한 영역에서 최댓값을 추출하며, 데이터의 노이즈를 제거할 수 있으며, 데이터가 줄어드는 과정에서 오버 피팅(over fitting)을 방지할 수 있다. Specifically, the pooling operation is intended to reduce the size of the dimension of data, and is an operation that reduces the size of the vertical and horizontal space in the data. This pooling operation can use various parameters, such as mean, median, maximum value, minimum value, etc. Here, maximum value pooling operation (max polling) is performed to extract the maximum value from a limited area of the image and remove noise from the data. This can be done and overfitting can be prevented during the data reduction process.

이러한 최댓값 풀링 연산은 아래의 [수학식 4]를 이용하여 실행될 수 있다. This maximum value pooling operation can be performed using [Equation 4] below.

여기서, x는 풀링 연산을 위해 입력되는 행렬을 의미하고, l은 풀링 연산의 해당층을 의미하며, i는 입력되는 행렬의 행을 의미하며, j는 입력되는 행렬의 열을 의미하며, sizel은 풀링 연산의 해당층 사이즈를 의미하며, Im은 풀링 연산의 해당층에 입력되는 데이터(data)의 수를 의미하고, Ia는 라벨(label)의 수를 의미한다. Here, x refers to the matrix input for the pooling operation, l refers to the corresponding layer of the pooling operation, i refers to the row of the input matrix, j refers to the column of the input matrix, and size l refers to the size of the corresponding layer of the pooling operation, Im refers to the number of data input to the corresponding layer of the pooling operation, and Ia refers to the number of labels.

풀링 연산을 실행한 후, 제어부(11)는 풀링 연산값과 미리 설정한 목표 출력값을 이용하여 손실값을 연산한다. After executing the pooling operation, the control unit 11 calculates the loss value using the pooling operation value and a preset target output value.

구체적으로, 손실값 연산은 아래의 [수학식 5]의 MSLE, [수학식 6]의 RMSLE 또는 [수학식 7]의 sMAPE를 이용하여 연산할 수 있고, 미리 설정한 목표 출력값은 GT(Ground Truth)일 수 있다. Specifically, the loss value can be calculated using MSLE in [Equation 5] below, RMSLE in [Equation 6], or sMAPE in [Equation 7], and the preset target output value is GT (Ground Truth). ) can be.

이때, GT는 예컨대 다수의 이미지 결합패턴(200,300,400,200',300',400')을 제 1 히든 레이어에서 컨벌루션 연산을 수행한 컨벌루션 연산값을 기초로 최댓값 풀링 연산(Max Pooling)을 수행한 값일 수도 있다. At this time, GT may be, for example, a value obtained by performing a maximum pooling operation based on the convolution operation value obtained by performing a convolution operation on a plurality of image combination patterns (200, 300, 400, 200', 300', 400') in the first hidden layer. .

여기서, 는 풀링 연산 단계의 풀링 연산값을 의미하고, 는 미리 설정한 목표 출력값을 의미한다. here, means the pooling operation value of the pooling operation step, means the preset target output value.

손실값을 연산한 후, 제어부(11)는 연산된 손실값을 이용해 매개변수에 대한 수정값을 획득한다. After calculating the loss value, the control unit 11 obtains a correction value for the parameter using the calculated loss value.

이때, 매개변수는 w인 가중치를 의미할 수 있고, 제어부(11)는 획득한 매개 변수에 대한 수정값을 이용하여 매개 변수를 업데이트할 수 있다. At this time, the parameter may mean a weight of w, and the control unit 11 may update the parameter using the modified value for the obtained parameter.

이렇게 업데이트된 매개 변수를 이용하여, 제어부(11)는 상술한 특징맵을 재생성하는 단계부터 매개변수의 수정값을 획득하는 단계까지를 설정된 횟수로 재수행할 수 있다. Using these updated parameters, the control unit 11 can re-perform the steps from the step of regenerating the above-described feature map to the step of obtaining the corrected value of the parameter a set number of times.

이러한 재수행 과정이 1번 완료되면 epoch 1번 학습 완료한 것이고, 재수행 과정이 50번 반복적으로 수행되면 epoch 50으로 학습 완료한 것이다. If this re-performance process is completed once, learning for epoch 1 has been completed, and if the re-performance process is repeated 50 times, learning has been completed for epoch 50.

이러한 설정 횟수의 재수행 과정을 수행한 후, 제어부(11)는 아래의 [수학식 8]과 같은 매칭연산함수를 이용하여 소프트웨어의 동작이 정상인지 비정상인지를 분류한다(S140). After performing the re-execution process the set number of times, the control unit 11 classifies whether the operation of the software is normal or abnormal using a matching operation function as shown in [Equation 8] below (S140).

즉, 재수행 과정을 수행한 결과로 획득한 데이타에 대해 제어부(11)는 아래의 [수학식 8]과 같은 매칭연산함수를 통해 레퍼런스 이미지와 입력 이미지를 서로 비교하여 동일 여부를 판단할 수 있다. That is, with respect to the data obtained as a result of performing the re-performance process, the control unit 11 can compare the reference image and the input image to determine whether they are identical through a matching operation function as shown in [Equation 8] below. .

Figure 112021135075413-pat00013
Figure 112021135075413-pat00013

여기서, ref는 레퍼런스 이미지의 재수행 과정을 수행한 결과이고, templit은 입력 이미지의 재수행 과정을 수행한 결과이며, cv2는 매칭 플래그를 의미한다. Here, ref is the result of re-performing the reference image, template is the result of re-performing the input image, and cv2 means the matching flag.

이러한 레퍼런스 이미지와 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 제어부(11)는 레퍼런스 이미지가 정상 동작에 대한 이미지인지 또는 비정상 동작에 대한 이미지인지에 따라 입력 이미지에 해당하는 소프트웨어의 동작이 정상인지 또는 비정상인지를 분류할 수 있다. If the reference image and the input image are compared with each other and determined to be the same, the control unit 11 determines whether the operation of the software corresponding to the input image is normal or not, depending on whether the reference image is an image for normal operation or an image for abnormal operation. It can be classified as abnormal.

즉, 레퍼런스 이미지가 정상 동작에 대한 이미지이고 레퍼런스 이미지와 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 제어부(11)는 입력 이미지에 해당하는 소프트웨어의 동작이 정상인 것으로 분류한다. That is, if the reference image is an image for normal operation and the reference image and the input image are compared and determined to be the same, the control unit 11 classifies the operation of the software corresponding to the input image as normal.

반면에, 레퍼런스 이미지가 비정상 동작에 대한 이미지이고 레퍼런스 이미지와 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 제어부(11)는 입력 이미지에 해당하는 소프트웨어의 동작이 비정상인 것으로 분류한다. On the other hand, if the reference image is an image for an abnormal operation and the reference image and the input image are compared and determined to be the same, the control unit 11 classifies the operation of the software corresponding to the input image as abnormal.

또한, 이러한 비교 분류과정을 포함한 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 다양한 시스템에 대해서도 동시에 수행될 수 있다. In addition, the software malfunction detection method according to another embodiment of the present invention, including this comparison and classification process, can be performed simultaneously on various systems.

즉, 도 6에 도시된 바와 같이 i번째 시스템에서 레퍼런스 이미지가 정상 동작에 대한 이미지이고 레퍼런스 이미지와 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 제어부(11)는 입력 이미지에 해당하는 소프트웨어의 동작을 정상 상태의 데이터(102)로 분류한다. That is, as shown in FIG. 6, if the reference image in the i-th system is an image for normal operation and the reference image and the input image are compared to determine that they are the same, the control unit 11 operates the software corresponding to the input image. It is classified as steady-state data (102).

동시에 다른 j번째 시스템에서 레퍼런스 이미지가 정상 동작에 대한 이미지이고 레퍼런스 이미지와 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 제어부(11)는 입력 이미지에 해당하는 소프트웨어의 동작을 정상 상태의 데이터(101)로 분류한다. At the same time, in another jth system, if the reference image is an image for normal operation and the reference image and the input image are compared to determine that they are the same, the control unit 11 operates the software corresponding to the input image to the normal state data 101. Classify as

마찬가지로, i번째 시스템과 j번째 시스템 각각에서 레퍼런스 이미지가 정상 동작에 대한 이미지이고 레퍼런스 이미지와 입력 이미지를 서로 비교하여 비유사한 것으로 판단되면, 제어부(11)는 입력 이미지에 해당하는 소프트웨어의 동작을 비정상 상태의 데이터(103,104)로 분류한다. Similarly, if the reference image in each of the i-th system and the j-th system is an image for normal operation and the reference image and the input image are compared with each other and are determined to be dissimilar, the control unit 11 determines the operation of the software corresponding to the input image as abnormal. Classified as state data (103,104).

이와 같이 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 하나의 딥러닝 신경망을 이용하여 다양한 시스템에서 소프트웨어의 동작에 관한 다양한 동작신호를 기준선(201)을 중심으로 입력 이미지와 레퍼런스 이미지를 결합한 이미지 결합패턴으로 비교하므로, 종래에 정상판단을 위한 특징들을 별도로 획득할 필요가 없어 비용을 크게 절감할 수 있다. As such, the software malfunction detection method according to another embodiment of the present invention combines the input image and the reference image centering on the reference line 201 to obtain various operation signals related to the operation of the software in various systems using a deep learning neural network. Since comparison is made using image combination patterns, there is no need to separately acquire features for normal judgment, which can significantly reduce costs.

또한, 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 하나의 딥러닝 신경망을 이용하여 다양한 시스템에 대해 적용할 수 있어서 시스템의 규모가 커짐에 따라 비용 절약효과가 증가한다. In addition, the software malfunction detection method according to another embodiment of the present invention can be applied to various systems using a single deep learning neural network, so the cost saving effect increases as the scale of the system increases.

그리고, 본 발명의 다른 실시예에 따른 소프트웨어의 오동작 검출방법은 다양한 시스템에 따라 딥러닝 신경망을 새로 형성할 필요없이 레퍼런스 이미지를 갱신하는 것으로 용이하게 적용될 수 있다. In addition, the software malfunction detection method according to another embodiment of the present invention can be easily applied to various systems by updating the reference image without the need to newly form a deep learning neural network.

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

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

10: 오동작 검출시스템 11: 제어부
12: 메모리부 13: 센싱부
14: 출력부
200,200',300,300',400,400': 이미지 결합패턴
201: 기준선 202,202-2: 입력 이미지
203: 레퍼런스 이미지
10: Malfunction detection system 11: Control unit
12: memory unit 13: sensing unit
14: output unit
200,200',300,300',400,400': Image combination pattern
201: baseline 202,202-2: input image
203: Reference image

Claims (9)

내부에 하나의 딥러닝(deep learning) 신경망을 구비한 제어부;
상기 제어부에 연결된 메모리부;
상기 제어부와 메모리부에 각각 연결되고, 다수의 센서를 포함한 센싱부; 및
상기 제어부에 연결되고, 상기 제어부의 제어에 따라 소프트웨어의 오동작 여부를 문자로 디스플레이하거나 또는 소리로 알리는 출력부;
를 포함하고,
상기 제어부가 상기 센싱부를 통해 수신한 동작신호를 상기 메모리부에 저장된 레퍼런스(reference) 정보와 비교하여 소프트웨어의 오동작을 검출하고,
상기 제어부는,
시스템이 구동하여 소프트웨어를 실행함에 따라, 제어부가 소프트웨어의 동작신호를 수신하고,
기준선을 중심으로 일측에 구비되는 상기 동작신호의 입력 이미지 및 상기 동작신호의 입력 이미지에 대응하는 이미지로서 상기 기준선을 중심으로 타측에 구비되는 레퍼런스(reference) 이미지를 결합한 이미지 결합패턴 정보를 획득하고,
내부에 구비된 딥러닝 신경망에 상기 이미지 결합패턴 정보를 입력하여 학습 처리하고,
상기 이미지 결합패턴 정보에 대한 학습 처리결과를 이용하여 상기 소프트웨어의 동작이 정상인지 비정상인지를 분류하고,
상기 동작신호는,
메모리 접근위치에 관한 스택 포인트(stack point)의 변동, 코드주소 변동, 메모리 사용량 변동 및 변수 호출 변동 중 어느 하나인 것을 특징으로 하고,
상기 제어부는,
다수의 동작신호를 시간에 따른 변동 그래프 형태로 수신하고, 상기 동작신호 각각을 이미징 처리하여 입력 이미지로 변환하는 것을 특징으로 하는 소프트웨어의 오동작 검출시스템.
A control unit with a deep learning neural network inside;
a memory unit connected to the control unit;
a sensing unit connected to the control unit and the memory unit, respectively, and including a plurality of sensors; and
An output unit connected to the control unit and displaying text or sound to indicate whether the software is malfunctioning according to the control of the control unit;
Including,
The control unit detects software malfunctions by comparing the operation signal received through the sensing unit with reference information stored in the memory unit,
The control unit,
As the system runs and executes software, the control unit receives operation signals from the software,
Obtaining image combination pattern information that combines an input image of the operation signal provided on one side with a reference line and a reference image provided on the other side with the reference line as an image corresponding to the input image of the operation signal,
The image combination pattern information is input to the internal deep learning neural network for learning processing,
Classify whether the operation of the software is normal or abnormal using the learning processing results for the image combination pattern information,
The operation signal is,
Characterized by any one of a change in the stack point, a change in the code address, a change in memory usage, and a change in variable call regarding the memory access location,
The control unit,
A software malfunction detection system characterized by receiving a plurality of operation signals in the form of a graph of changes over time, and converting each of the operation signals into an input image through imaging processing.
삭제delete 제 1 항에 있어서,
상기 레퍼런스 정보는 오동작 검출을 위한 레퍼런스 이미지를 포함하는 것을 특징으로 하는 소프트웨어의 오동작 검출시스템.
According to claim 1,
A software malfunction detection system, wherein the reference information includes a reference image for malfunction detection.
(A) 시스템이 구동하여 소프트웨어를 실행함에 따라, 제어부가 소프트웨어의 동작신호를 수신하는 단계;
(B) 상기 제어부가 기준선을 중심으로 일측에 구비되는 상기 동작신호의 입력 이미지 및 상기 동작신호의 입력 이미지에 대응하는 이미지로서 상기 기준선을 중심으로 타측에 구비되는 레퍼런스(reference) 이미지를 결합한 이미지 결합패턴 정보를 획득하는 단계;
(C) 상기 제어부가 내부에 구비된 딥러닝 신경망에 상기 이미지 결합패턴 정보를 입력하여 학습 처리하는 단계; 및
(D) 상기 제어부가 상기 이미지 결합패턴 정보에 대한 학습 처리결과를 이용하여 상기 소프트웨어의 동작이 정상인지 비정상인지를 분류하는 단계;
를 포함하고,
상기 동작신호는,
메모리 접근위치에 관한 스택 포인트(stack point)의 변동, 코드주소 변동, 메모리 사용량 변동 및 변수 호출 변동 중 어느 하나인 것을 특징으로 하고,
상기 제어부는,
다수의 동작신호를 시간에 따른 변동 그래프 형태로 수신하고, 상기 동작신호 각각을 이미징 처리하여 입력 이미지로 변환하는 소프트웨어의 오동작 검출방법.
(A) As the system runs and executes the software, the control unit receives operation signals of the software;
(B) An image combination in which the control unit combines an input image of the operation signal provided on one side about the reference line and a reference image provided on the other side about the reference line as an image corresponding to the input image of the operation signal. Obtaining pattern information;
(C) learning and processing the image combination pattern information by inputting the image combination pattern information into a deep learning neural network installed within the control unit; and
(D) the control unit classifies whether the operation of the software is normal or abnormal using a learning processing result for the image combination pattern information;
Including,
The operation signal is,
Characterized by any one of a change in the stack point, a change in the code address, a change in memory usage, and a change in variable call regarding the memory access location,
The control unit,
A software malfunction detection method that receives a plurality of operation signals in the form of a graph of changes over time, performs imaging processing on each of the operation signals, and converts them into an input image.
삭제delete 제 4 항에 있어서,
상기 레퍼런스 이미지는 상기 제어부에 연결된 메모리부에 저장된 기준 이미지 정보인 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 4,
A method for detecting malfunction of software, characterized in that the reference image is reference image information stored in a memory unit connected to the control unit.
제 4 항에 있어서,
상기 (D)단계는 매칭연산함수를 이용하여 상기 레퍼런스 이미지와 상기 입력 이미지를 서로 비교하여 동일 여부를 판단하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 4,
The step (D) further includes comparing the reference image and the input image using a matching operation function to determine whether they are identical.
제 7 항에 있어서,
상기 (D)단계는 상기 레퍼런스 이미지가 정상 동작에 대한 이미지이고, 상기 레퍼런스 이미지와 상기 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 상기 입력 이미지에 해당하는 소프트웨어의 동작이 정상인 것으로 분류하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 7,
In the step (D), if the reference image is an image for normal operation and the reference image and the input image are compared and determined to be the same, the operation of the software corresponding to the input image is classified as normal. Method for detecting malfunction of software.
제 7 항에 있어서,
상기 (D)단계는 상기 레퍼런스 이미지가 비정상 동작에 대한 이미지이고, 상기 레퍼런스 이미지와 상기 입력 이미지를 서로 비교하여 동일한 것으로 판단되면, 상기 입력 이미지에 해당하는 소프트웨어의 동작이 비정상인 것으로 분류하는 것을 특징으로 하는 소프트웨어의 오동작 검출방법.
According to claim 7,
The step (D) is characterized in that if the reference image is an image for abnormal operation and the reference image and the input image are compared and determined to be the same, the operation of the software corresponding to the input image is classified as abnormal. Method for detecting software malfunction.
KR1020210162382A 2021-10-27 2021-11-23 System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof KR102662335B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20210144440 2021-10-27
KR1020210144440 2021-10-27

Publications (2)

Publication Number Publication Date
KR20230060407A KR20230060407A (en) 2023-05-04
KR102662335B1 true KR102662335B1 (en) 2024-05-03

Family

ID=86380029

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210162382A KR102662335B1 (en) 2021-10-27 2021-11-23 System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof

Country Status (1)

Country Link
KR (1) KR102662335B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102088164B1 (en) 2019-08-27 2020-03-12 루나 주식회사 Method and apparatus for generating difference between old and new version of data for updating software

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
조준혁 외 2명, "인공신경망을 활용한 소프트웨어 결함 위치 추정 기법", 2018년 추계학술발표대회 논문집 제25권 제2호, pp550-553,(2018.11.30.).*

Also Published As

Publication number Publication date
KR20230060407A (en) 2023-05-04

Similar Documents

Publication Publication Date Title
US11565721B2 (en) Testing a neural network
US11645744B2 (en) Inspection device and inspection method
US10049284B2 (en) Vision-based rain detection using deep learning
GB2585616A (en) Using gradients to detect backdoors in neural networks
CN111976389B (en) Tire wear degree identification method and device
US11586855B2 (en) Method for determining a confidence value of a detected object
KR102088509B1 (en) Method and apparatus for detection of anomaly on computer system
CN110807491A (en) License plate image definition model training method, definition detection method and device
CN110287936B (en) Image detection method, device, equipment and storage medium
CN111783665A (en) Action recognition method and device, storage medium and electronic equipment
US9672677B2 (en) Method and apparatus for detecting magnetic signal of paper money
CN111666848B (en) Method, device and equipment for detecting arrival of transport vehicle and storage medium
WO2019152177A3 (en) System and method for neuromorphic visual activity classification based on foveated detection and contextual filtering
CN110738080A (en) method, device and electronic equipment for identifying modified motor vehicle
CN112541394A (en) Black eye and rhinitis identification method, system and computer medium
KR102662335B1 (en) System of detecting software abnormal operation using Comparative Neural Network Learning and method thereof
CN111402185B (en) Image detection method and device
CN112150344A (en) Method for determining a confidence value of an object of a class
US20220343158A1 (en) Method, device, and computer program for creating training data in a vehicle
Hashemi et al. Runtime monitoring for out-of-distribution detection in object detection neural networks
KR20220118140A (en) Deep learning based injection quality inspection system
EP2573694A1 (en) Conversion method and system
KR102592997B1 (en) Method of detecting software malfunction using Binary Image
US20220139071A1 (en) Information processing device, information processing method, information processing program, and information processing system
Strišković et al. Recognition of maximal speed limit traffic signs for use in advanced ADAS algorithms

Legal Events

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