KR101198393B1 - Method and system for dynamic test of sortware using image duplication - Google Patents

Method and system for dynamic test of sortware using image duplication Download PDF

Info

Publication number
KR101198393B1
KR101198393B1 KR1020100109701A KR20100109701A KR101198393B1 KR 101198393 B1 KR101198393 B1 KR 101198393B1 KR 1020100109701 A KR1020100109701 A KR 1020100109701A KR 20100109701 A KR20100109701 A KR 20100109701A KR 101198393 B1 KR101198393 B1 KR 101198393B1
Authority
KR
South Korea
Prior art keywords
memory
software
image
processor
observing
Prior art date
Application number
KR1020100109701A
Other languages
Korean (ko)
Other versions
KR20120048196A (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 KR1020100109701A priority Critical patent/KR101198393B1/en
Publication of KR20120048196A publication Critical patent/KR20120048196A/en
Application granted granted Critical
Publication of KR101198393B1 publication Critical patent/KR101198393B1/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/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Abstract

개시된 기술은 이미지 복제를 이용한 소프트웨어의 동적 테스트 방법 및 시스템에 관한 것이다. 상기의 기술적 과제를 이루기 위해 개시된 기술은, 소프트웨어의 동적 테스트 방법에 있어서, (a) 소프트웨어의 동작 관찰이 가능한 이미지가 제 1 메모리에서 제 2 메모리로 복제되는 단계; (b) 상기 제 1 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 2 메모리에 저장된 상기 이미지가 제 3 메모리로 복제되는 단계; (c) 상기 제 2 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 3 메모리에 저장된 상기 이미지가 상기 제 1 메모리로 복제되는 단계; 및 (d) 상기 제 3 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 1 메모리에 저장된 상기 이미지가 상기 제 2 메모리로 복제되는 단계를 포함한다.The disclosed technique relates to a dynamic test method and system of software using image replication. In order to achieve the above technical problem, the disclosed technique comprises: (a) copying an image capable of observing operation of software from a first memory to a second memory; (b) operation observation is performed based on the image stored in the first memory, and the image stored in the second memory is copied to a third memory; (c) operation observation is performed based on the image stored in the second memory, and the image stored in the third memory is duplicated into the first memory; And (d) operation observation is performed based on the image stored in the third memory, and the image stored in the first memory is copied to the second memory.

Description

이미지 복제를 이용한 소프트웨어의 동적 테스트 방법 및 시스템 {METHOD AND SYSTEM FOR DYNAMIC TEST OF SORTWARE USING IMAGE DUPLICATION}Dynamic test method and system of software using image cloning {METHOD AND SYSTEM FOR DYNAMIC TEST OF SORTWARE USING IMAGE DUPLICATION}

개시된 기술은 이미지 복제를 이용한 소프트웨어의 동적 테스트 방법 및 시스템에 관한 것이다.The disclosed technique relates to a dynamic test method and system of software using image replication.

소프트웨어의 테스트 단계에서, 코드를 읽고 해석하는 정적 분석만으로는 테스트를 할 수 없는 경우가 많다. 이러한 경우에는 소프트웨어의 동적 분석을 하게 되는데, 소프트웨어를 실행시키면서 개발자 또는 보안전문가가 동작을 관찰 또는 비교하는 것이다. 동적 분석을 진행하기 위해서는, 분석대상이 되는 동작을 유도하기 위한 연속적인 입력이 있어야한다. 또한, 분석대상이 되는 동작이 발생되는 지점에 도달해서는, 다양한 입력을 공급함으로써 다양한 동작을 관찰하여야 한다. 관찰하고자하는 동작에 도달하기 위해서는, 소프트웨어에 대한 정보를 바탕으로 여러 단계의 입력을 제공함으로써, 관찰대상이 되는 동작이 발생할 수 있는 상태로 진입하여야 한다. In the testing phase of software, it is often impossible to test only by static analysis that reads and interprets the code. In this case, a dynamic analysis of the software is performed, where the developer or security professional observes or compares the behavior while executing the software. In order to run a dynamic analysis, there must be a continuous input to derive the behavior to be analyzed. In addition, when reaching the point where the movement to be analyzed occurs, it is necessary to observe the various movements by supplying various inputs. In order to reach an operation to be observed, the user must enter a state in which an operation to be observed can occur by providing inputs of various levels based on information about the software.

소프트웨어가 관찰대상이 되는 동작이 발생할 수 있는 상태로 진입하면, 다양한 입력을 주입함으로써 동작을 다각적으로 관찰하여야 한다. 소프트웨어에 다양한 입력을 주입하여 다양한 동작을 관찰하고자 함에 있어, 일단 하나의 입력에 대한 동작이 실행되면, 그 다음 입력을 주입할 수 없는 상태가 되어버리는 중요한 문제점이 발생한다. 다시 말해서, 소프트웨어의 실행에 의해 동작관찰이 가능한 이미지가 변경되어, 원하는 동작을 유발할 수 있는 실행이 메모리 상에 더 이상 존재하지 않게 된다. 따라서, 소프트웨어 동작의 다양한 관찰을 위해 다양한 입력을 계속 주입하기 위해서는, 관찰대상이 되는 동작이 발생할 수 있는 상태로 되돌아가야 하며, 소프트웨어를 다시 처음부터 실행시키면서, 원하는 동작을 유도하기 위한 연속적인 입력을 다시 주입하여야 한다. 다만, 충분한 관찰을 위해 관찰대상이 되는 동작이 발생할 수 있는 상태로 다시 도달하는 과정을 여러 차례 반복한다면, 많은 시간의 소모를 초래할 수 있다. When the software enters a state where an action to be observed can occur, the action must be observed in various ways by injecting various inputs. In order to observe various operations by injecting various inputs into the software, an important problem arises that once an operation on one input is executed, the next input cannot be injected. In other words, the image that can be observed by the execution of the software is changed so that the execution no longer exists in memory that can cause the desired operation. Therefore, in order to continue injecting various inputs for various observations of the software operation, it is necessary to return to the state where the operation to be observed can occur, and while the software is executed from the beginning, a continuous input for inducing a desired operation is required. It must be injected again. However, if the process of repeating the process of reaching again to the state where the operation to be observed can occur for a sufficient observation, it may cause a lot of time.

개시된 기술이 이루고자 하는 기술적 과제는, 소프트웨어의 동적 테스트를 세 개의 메인 메모리를 통하여 수행함으로써 시간 소모를 줄이고 효율성을 높일 수 있게 하는 데 있다.The technical problem of the disclosed technology is to perform a dynamic test of software through three main memories to reduce time consumption and increase efficiency.

상기의 기술적 과제를 이루기 위해 개시된 기술의 제 1 측면은, 소프트웨어의 동적 테스트 방법에 있어서, (a) 소프트웨어의 동작 관찰이 가능한 이미지가 제 1 메모리에서 제 2 메모리로 복제되는 단계; (b) 상기 제 1 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 2 메모리에 저장된 상기 이미지가 제 3 메모리로 복제되는 단계; (c) 상기 제 2 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 3 메모리에 저장된 상기 이미지가 상기 제 1 메모리로 복제되는 단계; 및 (d) 상기 제 3 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 1 메모리에 저장된 상기 이미지가 상기 제 2 메모리로 복제되는 단계를 포함한다.In order to achieve the above technical problem, a first aspect of the disclosed technology comprises: (a) duplicating an image capable of observing the operation of software from a first memory to a second memory; (b) operation observation is performed based on the image stored in the first memory, and the image stored in the second memory is copied to a third memory; (c) operation observation is performed based on the image stored in the second memory, and the image stored in the third memory is duplicated into the first memory; And (d) operation observation is performed based on the image stored in the third memory, and the image stored in the first memory is copied to the second memory.

상기의 기술적 과제를 이루기 위해 개시된 기술의 제 2 측면은, 소프트웨어의 동적 테스트 방법에 있어서, (a) 소프트웨어의 동작 관찰이 가능한 이미지가 제 1 메모리에서 제 2 메모리로 복제되는 단계; (b) 상기 제 2 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 1 메모리에 저장된 상기 이미지가 상기 제 3 메모리로 복제되는 단계; 및 (c) 상기 제 3 메모리에 저장된 상기 이미지에 기반하여 동작 관찰이 진행되고, 상기 제 1 메모리에 저장된 상기 이미지가 상기 제 2 메모리로 복제되는 단계를 포함한다.According to a second aspect of the disclosed technology to achieve the above technical problem, a dynamic test method of software, the method comprising: (a) copying an image capable of observing the operation of the software from the first memory to the second memory; (b) operation observation is performed based on the image stored in the second memory, and the image stored in the first memory is duplicated into the third memory; And (c) operation observation is performed based on the image stored in the third memory, and the image stored in the first memory is copied to the second memory.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technique may have the following effects. It is to be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, as it is not meant to imply that a particular embodiment should include all of the following effects or only the following effects.

개시된 기술에 따르면, 소프트웨어의 동적 테스트를 위해 세 개의 메모리 사이에서 동작 관찰이 가능한 이미지의 복제를 반복하여 효율성을 높일 수 있다.According to the disclosed technique, the efficiency of the software can be repeated by repeatedly copying the motion observable image between the three memories for dynamic testing of the software.

또한, 개시된 기술에 따르면, 소프트웨어의 동적 테스트에서 반복적이면서 시간 소모가 가장 많은 단계를 자동화함으로써, 대형 소프트웨어의 동적 테스트를 현실화 할 수 있다.In addition, the disclosed technology allows realizing dynamic testing of large software by automating repetitive and time consuming steps in dynamic testing of software.

도 1은 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 시스템을 나타내는 블럭도이다.
도 2는 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 방법을 나타내는 도면이다.
도 3은 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 방법을 나타내는 순서도이다.
도 4는 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 방법을 나타내는 순서도이다.
1 is a block diagram illustrating a dynamic test system of software in accordance with one embodiment of the disclosed technology.
2 is a diagram illustrating a dynamic test method of software according to an embodiment of the disclosed technology.
3 is a flowchart illustrating a dynamic test method of software according to an embodiment of the disclosed technology.
4 is a flowchart illustrating a dynamic test method of software according to an embodiment of the disclosed technology.

개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.The description of the disclosed technique is merely an example for structural or functional explanation and the scope of the disclosed technology should not be construed as being limited by the embodiments described in the text. That is, the embodiments may be variously modified and may have various forms, and thus the scope of the disclosed technology should be understood to include equivalents capable of realizing the technical idea.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present application should be understood as follows.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "include" or "have" refer to features, numbers, steps, operations, components, parts, or parts thereof described. It is to be understood that the combination is intended to be present, but not to exclude in advance the possibility of the presence or addition of one or more other features or numbers, steps, operations, components, parts or combinations thereof.

각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Each step may occur differently from the stated order unless the context clearly dictates the specific order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the disclosed technology belongs, unless otherwise defined. Generally, the terms defined in the dictionary used are to be interpreted to coincide with the meanings in the context of the related art, and should not be interpreted as having ideal or excessively formal meanings unless clearly defined in the present application.

도 1은 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 시스템을 나타내는 블럭도이다. 도 1을 참조하면, 소프트웨어의 동적 테스트 시스템은 메모리(100), 프로세서(200) 및 디바이스들(300)을 포함한다.1 is a block diagram illustrating a dynamic test system of software in accordance with one embodiment of the disclosed technology. Referring to FIG. 1, a dynamic test system of software includes a memory 100, a processor 200, and devices 300.

메모리(100)는 제 1 메모리(110), 제 2 메모리(120) 및 제 3 메모리(130)를 포함할 수 있다. 여기에서, 제 1 내지 제 3 메모리들(110,120,130)은 동일한 사양의 메인 메모리에 해당할 수 있다. 기존에 하나의 메인 메모리에서 이루어지던 동적 테스트를 3 개의 메인 메모리들에서 반복하여 진행하는 것으로서, 동일한 조건하에서 동적 테스트가 이루어져야 하기 때문에 메모리의 사양이 동일할 것이 요구된다. 소프트웨어의 동작 관찰이 가능한 이미지로의 복원을 빠르게 하기 위하여 제 1 내지 제 3 메모리(110,120,130)를 두어 메인 메모리 교체가 가능하도록 하였다. 일 예로서, 제 1 메모리(110)를 원본 메모리, 제 2 메모리(120)를 동적 테스트가 이루어진 메모리, 제 3 메모리(130)를 동적 테스트가 이루어질 예정인 메모리로 볼 수 있다.The memory 100 may include a first memory 110, a second memory 120, and a third memory 130. Here, the first to third memories 110, 120, and 130 may correspond to main memories having the same specification. As the dynamic test, which was previously performed in one main memory, is repeatedly performed in three main memories, the dynamic specification is required under the same conditions, so that the memory specifications are the same. The first to third memories 110, 120, and 130 are provided to replace the main memory in order to quickly restore the software to an image that can observe the operation of the software. For example, the first memory 110 may be viewed as an original memory, the second memory 120 may be a memory for which dynamic testing has been performed, and the third memory 130 may be regarded as a memory for which dynamic testing is to be performed.

프로세서(200)는 제 1 프로세서(210) 및 제 2 프로세서(220)를 포함할 수 있다. 제 1 프로세서(210)는 소프트웨어의 동작 관찰이 가능한 이미지에 대하여 동작 관찰을 수행하는 프로세서이며, 제 2 프로세서(220)는 소프트웨어의 동작 관찰이 가능한 이미지를 제 1 내지 제 3 메모리들(110,120,130) 중 어느 하나의 메모리로부터 다른 메모리로 복제하는 과정을 수행하는 프로세서에 해당할 수 있다.The processor 200 may include a first processor 210 and a second processor 220. The first processor 210 is a processor that performs motion observation on an image capable of observing operation of software, and the second processor 220 displays an image capable of observing operation of software among the first to third memories 110, 120, and 130. It may correspond to a processor performing a process of copying from one memory to another memory.

디바이스들(300)은 메모리와 연결된 각종 장치들로서 제 1 내지 제 3 메모리(110,120,130)들 중에서 동작 관찰이 진행되는 메모리와 연결되어 동작할 수 있다. 일 예로서, 제 1 메모리(110)에서 동작 관찰이 진행되는 경우에 디바이스들(300)은 제 1 메모리(110)와 연결될 수 있다. 또한, 제 2 메모리(120)에서 동작 관찰이 진행되는 경우에 디바이스들(300)은 제 2 메모리(120)에 연결될 수 있고, 제 3 메모리(130)에서 동작 관찰이 진행되는 경우에 디바이스들(300)은 제 3 메모리(130)에 연결될 수 있다. 여기에서, 디바이스는 모니터, 키보드, 네트워크 카드 등을 포함할 수 있다.
The devices 300 are various devices connected to a memory and may be connected to a memory in which an operation observation is performed among the first to third memories 110, 120, and 130. As an example, when operation observation is performed in the first memory 110, the devices 300 may be connected to the first memory 110. Also, when the operation observation is performed in the second memory 120, the devices 300 may be connected to the second memory 120, and when the operation observation is performed in the third memory 130, the devices ( 300 may be connected to the third memory 130. Here, the device may include a monitor, a keyboard, a network card, and the like.

도 2는 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 방법을 나타내는 도면이다. 도 2를 참조하면, 선택된 제 1 메모리(110)에서 소프트웨어의 실행이 일어나도록 한다. 여기에서, 소프트웨어는 무결성 확인을 위해 동적 테스트를 수행하기 위한 소프트웨어를 의미한다. 소프트웨어가 실행되는 제 1 메모리(110)가 동작 관찰이 가능한 이미지(400)에 도달하면, 제 1 메모리(110)는 제 1 메모리(110)에 저장된 동작 관찰이 가능한 이미지(400)를 제 2 메모리(120)로 복제한다. 여기에서, 동작 관찰이 가능한 이미지(400)는 소프트웨어의 동적 테스트에서 소프트웨어가 관찰대상이 되는 동작이 발생할 수 있는 상태의 메모리 이미지로서, 소프트웨어에 대한 정보를 바탕으로 여러 단계의 입력을 제공함으로써 나타날 수 있다. 제 1 메모리(110)에서 소프트웨어의 동작 관찰이 진행되는 동안, 제 2 메모리(120)는 제 2 메모리(120)에 저장된 동작 관찰이 가능한 이미지(400)를 제 3 메모리(130)로 복제한다. 제 2 메모리(120)에서 소프트웨어의 동작 관찰이 진행되는 동안, 제 3 메모리(130)는 제 3 메모리(130)에 저장된 동작 관찰이 가능한 이미지(400)를 제 1 메모리(110)로 복제한다. 제 1 메모리(110)에서 동작 관찰이 종료되는 경우, 제 2 메모리(120)에서 동작 관찰이 진행될 수 있다. 제 3 메모리(120)에서 소프트웨어의 동작 관찰이 진행되는 동안, 제 1 메모리(110)는 제 1 메모리(110)에 저장된 동작 관찰이 가능한 이미지(400)를 제 2 메모리(120)로 복제한다. 제 2 메모리(120)에서 동작 관찰이 종료되는 경우, 제 3 메모리(130)에서 동작 관찰이 진행될 수 있다. 제 1 메모리(110) 내지 제 3 메모리(130)는 위와 같은 단계를 반복하여 수행할 수 있고, 개발자 또는 보안전문가는 각각의 메모리에서의 동작을 관찰할 수 있다. 메인 메모리를 빠르게 교체해가면서 동작 관찰이 가능한 이미지(400)를 빠르게 공급받을 수 있어 소프트웨어를 다시 처음부터 실행시키지 않고 소프트웨어의 동적 테스트가 가능할 수 있다.
2 is a diagram illustrating a dynamic test method of software according to an embodiment of the disclosed technology. 2, the execution of the software occurs in the selected first memory 110. Here, software refers to software for performing dynamic tests to verify integrity. When the first memory 110 in which the software is executed reaches the image 400 in which the operation can be observed, the first memory 110 stores the image 400 in which the operation observation in the first memory 110 can be observed. Replicate to 120. Here, the motion observable image 400 is a memory image of a state in which a motion to be observed by the software may occur in a dynamic test of the software, and may be displayed by providing inputs of various levels based on information about the software. have. While the operation observation of the software is performed in the first memory 110, the second memory 120 duplicates the image 400 capable of observing the operation stored in the second memory 120 to the third memory 130. While the operation observation of the software is performed in the second memory 120, the third memory 130 copies the image 400 capable of observing the operation stored in the third memory 130 to the first memory 110. When the operation observation is terminated in the first memory 110, the operation observation may be performed in the second memory 120. While the operation observation of the software is performed in the third memory 120, the first memory 110 copies the image 400 capable of observing the operation stored in the first memory 110 to the second memory 120. When the operation observation is finished in the second memory 120, the operation observation may be performed in the third memory 130. The first memory 110 to the third memory 130 may repeat the above steps, and a developer or a security expert may observe the operation in each memory. By rapidly replacing the main memory and being able to quickly receive an image 400 capable of observing motion, dynamic testing of the software may be performed without executing the software again from the beginning.

도 3은 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 방법을 나타내는 순서도이다. 도 3을 참조하면, 제 1 메모리(110)에서 소프트웨어가 실행되어 제 1 메모리(110)가 동작 관찰이 가능한 이미지(400)에 도달한다(S510). 여기에서, 소프트웨어는 무결성 확인을 위해 동적 테스트를 수행하기 위한 소프트웨어를 의미한다. 동작 관찰이 가능한 이미지(400)는 소프트웨어의 동적 테스트에서 관찰대상이 되는 동작이 발생할 수 있는 상태의 메모리 이미지로서, 소프트웨어에 대한 정보를 바탕으로 여러 단계의 입력을 제공함으로써 나타날 수 있다.3 is a flowchart illustrating a dynamic test method of software according to an embodiment of the disclosed technology. Referring to FIG. 3, software is executed in the first memory 110 to reach the image 400 in which the first memory 110 can observe the operation (S510). Here, software refers to software for performing dynamic tests to verify integrity. The motion observable image 400 is a memory image of a state in which motion to be observed in a dynamic test of software may occur, and may be displayed by providing inputs of various levels based on information about the software.

소프트웨어의 동작 관찰이 가능한 이미지(400)가 제 1 메모리(110)에서 제 2 메모리(120)로 복제된다(S520). 제 1 메모리(110)에서 제 2 메모리(120)로 동적 관찰이 가능한 이미지(400)가 복제되는 과정은 제 2 프로세서(220)에 의해 수행될 수 있다. 동적 관찰이 가능한 이미지(400)를 복제하는 과정은 메인 메모리가 동적 관찰이 가능한 이미지(400)로 복원되는 것을 빠르게 하여 많은 시간이 소모되는 것을 방지하기 위함이다. An image 400 capable of observing the operation of the software is copied from the first memory 110 to the second memory 120 (S520). The process of copying the image 400 capable of dynamically observing from the first memory 110 to the second memory 120 may be performed by the second processor 220. The process of duplicating the dynamic viewable image 400 is to prevent the main memory from being consumed a lot of time by speeding up the restoration of the main memory to the dynamic viewable image 400.

제 1 메모리(110)에 저장된 동작 관찰이 가능한 이미지(400)에 기반하여 동작 관찰이 진행되고, 제 2 메모리(120)에 저장된 동작 관찰이 가능한 이미지(400)가 제 3 메모리(130)로 복제된다(S530). 보다 상세하게는, 제 1 메모리(110)에서의 동작 관찰은 제 1 프로세서(210)에 의해 수행되고, 제 2 메모리(120)에서 제 3 메모리(130)로 동작 관찰이 가능한 이미지(400)가 복제되는 과정은 제 2 프로세서(220)에 의해 수행될 수 있다. 제 1 메모리(110)에서 동작 관찰이 이루어지는 경우에 디바이스들(300)은 제 1 메모리(110)에 연결될 수 있다. 디바이스들(300)은 키보드, 모니터, 네트워크 카드 등을 포함할 수 있다. 제 1 메모리(110)에서 소프트웨어의 동적 테스트가 이루어지는 동안 제 2 메모리(120)가 동작 관찰이 가능한 이미지(400)를 제 3 메모리(130)로 복제하는 것은 동작 관찰이 가능한 이미지(400)의 복원을 빠르게하기 위함이다. Operation observation is performed based on the image 400 capable of observing motion stored in the first memory 110, and the image 400 capable of observing motion stored in the second memory 120 is copied to the third memory 130. (S530). More specifically, the operation observation in the first memory 110 is performed by the first processor 210, and the image 400 capable of observing the operation from the second memory 120 to the third memory 130 is provided. The duplicated process may be performed by the second processor 220. When an operation is observed in the first memory 110, the devices 300 may be connected to the first memory 110. The devices 300 may include a keyboard, a monitor, a network card, and the like. Replicating the image 400 in which the second memory 120 can observe the motion to the third memory 130 during the dynamic test of the software in the first memory 110 is to restore the image 400 in which the motion can be observed. To speed it up.

제 2 메모리(120)에 저장된 동작 관찰이 가능한 이미지(400)에 기반하여 동작 관찰이 진행되고, 제 3 메모리(130)에 저장된 동작 관찰이 가능한 이미지(400)가 제 1 메모리로 복제된다(S540). 보다 상세하게는, 제 2 메모리(120)에서의 동작 관찰은 제 1 프로세서(210)에 의해 수행되고, 제 3 메모리(130)에서 제 1 메모리(110)로 동작 관찰이 가능한 이미지(400)가 복제되는 것은 제 2 프로세서(220)에 의해 수행될 수 있다. 제 2 메모리(120)에서 동작 관찰이 이루어지는 경우에 디바이스들(300)은 제 2 메모리(120)에 연결될 수 있다. 일 예로서, 제 2 메모리(120)의 동작 관찰은 제 1 메모리(110)에서의 동작 관찰이 종료된 경우에 이루어질 수 있다. Operation observation is performed based on the image 400 capable of observing motion stored in the second memory 120, and the image 400 capable of observing motion stored in the third memory 130 is copied to the first memory (S540). ). More specifically, the operation observation in the second memory 120 is performed by the first processor 210, and the image 400 capable of observing the operation from the third memory 130 to the first memory 110 is provided. The copying may be performed by the second processor 220. When the operation is observed in the second memory 120, the devices 300 may be connected to the second memory 120. For example, the operation observation of the second memory 120 may be performed when the operation observation in the first memory 110 ends.

제 3 메모리(130)에 저장된 동작 관찰이 가능한 이미지(400)에 기반하여 동작 관찰이 진행되고, 제 1 메모리(110)에 저장된 동작 관찰이 가능한 이미지(400)가 제 2 메모리(120)로 복제된다(S550). 보다 상세하게는, 제 3 메모리(130)에서의 동작 관찰은 제 1 프로세서(210)에 의해 수행되고, 제 1 메모리(110)에서 제 2 메모리(120)로 동작 관찰이 가능한 이미지(400)가 복제되는 것은 제 2 프로세서(220)에 의해 수행될 수 있다. 제 3 메모리(130)에서 동작 관찰이 이루어지는 경우에 디바이스들(300)은 제 3 메모리(130)에 연결될 수 있다. 일 예로서, 제 3 메모리(130)의 동작 관찰은 제 2 메모리(120)에서의 동작 관찰이 종료된 이후에 이루어질 수 있다. Motion observation is performed based on the image 400 capable of observing motion stored in the third memory 130, and the image 400 capable of observing motion stored in the first memory 110 is copied to the second memory 120. It becomes (S550). More specifically, the operation observation in the third memory 130 is performed by the first processor 210, and the image 400 capable of observing the operation from the first memory 110 to the second memory 120 is provided. The copying may be performed by the second processor 220. When the operation is observed in the third memory 130, the devices 300 may be connected to the third memory 130. As an example, the operation observation of the third memory 130 may be performed after the operation observation in the second memory 120 ends.

S510 내지 S550 단계가 수행된 이후에는 S530 내지 S550 단계가 반복하여 순차적으로 이루어질 수 있고, 개발자 또는 보안전문가는 각각의 메모리에서의 동작을 관찰할 수 있다. 제 1 내지 제 3 메모리들(110,120,130)은 동일한 사양의 메인 메모리에 해당할 수 있다. 기존에 하나의 메인 메모리에서 이루어지던 동적 테스트를 3개의 메모리가 돌아가면서 진행하는 것으로서, 동일한 조건하에서 동적 테스트가 이루어져야 하기 때문이다. 또한, 소프트웨어의 동작 관찰이 가능한 이미지로의 복원을 빠르게 하기 위하여 제 1 내지 제 3 메모리들(110,120,130)을 두어 메인 메모리 교체가 가능하도록 하였다. 따라서, 메인 메모리를 빠르게 교체해가면서 동작 관찰이 가능한 이미지(400)를 빠르게 공급받을 수 있어 소프트웨어를 다시 처음부터 실행시키지 않고 소프트웨어의 동적 테스트가 가능할 수 있다. 제 1 내지 제 3 메모리들(110,120,130)이 동작 관찰이 진행되는 동안 연결되는 디바이스들(300)은 동일할 수 있다. 여기에서, 디바이스들(300)은 모니터, 키보드, 네트워크 카드 등을 포함할 수 있다. 동작 관찰을 수행하는 때에 다양한 동작을 관찰하기 위하여 제 1 내지 제 3 메모리들(110,120,130)에 서로 다른 입력을 제공하는 것이 가능할 수 있다.
After the steps S510 to S550 are performed, the steps S530 to S550 may be repeated sequentially, and a developer or a security expert may observe an operation in each memory. The first to third memories 110, 120, and 130 may correspond to a main memory having the same specification. This is because three tests of the dynamic test, which were previously performed in one main memory, are performed in turn, and the dynamic test should be performed under the same conditions. In addition, the first to third memories 110, 120, and 130 may be provided to replace the main memory in order to quickly restore the software to an image that can observe the operation of the software. Therefore, the main memory can be quickly replaced and the image 400 capable of observing motion can be quickly supplied, thereby enabling dynamic testing of the software without executing the software from the beginning. The devices 300 connected to the first to third memories 110, 120, and 130 while the operation is being observed may be the same. Here, the devices 300 may include a monitor, a keyboard, a network card, and the like. When performing an operation observation, it may be possible to provide different inputs to the first to third memories 110, 120, and 130 to observe various operations.

도 4는 개시된 기술의 일 실시예에 따른 소프트웨어의 동적 테스트 방법을 나타내는 순서도이다. 도 4를 참조하면, 제 1 메모리(110)에서 소프트웨어가 실행되어 제 1 메모리(110)가 동작 관찰이 가능한 이미지(400)에 도달한다(S610). 여기에서, 소프트웨어는 무결성 확인을 위해 동적 테스트를 수행하기 위한 소프트웨어를 의미한다. 동작 관찰이 가능한 이미지(400)는 소프트웨어의 동적 테스트에서 소프트웨어가 관찰대상이 되는 동작이 발생할 수 있는 상태의 메모리 이미지로서, 소프트웨어에 대한 정보를 바탕으로 여러 단계의 입력을 제공함으로써 나타날 수 있다.4 is a flowchart illustrating a dynamic test method of software according to an embodiment of the disclosed technology. Referring to FIG. 4, software is executed in the first memory 110 to reach the image 400 in which the first memory 110 can observe the operation (S610). Here, software refers to software for performing dynamic tests to verify integrity. The motion observable image 400 is a memory image of a state in which a motion to be observed by the software may occur in a dynamic test of the software, and may be displayed by providing inputs of various levels based on information about the software.

소프트웨어의 동작 관찰이 가능한 이미지(400)가 제 1 메모리(110)에서 제 2 메모리(120)로 복제된다(S620). 제 1 메모리(110)에서 제 2 메모리(120)로 동적 관찰이 가능한 이미지(400)가 복제되는 과정은 제 2 프로세서(220)에 의해 수행될 수 있다. 동적 관찰이 가능한 이미지(400)를 복제하는 과정은 메인 메모리가 동적 관찰이 가능한 이미지(400)로 복원되는 것을 빠르게 하여 많은 시간이 소모되는 것을 방지하기 위함이다. An image 400 capable of observing the operation of the software is copied from the first memory 110 to the second memory 120 (S620). The process of copying the image 400 capable of dynamically observing from the first memory 110 to the second memory 120 may be performed by the second processor 220. The process of duplicating the dynamic viewable image 400 is to prevent the main memory from being consumed a lot of time by speeding up the restoration of the main memory to the dynamic viewable image 400.

제 2 메모리(120)에 저장된 동작 관찰이 가능한 이미지(400)에 기반하여 동작 관찰이 진행되고, 제 1 메모리(110)에 저장된 동작 관찰이 가능한 이미지(400)가 제 3 메모리(130)로 복제된다(S630). 제 2 메모리(120)에서의 동작 관찰은 제 1 프로세서(210)에 의해 수행되고, 제 1 메모리(110)에서 제 3 메모리(130)로 동작 관찰이 가능한 이미지(400)가 복제되는 과정은 제 2 프로세서(220)에 의해 수행될 수 있다. 제 2 메모리(120)에서 소프트웨어의 동작 관찰이 이루어지는 경우에 디바이스들(300)은 제 2 메모리(120)에 연결될 수 있다. 여기에서, 디바이스들(300)은 모니터, 키보드, 네트워크 카드 등을 포함할 수 있다.Operation observation is performed based on the image 400 capable of observing motion stored in the second memory 120, and the image 400 capable of observing motion stored in the first memory 110 is copied to the third memory 130. (S630). Operation observation in the second memory 120 is performed by the first processor 210, and the process of copying an image 400 capable of observing operation from the first memory 110 to the third memory 130 is performed. 2 may be performed by the processor 220. When the operation of software is performed in the second memory 120, the devices 300 may be connected to the second memory 120. Here, the devices 300 may include a monitor, a keyboard, a network card, and the like.

제 3 메모리(130)에 저장된 동작 관찰이 가능한 이미지(400)에 기반하여 동작 관찰이 진행되고, 제 1 메모리(110)에 저장된 동작 관찰이 가능한 이미지(400)가 제 2 메모리(120)로 복제된다(S640). 제 3 메모리(130)에서의 동작 관찰은 제 1 프로세서(210)에 의해 수행되고, 제 1 메모리(110)에서 제 2 메모리(120)로 동작 관찰이 가능한 이미지(400)가 복제되는 것은 제 2 프로세서(220)에 의해 수행될 수 있다. 제 3 메모리(130)에서 소프트웨어의 동작 관찰이 이루어지는 경우에 디바이스들(300)은 제 3 메모리(130)에 연결될 수 있다. 또한, 제 3 메모리(130)에서의 동작 관찰은 제 2 메모리(120)에서의 동작 관찰이 종료된 경우에 이루어질 수 있다.Motion observation is performed based on the image 400 capable of observing motion stored in the third memory 130, and the image 400 capable of observing motion stored in the first memory 110 is copied to the second memory 120. (S640). Operation observation in the third memory 130 is performed by the first processor 210, and the image 400 capable of observing operation from the first memory 110 to the second memory 120 is duplicated. It may be performed by the processor 220. When the operation of software is performed in the third memory 130, the devices 300 may be connected to the third memory 130. In addition, the operation observation in the third memory 130 may be performed when the operation observation in the second memory 120 ends.

S610 내지 S640 단계가 수행된 이후에는 S630 내지 S640 단계가 반복하여 순차적으로 이루어질 수 있고, 개발자 또는 보안전문가는 각각의 메모리에서의 동작을 관찰할 수 있다. 동작 관찰을 수행하는 때에 다양한 동작을 관찰하기 위하여 제 2 내지 제 3 메모리들(120,130)에 서로 다른 입력을 제공하는 것이 가능할 수 있다. 제 1 내지 제 3 메모리들(110,120,130)은 동일한 사양의 메인 메모리에 해당할 수 있다. 기존에 하나의 메인 메모리에서 이루어지던 동적 테스트를 3개의 메모리가 돌아가면서 진행하는 것으로서, 동일한 조건하에서 동적 테스트가 이루어져야 하기 때문이다.
After the steps S610 to S640 are performed, the steps S630 to S640 may be repeatedly performed sequentially, and the developer or the security expert may observe the operation in each memory. When performing an operation observation, it may be possible to provide different inputs to the second to third memories 120 and 130 to observe various operations. The first to third memories 110, 120, and 130 may correspond to a main memory having the same specification. This is because three tests of the dynamic test, which were previously performed in one main memory, are performed in turn, and the dynamic test should be performed under the same conditions.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

100 : 메모리 200 : 프로세서
300 : 디바이스들 400 : 동작 관찰이 가능한 이미지
100: memory 200: processor
300: devices 400: images that can observe the motion

Claims (16)

(a) 소프트웨어의 동작 관찰이 가능한 상태인, 제 1 메모리에 저장된 이미지가 제 2 메모리에 복제되어 저장되는 단계;
(b) 상기 제 1 메모리에 저장된 이미지에 입력이 수행되어 동작 관찰이 진행되고, 상기 제 2 메모리에 저장된 이미지가 제 3 메모리에 복제되어 저장되는 단계;
(c) 상기 제 2 메모리에 저장된 이미지에 입력이 수행되어 동작 관찰이 진행되고, 상기 제 3 메모리에 저장된 이미지가 상기 제 1 메모리에 복제되어 저장되는 단계; 및
(d) 상기 제 3 메모리에 저장된 이미지에 입력이 수행되어 동작 관찰이 진행되고, 상기 제 1 메모리에 저장된 이미지가 상기 제 2 메모리로 복제되어 저장되는 단계를 포함하되,
(b)단계, (c)단계 및 (d)단계에서 상기 입력은 서로 다른 종류의 입력인 소프트웨어의 동적 테스트 방법.
(a) copying and storing the image stored in the first memory in the state where the operation of the software can be observed;
(b) inputting an image stored in the first memory to observe an operation, and copying and storing the image stored in the second memory into a third memory;
(c) inputting an image stored in the second memory to observe an operation, and copying and storing the image stored in the third memory into the first memory; And
(d) inputting an image stored in the third memory to observe an operation, and copying and storing the image stored in the first memory into the second memory,
and wherein said inputs in steps (b), (c) and (d) are different kinds of inputs.
삭제delete 제1항에 있어서,
상기 (b) 내지 (d) 계는 반복하여 순차적으로 이루어지는 소프트웨어의 동적 테스트 방법.
The method of claim 1,
The (b) to (d) system is a dynamic test method of the software is made sequentially sequentially.
제1항에 있어서,
상기 제 1 내지 제 3 메모리들은 동일한 사양의 메인 메모리에 해당하는 소프트웨어의 동적 테스트 방법.
The method of claim 1,
The first to third memories correspond to main memory having the same specification.
제 1 항에 있어서,
상기 제 1 내지 제 3 메모리들은 동일한 디바이스들에 연결되어 있는 소프트웨어의 동적 테스트 방법.
The method of claim 1,
Wherein said first to third memories are connected to the same devices.
삭제delete 제1항에 있어서,
상기 (b) 내지 (d) 단계에서 수행되는 동작 관찰들은 제 1 프로세서에 의해 수행되며, 상기 (a) 내지 (c) 단계에서 수행되는 복제들은 제 2 프로세서에 의해 수행되는 소프트웨어의 동적 테스트 방법.
The method of claim 1,
Operational observations performed in steps (b) to (d) are performed by a first processor, and duplications performed in steps (a) to (c) are performed by a second processor.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 소프트웨어의 동적 테스트를 수행하는 시스템에 있어서,
제 1 프로세서;
제 2 프로세서; 및
제 1 메모리 내지 제 3 메모리를 포함하되,
상기 제 1 프로세서는
상기 제 1 메모리에 상기 소프트웨어의 동작 관찰이 가능한 상태의 이미지가 복제되면, 상기 제 1 메모리에 복제된 이미지에 입력을 수행하여 상기 소프트웨어의 동작 관찰을 수행하고,
상기 제 2 메모리에 상기 소프트웨어의 동작 관찰이 가능한 상태의 이미지가 복제되면, 상기 제 2 메모리에 복제된 이미지에 입력을 수행하여 상기 소프트웨어의 동작 관찰을 수행하고,
상기 제 3 메모리에 상기 소프트웨어의 동작 관찰이 가능한 상태의 이미지가 복제되면, 상기 제 3 메모리에 복제된 이미지에 입력을 수행하여 상기 소프트웨어의 동작 관찰을 수행하고,
상기 제 2 프로세서는 상기 제 1 프로세서가 제 1 내지 제 3 메모리에서 선택된 메모리에서 상기 동작 관찰을 수행하는 동안 선택되지 않은 메모리에 상기 소프트웨어의 동작 관찰이 가능한 상태의 이미지를 복제하는 소프트웨어의 동적 테스트 시스템.
In a system that performs dynamic testing of software,
A first processor;
A second processor; And
Including first to third memories,
The first processor
When the image of the state capable of observing the operation of the software is copied to the first memory, the operation of the software is performed by inputting the image copied to the first memory,
When the image of the state capable of observing the operation of the software is copied to the second memory, the operation of the software is performed by inputting the image copied to the second memory,
When the image of the state capable of observing the operation of the software is copied to the third memory, the operation of the software is performed by inputting the image copied to the third memory,
The second processor is a dynamic test system of software for copying an image of a state in which the operation of the software can be observed in the unselected memory while the first processor performs the operation observation in the selected memory in the first to third memory. .
제 15 항에 있어서,
상기 제 1 내지 제 3 메모리들은 서로 다른 입력을 제공받아 동작 관찰이 이루어지는 소프트웨어의 동적 테스트 시스템.
The method of claim 15,
And the first to third memories are provided with different inputs and perform motion observation.
KR1020100109701A 2010-11-05 2010-11-05 Method and system for dynamic test of sortware using image duplication KR101198393B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100109701A KR101198393B1 (en) 2010-11-05 2010-11-05 Method and system for dynamic test of sortware using image duplication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100109701A KR101198393B1 (en) 2010-11-05 2010-11-05 Method and system for dynamic test of sortware using image duplication

Publications (2)

Publication Number Publication Date
KR20120048196A KR20120048196A (en) 2012-05-15
KR101198393B1 true KR101198393B1 (en) 2012-11-09

Family

ID=46266590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100109701A KR101198393B1 (en) 2010-11-05 2010-11-05 Method and system for dynamic test of sortware using image duplication

Country Status (1)

Country Link
KR (1) KR101198393B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100277151B1 (en) 1997-12-25 2001-01-15 가네꼬 히사시 Image defect detection device and method
KR100441712B1 (en) 2001-12-29 2004-07-27 엘지전자 주식회사 Extensible Multi-processing System and Method of Replicating Memory thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100277151B1 (en) 1997-12-25 2001-01-15 가네꼬 히사시 Image defect detection device and method
KR100441712B1 (en) 2001-12-29 2004-07-27 엘지전자 주식회사 Extensible Multi-processing System and Method of Replicating Memory thereof

Also Published As

Publication number Publication date
KR20120048196A (en) 2012-05-15

Similar Documents

Publication Publication Date Title
KR101695015B1 (en) Method of testing a software based on a fault-injection and system for the same
US9092565B2 (en) Synchronization point visualization for modified program source code
KR101748833B1 (en) Software failure locating method, apparatus and equipment
Aniche et al. Most common mistakes in test-driven development practice: Results from an online survey with developers
Mattiello-Francisco et al. InRob: An approach for testing interoperability and robustness of real-time embedded software
CN108287789A (en) Batch-automated test method, device and electronic equipment
KR101198393B1 (en) Method and system for dynamic test of sortware using image duplication
JP5395642B2 (en) TEST SUPPORT DEVICE AND TEST SUPPORT METHOD FOR PLANT CONTROL DEVICE
Kaner Architectures of test automation
JP2010267209A (en) Program, apparatus, and method for supporting verification
CN105701373A (en) ADB interface opening method and apparatus
JP2009122992A (en) Counter example analysis support apparatus
US8990624B2 (en) Emulator verification system, emulator verification method
Kugler et al. Testing scenario-based models
Schieferdecker Model-based fuzz testing
CN112765018A (en) Instrument and meter debugging system and method
JP2016126700A (en) Program verification device, program verification method, and program verification program
CN109460226A (en) Test certificate image generation method, device, equipment and storage medium
CN111984543B (en) Instruction testing method, device and system
Bångerius et al. Functional testing of an Android application
Lin et al. An algorithm for forward reduction in sequence-based software specification
Budnik et al. Industrial requirements to benefit from test automation tools for GUI testing
CN111031089A (en) Test method for web conference control client and computer equipment
Carballa et al. Automatic generation of UML sequence diagrams from test counterexamples
CN112015605A (en) Memory test method and device, computer equipment and storage medium

Legal Events

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

Payment date: 20151005

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee