KR101476536B1 - The method and system for inspecting program - Google Patents

The method and system for inspecting program Download PDF

Info

Publication number
KR101476536B1
KR101476536B1 KR1020130059976A KR20130059976A KR101476536B1 KR 101476536 B1 KR101476536 B1 KR 101476536B1 KR 1020130059976 A KR1020130059976 A KR 1020130059976A KR 20130059976 A KR20130059976 A KR 20130059976A KR 101476536 B1 KR101476536 B1 KR 101476536B1
Authority
KR
South Korea
Prior art keywords
program
real
code
time execution
execution information
Prior art date
Application number
KR1020130059976A
Other languages
Korean (ko)
Other versions
KR20140139383A (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 KR1020130059976A priority Critical patent/KR101476536B1/en
Publication of KR20140139383A publication Critical patent/KR20140139383A/en
Application granted granted Critical
Publication of KR101476536B1 publication Critical patent/KR101476536B1/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
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 프로그램 무결성 관리 방법, 시스템 및 그 방법을 컴퓨터 상에서 실행하는 프로그램을 기록한 기록매체에 관한 것으로, 본 발명은 프로그램의 소스코드를 프로세서(Processor)가 실행가능한 실행코드로 변환하여 메모리에 기록하는 단계; 상기 소스코드에서 객체를 정의하는 객체정보를 읽는 단계; 상기 객체정보를 이용하여, 상기 실행코드에서 상기 객체의 실시간 실행정보를 읽는 단계; 상기 실시간 실행정보를 사용자에게 출력하는 단계; 및 상기 실시간 실행정보를 분석하여, 상기 프로그램의 동작 여부를 판단하는 단계를 포함하는 프로그램 검수 방법을 제공한다. 상기와 같은 구성을 통하여, 본 발명에 따른 프로그램 무결성 관리 방법 및 시스템은 인터넷 연결 여부와 같은 사용자 환경에 구애받지 않고 프로그램의 무결성을 검증할 수 있다. 그리고, 중간 코드 내 무결성 정보의 존재 여부를 확인하는 간단한 작업만으로 프로그램의 무결성을 검증할 수 있어, 프로그램이 실행되는 시스템에 부하를 발생하지 않고, 빠른 속도로 무결성 검증이 가능하다.[0001] The present invention relates to a program integrity management method, a system and a recording medium on which a program for executing the method is recorded, the source code of the program being converted into an executable code executable by a processor and recorded in a memory step; Reading object information defining an object in the source code; Reading real-time execution information of the object from the execution code using the object information; Outputting the real-time execution information to a user; And analyzing the real-time execution information to determine whether the program is operating. Through the above-described configuration, the program integrity management method and system according to the present invention can verify the integrity of the program regardless of the user environment such as whether or not the user is connected to the Internet. The integrity of the program can be verified only by a simple operation of confirming the existence of the integrity information in the intermediate code, and the integrity verification can be performed at a high speed without causing a load on the system in which the program is executed.

Description

프로그램 검수 방법 및 시스템{THE METHOD AND SYSTEM FOR INSPECTING PROGRAM}METHOD AND SYSTEM FOR INSPECTING PROGRAM

본 발명은 프로그램 검수 방법 및 시스템에 관한 것으로, 보다 구체적으로는 프로그램이 실행중인 메모리에서 프로그램의 객체정보를 검색 및 모니터링하여, 프로그램의 동작 여부를 판단하도록 구성된 프로그램 검수 방법 및 시스템에 관한 것이다.The present invention relates to a program verification method and system, and more particularly, to a program verification method and system configured to determine whether a program is operated by searching and monitoring object information of a program in a memory in which a program is being executed.

최근 전자분야의 발전으로 인해 다양한 하드웨어(Hardware) 기기들이 전자화, 디지털화 되고 있고, 이에 따라 소프트웨어(Software) 프로그램에 의해 동작되는 하드웨어 기기들이 점차 늘어나고 있다.2. Description of the Related Art [0002] Recently, various hardware devices are being digitized and digitized due to the development of the electronic field, and accordingly, hardware devices operated by software programs are increasing.

그중 대표적인 것이 컴퓨터(Computer)로, 컴퓨터에는 운영체제(OS, Operating System)이 설치되어 있고, 각종 어플리케이션이 별도의 프로그램으로 컴퓨터에 설치되어 동작된다. 이러한 컴퓨터는 비단 데스크톱과 같은 개인용 컴퓨터(Personal Computer) 뿐만 아니라 스마트폰(Smart Phone)과 같은 통신 단말기도 해당된다.Among them, a computer is a representative example, and an operating system (OS) is installed in a computer, and various applications are installed in a computer as a separate program and operated. Such a computer corresponds not only to a personal computer such as a desktop but also to a communication terminal such as a smart phone.

이러한 전자기기에 설치되는 프로그램들은, 사용자가 요구하는 서비스를 전자기기가 수행하도록 동작한다. 복잡한 현대 사회에서 사용자는 다양한 서비스를 요구하고 있으며, 이러한 사용자의 요구를 만족시키기 위해, 많은 소프트웨어 개발자들이 다양한 프로그램을 개발하고 있다.Programs installed in such electronic equipment operate so that the electronic equipment performs the service requested by the user. In a complex modern society, users are demanding a variety of services. To meet these user needs, many software developers are developing various programs.

관련하여, 프로그램을 개발하는 과정에서, 개발자들은 프로그램이 제대로 동작하는지 판단하기 위하여, 프로그램 검수(디버그, Degbug) 작업을 수행한다.In relation to the development of the program, the developers perform the program debugging (debugging) operation to determine whether the program is operating properly.

그러나, 기존의 프로그램 검수 작업은 일일이 입력 값, 출력 값을 수작업으로 등록하여, 프로그램의 동작 결과를 확인하는 등의 비효율적인 작업으로 시간낭비를 줄이지 못하고 있는 실정이다. 이에 따라, 프로그램 개발에도 많은 시간과 노력이 소요되고 있는 것이 현실이다.However, the existing program verification work has not been able to reduce the time wasted by an inefficient operation such as manually registering the input value and the output value manually and confirming the operation result of the program. Thus, it takes a lot of time and effort to develop a program.

따라서, 일일이 프로그램을 실행해야하는 번거로움을 제거하고, 프로그램 검수의 정확성을 높일 수 있도록 구성된 효율적인 프로그램 검수 방법 및 시스템이 요구되고 있다.Accordingly, there is a need for an efficient program verification method and system configured to eliminate the inconvenience of having to execute the program one by one and to increase the accuracy of the program verification.

본 발명은 상기의 문제점을 해결하기 위하여 창작된 것으로, 일일이 프로그램을 실행해야하는 번거로움을 제거하고, 프로그램 검수의 정확성을 높일 수 있도록 구성된 효율적인 프로그램 검수 방법 및 시스템을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide an efficient program verification method and system which are created to solve the above problems and are configured to eliminate the cumbersome task of executing a program and increase the accuracy of program verification.

상기 목적을 달성하기 위하여, 본 발명은 프로그램의 소스코드를 프로세서(Processor)가 실행가능한 실행코드로 변환하여 메모리에 기록하는 단계; 상기 소스코드에서 객체를 정의하는 객체정보를 읽는 단계; 상기 객체정보를 이용하여, 상기 실행코드에서 상기 객체의 실시간 실행정보를 읽는 단계; 상기 실시간 실행정보를 사용자에게 출력하는 단계; 및 상기 실시간 실행정보를 분석하여, 상기 프로그램의 동작 여부를 판단하는 단계를 포함하는 프로그램 검수 방법을 제공한다.According to an aspect of the present invention, there is provided a method for processing a program, the method comprising: converting source code of a program into executable code executable by a processor and recording the converted executable code in a memory; Reading object information defining an object in the source code; Reading real-time execution information of the object from the execution code using the object information; Outputting the real-time execution information to a user; And analyzing the real-time execution information to determine whether the program is operating.

또한, 본 발명은 상기 프로그램 동작 여부 판단 단계는, 상기 실행코드에서 상기 객체의 생성 또는 삭제 여부를 확인하여, 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.According to another aspect of the present invention, the step of determining whether the program is operated may include determining whether the program is operated by checking whether the object is created or deleted in the execution code.

또한, 본 발명은 상기 프로그램 동작 여부 판단 단계는, 상기 실행코드에서 상기 객체를 지시하는 참조정보의 생성 또는 삭제 여부를 확인하여, 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.According to another aspect of the present invention, the step of determining whether or not the program is operated may include determining whether the program is operated by checking whether the reference information indicating the object is generated or deleted in the execution code.

또한, 본 발명은 사용자 입력을 받아, 상기 실시간 실행정보를 변경하는 단계를 더 포함하고, 상기 프로그램 동작 여부 판단 단계는, 상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.According to another aspect of the present invention, there is provided a method of operating a program, the method comprising the steps of: receiving user input and changing the real-time execution information; do.

또한, 본 발명은 상기 실시간 실행정보를 기 설정된 값으로 변경하는 단계를 더 포함하고, 상기 프로그램 동작 여부 판단 단계는, 상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.Further, the present invention may further include changing the real-time execution information to a predetermined value, and the step of determining whether or not the program operates may include determining whether the program is operated according to the changed real-time execution information .

또한, 본 발명은 상기 프로그램 동작 여부 판단 단계는, 상기 실시간 실행정보가 기설정된 값 범위를 벗어났는지 여부로, 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.In the present invention, the step of determining whether or not the program is operated may include determining whether the program is operating based on whether the real-time execution information is out of a preset value range.

또한, 본 발명은 데이터를 저장하는 메모리; 상기 데이터를 사용자에게 출력하는 출력부; 및 프로그램의 소스코드를 실행가능한 실행코드로 변환하여 상기 메모리에 기록하고, 상기 실행코드를 이용하여 상기 프로그램을 실행하고, 상기 소스코드에서 객체를 정의하는 객체정보를 읽고, 상기 객체정보를 이용하여, 상기 실행코드에서 상기 객체의 실시간 실행정보를 읽고, 상기 실시간 실행정보를 사용자에게 출력하도록 상기 출력장치를 제어하고, 상기 실시간 실행정보를 분석하여 상기 프로그램의 동작 여부를 판단하는 프로세서(Processor)를 포함하는 프로그램 검수 시스템을 제공한다.The present invention also relates to a memory for storing data; An output unit for outputting the data to a user; And a program code for converting the source code of the program into executable executable code and recording the executable executable code in the memory, executing the program using the executable code, reading the object information defining the object in the source code, A processor for reading the real-time execution information of the object in the execution code, controlling the output apparatus to output the real-time execution information to a user, and analyzing the real-time execution information to determine whether the program is operating Provide a program validation system that includes.

또한, 본 발명은 상기 프로세서는, 상기 실행코드에서 상기 객체의 생성 또는 삭제 여부를 확인하여, 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.Further, the processor of the present invention includes an embodiment for determining whether or not the program is generated by checking whether the object is created or deleted in the execution code.

또한, 본 발명은 상기 프로세서는, 상기 실행코드에서 상기 객체를 지시하는 참조정보의 생성 또는 삭제 여부를 확인하여, 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.In the present invention, the processor includes an embodiment for determining whether or not the program is operated by confirming whether to generate or delete reference information indicating the object in the execution code.

또한, 본 발명은 사용자로부터 사용자 입력을 받는 사용자 인터페이스부 포함하고, 상기 프로세서는, 상기 사용자 입력에 따라 상기 실시간 실행정보를 변경하도록 상기 사용자 인터페이스부를 제어하고, 상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.According to another aspect of the present invention, there is provided an information processing apparatus including a user interface unit for receiving a user input from a user, the processor controlling the user interface unit to change the real time execution information according to the user input, And judges whether it is operating.

또한, 본 발명은 상기 프로세서는, 상기 실시간 실행정보를 기 설정된 값으로 변경하고, 상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.Also, the present invention may include an embodiment in which the processor changes the real-time execution information to a predetermined value and determines whether the program is operated according to the changed real-time execution information.

또한, 본 발명은 상기 프로세서는, 상기 실시간 실행정보가 기설정된 값 범위를 벗어났는지 여부로, 상기 프로그램의 동작 여부를 판단하는 실시예를 포함한다.The present invention further includes an embodiment for determining whether the program is operating based on whether the real-time execution information is out of a predetermined value range.

본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속함을 밝혀둔다.It will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. I will reveal.

상기와 같은 구성을 통하여, 본 발명에 따른 프로그램 검수 방법 및 시스템은 기존 프로그램 검수 방법과 달리, 일일이 프로그램을 실행해야하는 번거로움을 제거하여 프로그램 검수의 효율성을 높일 수 있다. 그리고, 다양한 프로그램 환경 변수를 설정하여 프로그램 검수를 수행함으로써, 프로그램 검수의 정확성을 향상시킬 수 있다. 또한, 문제점 발생 시 어느 객체에서 문제가 발생하였는지 파악할 수 있어, 소스코드 수준의 분석이 가능한 효과가 있다.Through the above-described configuration, the program verification method and system according to the present invention can improve the efficiency of program verification by eliminating the need to execute the program one by one, unlike the conventional program verification method. In addition, by executing various program environment variables and performing program verification, the accuracy of program verification can be improved. In addition, when a problem occurs, it is possible to know which object has caused a problem, and the analysis can be performed at the source code level.

도 1은 본 발명의 실시예에 따른 프로그램 검수 시스템의 사용 환경을 도시한 도면이다.
도 2는 본 발명의 실시예에 따른 프로그램 검수 시스템의 구성도이다.
도 3은 본 발명의 실시예에 따른 프로그램 검수 방법의 순서도이다.
도 4는 본 발명의 실시예에 따른 프로그램의 소스코드를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 메모리에 저장된 실행코드를 도시한 도면이다.
도 6은 본 발명의 실시예에 따른 소스코드와 실행코드를 대응시킨 도면이다.
도 7은 본 발명의 제 1 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.
도 8은 본 발명의 제 2 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.
도 9는 본 발명의 제 3 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.
도 10는 본 발명의 제 4 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.
1 is a diagram showing a use environment of a program verification system according to an embodiment of the present invention.
2 is a configuration diagram of a program verification system according to an embodiment of the present invention.
3 is a flowchart of a program verification method according to an embodiment of the present invention.
4 is a diagram showing a source code of a program according to an embodiment of the present invention.
5 is a diagram illustrating an execution code stored in a memory according to an embodiment of the present invention.
6 is a diagram showing a correspondence between source code and executable code according to the embodiment of the present invention.
7 is a flowchart of a method for determining whether or not a program operation according to the first embodiment of the present invention is performed.
FIG. 8 is a flowchart of a method for determining whether a program is operated according to a second embodiment of the present invention.
9 is a flowchart of a method for determining whether a program is operated according to the third embodiment of the present invention.
10 is a flowchart of a method for determining whether a program is operated according to a fourth embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명의 실시예를 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세하게 설명한다. 이하 설명에서 동일한 구성 요소에는 설명의 편의상 동일 명칭 및 동일 부호를 부여한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. In the following description, the same constituent elements are given the same names and the same symbols for convenience of explanation.

본 발명에서 사용되는 용어는 가능한 한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우는 해당되는 발명의 설명부분에서 상세히 그 의미를 기재하였으므로, 단순한 용어의 명칭이 아닌 용어가 가지는 의미로서 본 발명을 파악하여야 한다.The term used in the present invention is selected from general terms that are widely used at present. However, in some cases, some terms selected arbitrarily by the applicant, and in this case, the meaning is described in detail in the description of the relevant invention. The present invention should be understood as meaning with respect to a term other than a name.

이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role.

도 1은 본 발명의 실시예에 따른 프로그램 검수 시스템(100)의 사용 환경을 도시한 도면이다.FIG. 1 is a diagram showing a use environment of the program verification system 100 according to an embodiment of the present invention.

도면과 같이, 프로그램 개발자는 프로그램을 개발하여, 완성된 프로그램을 사용자에게 배포한다. As shown in the figure, a program developer develops a program and distributes the completed program to the user.

프로그램을 개발하는 과정으로, 개발자는 우선 프로그램 코드를 작성한 후 프로그램 코드가 개발자가 의도한 대로 동작하는지 판단하기 위하여 프로그램 검수 작업을 수행한다.In the process of developing a program, the developer first writes the program code, and then performs the program check to determine whether the program code operates as intended by the developer.

프로그램 검수 작업은 프로그램의 예기치 않은 종료, 비정상적인 작동 등과 같은 프로그램 오류를 발견하고 이를 수정하는 작업으로, 프로그램의 완성도를 높이기 위해서는 필수불가결한 작업이다.Program validation is the task of detecting and correcting program errors such as unexpected termination of a program, abnormal operation, etc., and it is an indispensable task to improve the completeness of the program.

프로그램 검수 시스템(100)은 개발자가 일일이 수작업으로 프로그램 코드를 확인했던 기존의 프로그램 검수 작업을 자동화시켜, 효율적으로 프로그램 검수 작업을 수행할 수 있도록 구성된 시스템에 관한 것이다.
The program verification system 100 relates to a system configured to enable an efficient program verification operation by automating an existing program verification operation in which a developer individually manually confirms the program code.

도 2는 본 발명의 실시예에 따른 프로그램 검수 시스템(100)의 구성도이다.2 is a configuration diagram of a program verification system 100 according to an embodiment of the present invention.

도면과 같이, 프로그램 검수 시스템(100)은 프로세서(110), 메모리(120), 출력부(130), 사용자 인터페이스부(140)를 포함한다.As shown in the figure, the program verification system 100 includes a processor 110, a memory 120, an output unit 130, and a user interface unit 140.

프로세서(110)는 메모리(120), 출력부(130), 사용자 인터페이스부(140)를 제어하여, 프로그램 검수 방법을 수행하는 제어부이다.The processor 110 is a control unit that controls the memory 120, the output unit 130, and the user interface unit 140 to perform the program verification method.

우선, 프로세서(110)는 소스코드(10)를 프로세서(110)가 실행가능한 실행코드(20)로 변환하여 메모리(120)에 기록하고, 메모리(120)에 기록된 실행코드(20)를 이용하여 프로그램을 실행한다.The processor 110 converts the source code 10 into executable code 20 executable by the processor 110 and writes the executable code 20 into the memory 120 and uses the executable code 20 recorded in the memory 120 And executes the program.

즉, 프로그램을 실행하기 위해서, 프로세서(110)는 디스크, 하드디스크와 같은 저장매체(미도시)에 기록된 소스코드(10)를 실행코드(20)로 변환하여 메모리(120)에 기록한 후, 메모리(120)에서 실행코드(20)를 읽어 프로그램을 실행하는 것이다.That is, in order to execute the program, the processor 110 converts the source code 10 recorded in a storage medium (not shown) such as a disk or a hard disk into an execution code 20 and writes it into the memory 120, And reads the execution code 20 from the memory 120 to execute the program.

소스코드(10)는 개발자가 작성한 프로그램 코드로, 소스코드(10)는 C, C++, Basic, Java, Pascal과 같이 다양한 프로그램 언어로 작성될 수 있다. 본 명세서에서는 C++ 언어로 작성된 소스코드(10)를 일례로 하여 설명하기로 한다.The source code 10 is a program code written by a developer and the source code 10 can be written in various program languages such as C, C ++, Basic, Java and Pascal. In the present specification, the source code 10 written in the C ++ language will be described as an example.

실행코드(20)는 메모리(120)에 기록되어, 프로세서(110)에 의해 직접 실행되는 프로그램 코드로, 실행코드(20)는 프로그램 언어가 아닌 기계어로 구성될 수 있다.The executable code 20 may be written in the memory 120 and directly executed by the processor 110. The executable code 20 may be composed of a machine language other than a programming language.

소스코드(10)와 실행코드(20)의 구성에 대하여는, 이하 도 4 내지 6에서 자세히 후술하도록 한다.The configuration of the source code 10 and the execution code 20 will be described later in detail with reference to FIGS.

그리고, 프로세서(110)는 소스코드(10)에서 객체(Object)를 정의하는 객체정보(11)를 읽고, 객체정보(11)에 대응되는 실시간 실행정보(21)를 실행코드(20)에서 읽는다.The processor 110 reads the object information 11 defining the object in the source code 10 and reads the real time execution information 21 corresponding to the object information 11 in the execution code 20 .

객체는 프로그램 코드를 구성하는 단위 요소로, 클래스(Class), 매쏘드(Method), 파라미터(Parameter) 등으로 구성된다. 소스코드(10)는 객체를 정의하고 객체의 동작을 정의하는 객체정보(11)를 포함한다.An object is a unit element that constitutes a program code, and is composed of a class, a method, and a parameter. The source code 10 includes object information 11 defining an object and defining an operation of the object.

그리고, 실시간 실행정보(21)는 프로그램 구동 중 객체에 저장된 값으로, 소스코드(10)의 객체정보(11)에 대응되는 실행코드(20) 내 값이다.The real-time execution information 21 is a value stored in the object during program execution and is a value in the execution code 20 corresponding to the object information 11 of the source code 10. [

객체정보(11)와 실시간 실행정보(21)의 대응관계에 대하여는, 도 6에서 자세히 후술하도록 한다.The correspondence relationship between the object information 11 and the real-time execution information 21 will be described in detail later with reference to FIG.

그리고, 프로세서(110)는 출력부(130)를 제어하여 실시간 실행정보(21)를 사용자에게 출력한다. 프로세서(110)는 사용자가 모니터링하기 원하는 실시간 실행정보(21)를 출력부(130)를 통하여, 사용자에게 제공하는 것이다.The processor 110 controls the output unit 130 to output the real-time execution information 21 to the user. The processor 110 provides real-time execution information 21 that the user wants to monitor to the user through the output unit 130. [

또한, 프로세서(110)는 실시간 실행정보(21)를 분석하여, 프로그램이 개발자가 의도한 대로 동작하는지 여부를 판단한다.In addition, the processor 110 analyzes the real-time execution information 21 to determine whether the program operates as intended by the developer.

프로세서(110)는 다양한 방법으로 프로그램의 동작 여부를 판단하도록 구성될 수 있다. 본 발명은 이하 도 7 내지 10에서 자세히 후술하는 것과 같이, 프로그램 동작 여부 판단 방법을 4 가지의 실시예로 구현할 수 있다.The processor 110 may be configured to determine whether the program is operating in various ways. As will be described in detail with reference to FIGS. 7 to 10, the present invention can be implemented in four embodiments as follows.

우선, 본 발명의 제 1 실시예로, 프로세서(110)는 실행코드(20)에서 객체의 생성 또는 삭제 여부를 확인하여, 프로그램의 동작 여부를 판단할 수 있다.First, in the first embodiment of the present invention, the processor 110 can check whether an object is created or deleted in the executable code 20, and determine whether the program is operating.

그리고, 본 발명의 제 2 실시예로, 프로세서(110)는 실행코드(20)에서 객체를 지시하는 참조정보의 생성 또는 삭제 여부를 확인하여, 프로그램의 동작 여부를 판단할 수 있다.In the second embodiment of the present invention, the processor 110 can determine whether or not the program is operating by confirming whether or not the reference information indicating the object is generated or deleted in the execution code 20.

그리고, 본 발명의 제 3 실시예로, 프로세서(110)는 사용자 인터페이스부(140)를 통해 입력된 사용자 입력 값 또는 기설정된 값으로 실시간 실행정보(21)를 변경하고, 변경된 실시간 실행정보(21)에 따라 상기 프로그램의 동작 여부를 판단할 수 있다.In the third embodiment of the present invention, the processor 110 changes the real-time execution information 21 to a user input value or a predetermined value input through the user interface unit 140, and outputs the changed real-time execution information 21 ), It is possible to determine whether or not the program is operated.

또한, 본 발명의 제 4 실시예로, 프로세서(110)는 실시간 실행정보(21)가 기설정된 값 범위를 벗어났는지 여부로, 프로그램의 동작 여부를 판단할 수 있다.Further, in the fourth embodiment of the present invention, the processor 110 can determine whether or not the program is operating, based on whether the real-time execution information 21 is out of a preset value range.

메모리(120)는 데이터를 저장하는 데이터 저장소(Data Storage)로, 메모비(120)는 하드디스크와 같은 비휘발성 저장매체 또는 램(RAM)과 같은 휘발성 저장매체로 구성될 수 있다. 그리고, 메모리(120)는 프로세서(110)의 제어를 받아, 프로그램의 실행코드(20)를 저장한다.The memory 120 may be a data storage for storing data and the memo ratio 120 may be a nonvolatile storage medium such as a hard disk or a volatile storage medium such as a RAM. The memory 120 stores the execution code 20 of the program under the control of the processor 110. [

출력부(130)는 사용자에게 실시간 실행정보(21)를 출력하는 장치로, 출력부(130)는 모니터와 같은 디스플레이 장치, 스피커와 같은 음성 출력장치, 프린터 장치 등과 같은 다양한 출력장치로 구성될 수 있다. 따라서, 프로세서(100)는 출력부(130)의 구성에 따라, 다양한 방법으로 실시간 실행정보(21)를 사용자에게 출력할 수 있는 것이다.The output unit 130 is a device for outputting real-time execution information 21 to a user. The output unit 130 may be composed of various output devices such as a display device such as a monitor, a sound output device such as a speaker, have. Accordingly, the processor 100 can output the real-time execution information 21 to the user in various ways according to the configuration of the output unit 130. [

사용자 인터페이스부(140)는 사용자로부터 실시간 실행정보(21)를 입력받도록 구성된다. 사용자 인터페이스부(140)는 키보드, 마우스, 음성 입력 장치 등으로 구성되어, 사용자로부터 실시간 실행정보(21)를 입력받고, 입력받은 실시간 실행정보(21)를 프로세서(110)에 전달한다.The user interface unit 140 is configured to receive real-time execution information 21 from a user. The user interface unit 140 includes a keyboard, a mouse, and a voice input device. The user interface unit 140 receives the real-time execution information 21 from the user and transfers the received real-time execution information 21 to the processor 110.

그리고, 전술한 바와 같이, 프로세서(110)는 실행정보(21)를 사용자로부터 입력받은 값으로 변경한 후, 변경된 실시간 실행정보(21)에 따라 프로그램이 개발자가 의도한 대로 동작하는지 여부를 확인하는 것이다.
As described above, the processor 110 changes the execution information 21 to a value received from the user, and then checks whether the program operates as intended by the developer according to the changed real-time execution information 21 will be.

도 3은 본 발명의 실시예에 따른 프로그램 검수 방법의 순서도이다.3 is a flowchart of a program verification method according to an embodiment of the present invention.

도면과 같이, 프로그램 검수 방법은 프로그램의 소스코드(10)를 프로세서(110)가 실행가능한 실행코드(20)로 변환하여 메모리(120)에 기록하는 단계(S100), 실행코드(20)를 이용하여 프로그램을 실행하는 단계(S110), 소스코드(10)에서 객체를 정의하는 객체정보(11)를 읽는 단계(S120), 객체정보(11)를 이용하여, 실행코드(20)에서 객체의 실시간 실행정보(21)를 읽는 단계(S130), 실시간 실행정보(21)를 사용자에게 출력하는 단계(S140), 실시간 실행정보(21)를 분석하여, 프로그램의 동작 여부를 판단하는 단계(S150)를 포함한다.As shown in the drawing, a program verification method includes a step (S100) of converting a source code 10 of a program into an execution code 20 executable by the processor 110 and writing the same into the memory 120, (S120) of reading the object information 11 defining the object in the source code 10 (S120), executing the program in real time in the execution code 20 using the object information 11 (S140) of reading the execution information 21 (S130), outputting the real-time execution information 21 to the user (S140), analyzing the real-time execution information 21 and determining whether the program is operating .

우선, 프로세서(110)는 프로그램의 소스코드(10)를 프로세서(110)가 실행가능한 실행코드(20)로 변환하여 메모리(120)에 기록한다.(S100)First, the processor 110 converts the source code 10 of the program into an executable code 20 executable by the processor 110 and records it in the memory 120 (S100)

전술한 바와 같이, 소스코드(10)는 개발자에 의해 프로그램 언어로 작성된 프로그램 코드이고, 실행코드(20)는 메모리(120)에 기록되어, 프로세서(110)에 의해 직접 실행되는 기계어 코드이다.As described above, the source code 10 is a program code written in a programming language by a developer, and the execution code 20 is a machine code written in the memory 120 and directly executed by the processor 110. [

그리고, 프로세서(110)는 실행코드(20)를 이용하여 프로그램을 실행한다.(S110)Then, the processor 110 executes the program using the execution code 20 (S110)

그리고, 프로세서(110)는 소스코드(10)에서 객체를 정의하는 객체정보(11)를 읽고,(S120) 객체정보(11)에 대응되는 객체의 실시간 실행정보(21)를 실행코드(20)에서 읽는다.(S130)The processor 110 reads the object information 11 defining the object in the source code 10 and the real time execution information 21 of the object corresponding to the object information 11 in the execution code 20, (S130)

프로세서(110)는 저장매체(미도시)에 저장된 소스코드(10)와 메모리(120)에 저장된 실행코드(20)를 모두 읽어, 소스코드(10)와 실행코드(20)의 대응관계를 파악한다.The processor 110 reads both the source code 10 stored in a storage medium (not shown) and the execution code 20 stored in the memory 120 to determine the correspondence relationship between the source code 10 and the execution code 20 do.

이를 위해, 프로세서(110)는 소스코드(10)에서 객체가 정의된 순서, 객체가 동작하는 순서 등을 파악하여, 이를 토대로 객체정보(11)에 해당하는 실시간 실행정보(21)의 실행코드(20) 내 위치를 파악하는 것이다.To this end, the processor 110 grasps the order in which the objects are defined in the source code 10, the order in which the objects are operated, and the like, 20).

프로세서(110)는 파악된 실행코드(20) 내 위치에서, 실시간 실행정보(21)의 값을 읽어오는 것이다.The processor 110 reads the value of the real-time execution information 21 at a position in the identified execution code 20. [

그리고, 프로세서(110)는 출력부(130)를 제어하여 실시간 실행정보(21)를 사용자에게 출력한다.(S140) 프로세서(110)는 사용자가 모니터링하기 원하는 실시간 실행정보(21)를 출력부(130)를 통하여, 사용자에게 제공하는 것이다.The processor 110 controls the output unit 130 to output the real-time execution information 21 to the user (S140). The processor 110 outputs the real-time execution information 21 that the user wants to monitor to the output unit 130 to the user.

전술한 바와 같이, 출력부(130)는 사용자에게 실시간 실행정보(21)를 출력하는 장치로, 출력부(130)는 디스플레이 장치, 음성 출력장치, 프린터 장치 등 다양한 출력장치로 구성될 수 있다. 따라서, 프로세서(100)는 출력부(130)의 구성에 따라, 다양한 방법으로 실시간 실행정보(21)를 사용자에게 출력할 수 있는 것이다.As described above, the output unit 130 outputs the real-time execution information 21 to the user. The output unit 130 may include various output devices such as a display device, a sound output device, and a printer device. Accordingly, the processor 100 can output the real-time execution information 21 to the user in various ways according to the configuration of the output unit 130. [

마지막으로, 프로세서(110)는 실시간 실행정보(21)를 분석하여, 프로그램의 동작 여부를 판단한다.(S150)Finally, the processor 110 analyzes the real-time execution information 21 to determine whether the program is operating (S150)

프로그램의 동작 여부를 판단하는 단계(S150)는 다양한 방법으로 구현가능하다. 본 발명의 프로그램 동작 여부 판단하는 방법에 대하여는 이하 도 7 내지 10에서 자세히 후술하도록 한다.
The step of determining whether the program is operating (S150) can be implemented by various methods. A method for determining whether or not the program operation of the present invention will be described later in detail with reference to FIGS. 7 to 10.

도 4는 본 발명의 실시예에 따른 프로그램의 소스코드(10)를 도시한 도면이고, 도 5는 본 발명의 실시예에 따른 메모리(120)에 저장된 실행코드(20)를 도시한 도면이다.FIG. 4 is a diagram showing a source code 10 of a program according to an embodiment of the present invention, and FIG. 5 is a diagram showing an execution code 20 stored in a memory 120 according to an embodiment of the present invention.

소스코드(10)는 개발자가 작성한 프로그램 코드로, 소스코드(10)는 C, C++, Basic, Java, Pascal과 같은 다양한 프로그램 언어로 작성될 수 있는데, 도 4는 C++ 언어로 작성된 소스코드(10)를 도시하고 있다.The source code 10 is a program code written by a developer and the source code 10 can be written in various program languages such as C, C ++, Basic, Java and Pascal. ).

소스코드(10)는 프로램 동작 명령어의 집합으로, 클래스(Class), 매쏘드(Method), 파라미터(Parameter) 등과 같은 객체로 구성된다. 소스코드(10)는 객체를 정의하고, 객체의 동작을 정의하는 객체정보(11)를 포함한다. 프로세서(110)는 객체정보(11)를 통하여, 객체의 생성 및 삭제, 동작 여부를 확인할 수 있다.The source code 10 is a set of program operation commands and is composed of objects such as a class, a method, a parameter, and the like. The source code 10 defines an object and includes object information 11 defining the operation of the object. The processor 110 can confirm creation / deletion of an object and operation of the object through the object information 11.

그리고, 실행코드(20)는 메모리(120)에 기록되어, 프로세서(110)에 위해 직접 실행되는 프로그램 코드로, 도 5에서 보는 바와 같이, 실행코드(20)는 프로그램 언어가 아닌 기계어로 구성될 수 있다.
The execution code 20 is a program code written in the memory 120 and directly executed by the processor 110. The execution code 20 is composed of a machine language other than a program language .

도 6은 본 발명의 실시예에 따른 소스코드(10)와 실행코드(20)를 대응시킨 도면이다.FIG. 6 is a diagram showing the correspondence between the source code 10 and the execution code 20 according to the embodiment of the present invention.

소스코드(10)는 객체를 정의하고, 객체의 동작을 정의하는 객체정보(11)를 포함한다. 그리고, 실행코드(20)는 프로그램 구동 중에 객체에 저장된 값인 실시간 실행정보(21)를 포함한다. The source code 10 defines an object and includes object information 11 defining the operation of the object. The execution code 20 includes real-time execution information 21, which is a value stored in the object during program execution.

프로세서(110)는 저장매체(미도시)에 저장된 소스코드(10)와 메모리(120)에 저장된 실행코드(20)를 모두 읽어, 소스코드(10)와 실행코드(20)의 대응관계를 파악한다.The processor 110 reads both the source code 10 stored in a storage medium (not shown) and the execution code 20 stored in the memory 120 to determine the correspondence relationship between the source code 10 and the execution code 20 do.

이를 위해, 프로세서(110)는 소스코드(10)에서 객체가 정의된 순서, 객체가 동작하는 순서 등을 파악하여, 이를 토대로 객체정보(11)에 해당되는 실시간 실행정보(21)의 실행코드(20) 내 위치를 파악하는 것이다. 프로세서(110)는 파악된 실행코드(20) 내 위치에서, 실시간 실행정보(21)의 값을 읽어온다.
To this end, the processor 110 grasps the order in which the objects are defined in the source code 10, the order in which the objects are operated, and the like, and executes the execution codes of the real-time execution information 21 corresponding to the object information 11 20). The processor 110 reads the value of the real-time execution information 21 at a position in the identified execution code 20. [

도 7은 본 발명의 제 1 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.7 is a flowchart of a method for determining whether or not a program operation according to the first embodiment of the present invention is performed.

도면과 같이, 본 발명의 제 1 실시예에 따른 프로그램 동작 여부 판단 방법은 소스코드(10)에서 객체의 생성 또는 삭제 명령어를 확인하는 단계(S160), 실행코드(20)에서 객체의 생성 또는 삭제 여부를 확인하는 단계(S161)을 포함한다.As shown in the drawing, the method for determining whether or not a program operation according to the first embodiment of the present invention includes a step (S160) of confirming an instruction to create or delete an object in the source code 10 (S160) (S161).

우선, 프로세서(110)는 소스코드(10)에서 객체의 생성 또는 삭제 명령어를 확인한다.(S160) 객체의 생성 명령어의 일례로 소스코드(10)에서 객체를 정의하는 부분을, 객체의 삭제 명령어의 일례로 객체 종료하는 부분을 이용할 수 있다. 이에 따라, 프로세서(110)는 소스코드(10)에서 특정 객체의 생성 또는 삭제 명령어를 확인하는 것이다.First, the processor 110 confirms an instruction to create or delete an object in the source code 10. (S160) As an example of an object creation instruction, a part defining an object in the source code 10 is referred to as an object deletion instruction For example, the object termination part can be used. Accordingly, the processor 110 confirms a generation or deletion instruction of a specific object in the source code 10. [

그리고, 프로세서(110)는 소스코드(10) 내 객체의 생성 또는 삭제 명령어에 따라, 실행코드(20)에서 객체의 생성 또는 삭제 여부를 확인한다.(S161)The processor 110 checks whether the object is created or deleted in the execution code 20 according to an instruction to create or delete an object in the source code 10. In operation S161,

즉, 프로세서(110)는 해당 객체가 소스코드(10)와 같이 실행코드(20)에서도 생성되고, 삭제되는지 확인하는 것이다. 만약, 소스코드(10) 내 객체의 생성 또는 삭제 명령어와 달리, 실행코드(20)에서 해당 객체가 생성 또는 삭제되지 않는다면, 프로세서(110)는 해당 객체의 동작이 제대로 이뤄지지 않는다고 판단할 수 있다.That is, the processor 110 confirms whether the object is generated and deleted in the execution code 20, such as the source code 10. [ Unlike the creation or deletion of an object in the source code 10, if the object is not created or deleted in the execution code 20, the processor 110 can determine that the operation of the object is not properly performed.

실행코드(20)에서 객체의 생성 또는 삭제 여부를, malloc 및 free 명령어와 같이, 메모리(120)에 객체의 값을 생성 또는 삭제하는 명령어의 존재 여부로 확인할 수 있다.Whether or not an object is created or deleted in the execution code 20 can be confirmed by the presence or absence of a command to create or delete an object value in the memory 120, such as malloc and free commands.

도 8은 본 발명의 제 2 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.FIG. 8 is a flowchart of a method for determining whether a program is operated according to a second embodiment of the present invention.

도면과 같이, 본 발명의 제 2 실시예에 따른 프로그램 동작 여부 판단 방법은 소스코드(10)에서 객체를 지시하는 참조정보의 생성 또는 삭제 명령어 확인하는 단계(S170), 실행코드(20)에서 참조정보의 생성 또는 삭제 여부를 확인하는 단계(S171)를 포함한다.As shown in the drawing, the method for determining whether or not a program operation according to the second embodiment of the present invention includes a step (S170) of generating or deleting reference information indicating an object in the source code 10 (S170) (S171) of confirming whether information is to be created or deleted.

우선, 프로세서(110)는 소스코드(10)에서 객체를 지시하는 참조정보의 생성 또는 삭제 명령어를 확인한다.(S170)First, the processor 110 confirms the generation or deletion of the reference information indicating the object in the source code 10 (S170)

참조정보는 외부에서 정의된 객체를 지시하는 정보로, 일례로 Standard Templete Library(STL)가 있다. 참조정보의 생성 명령어의 일례로 소스코드(10)에서 참조정보를 정의하는 부분을, 참조정보의 삭제 명령어의 일례로 참조정보 종료하는 부분을 이용할 수 있다. 이에 따라, 프로세서(110)는 소스코드(10)에서 특정 참조정보의 생성 또는 삭제 명령어를 확인하는 것이다.Reference information is information indicating an externally defined object, for example, Standard Template Library (STL). As an example of the generation instruction of the reference information, a portion defining the reference information in the source code 10, and a portion terminating the reference information as an example of the deletion instruction of the reference information can be used. Accordingly, the processor 110 confirms the generation or deletion instruction of the specific reference information in the source code 10.

그리고, 프로세서(110)는 실행코드(20)에서 참조정보의 생성 또는 삭제 여부를 확인한다.(S171)Then, the processor 110 confirms whether the reference information is generated or deleted from the execution code 20. (S171)

즉, 프로세서(110)는 해당 참조정보가, 소스코드(10)와 같이, 실행코드(20)에서도 생성 또는 삭제되었는지 확인하는 것이다. 만약, 소스코드(10) 내 참조정보의 생성 또는 삭제 명령어와 달리, 실행코드(20)에서 해당 참조정보가 생성 또는 삭제되지 않는다면, 프로세서(110)는 프로그램의 동작이 제대로 이뤄지지 않는다고 판단할 수 있다.That is, the processor 110 checks whether the corresponding reference information is generated or deleted in the execution code 20, such as the source code 10. [ Unlike the instruction to generate or delete reference information in the source code 10, if the corresponding reference information is not created or deleted in the execution code 20, the processor 110 can determine that the operation of the program is not properly performed .

도 9는 본 발명의 제 3 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.9 is a flowchart of a method for determining whether a program is operated according to the third embodiment of the present invention.

도면과 같이, 본 발명의 제 3 실시예에 따른 프로그램 동작 여부 판단 방법은 사용자로 부터 입력을 받거나, 기 설정된 값으로 실시간 실행정보(21)를 변경하는 단계(S180), 변경된 실시간 실행정보(21)에 따라 프로그램의 동작을 확인하는 단계(S181)를 포함한다.As shown in the figure, a method of determining whether a program is operated according to the third embodiment of the present invention includes a step of receiving input from a user or changing real-time execution information 21 to a preset value (S180) (Step S181).

우선, 프로세서(110)는 사용자 인터페이스부(140)를 통해 입력된 사용자 입력 값이나, 기 설정된 값으로 실시간 실행정보(21)를 변경한다.(S180)First, the processor 110 changes the real-time execution information 21 to a user input value or a predetermined value input through the user interface unit 140 (S180)

그리고, 프로세서(110)는 변경된 실시간 실행정보(21)에 따라 프로그램의 동작을 확인한다.(S181) 즉, 프로세서(110)는 변경된 실시간 실행정보(21)에 맞게 객체가 동작하는지, 올바른 객체 값을 가지는지의 여부를 확인하는 것이다.The processor 110 confirms the operation of the program according to the changed real-time execution information 21. (S181) In other words, the processor 110 determines whether the object operates according to the changed real-time execution information 21, Or not.

도 10는 본 발명의 제 4 실시예에 따른 프로그램 동작 여부 판단 방법의 순서도이다.10 is a flowchart of a method for determining whether a program is operated according to a fourth embodiment of the present invention.

도면과 같이, 본 발명의 제 4 실시예에 따른 프로그램 동작 여부 판단 방법은 실시간 실행정보(21)가 기설정된 값 범위를 벗어났는지 여부 확인하는 단계(S190)를 포함한다.As shown in the figure, the method for determining whether or not the program operation according to the fourth embodiment of the present invention includes a step (S190) of checking whether the real time execution information 21 is out of a predetermined value range.

프로세서(110)는 실시간 실행정보(21)가 개발자가 정상적인 값의 범위라고 미리 정의한 범위에 속해있는지 확인하는 것이다. 실시간 실행정보(21)가 해당 범위를 벗어난 값을 가진다면, 프로세서(110)는 프로그램의 동작이 제대로 이뤄지지 않는다고 판단할 수 있다.
The processor 110 checks whether the real-time execution information 21 belongs to a range predefined by the developer as a range of normal values. If the real-time execution information 21 has a value out of the range, the processor 110 may determine that the program is not properly operated.

전술한 같은 구성을 통한 프로그램 검수 방법 및 시스템(100)은 기존 프로그램 검수 방법과 달리, 일일이 프로그램을 실행해야하는 번거로움을 제거하여 프로그램 검수의 효율성을 높일 수 있다. 그리고, 다양한 프로그램 환경 변수를 설정하여 프로그램 검수를 수행함으로써, 프로그램 검수의 정확성을 향상시킬 수 있다. 또한, 문제점 발생 시 어느 객체에서 문제가 발생하였는지 파악할 수 있어, 소스코드(10) 수준의 분석이 가능한 효과가 있다.
Unlike the conventional program verification method, the program verification method and system 100 according to the above-described configuration can increase the efficiency of program verification by eliminating the need to execute the program one by one. In addition, by executing various program environment variables and performing program verification, the accuracy of program verification can be improved. In addition, when a problem occurs, it is possible to grasp which object has caused the problem, and analysis of the level of the source code 10 is possible.

상기에서 본 발명의 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명의 범위에 속하는 것은 당연하다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, Of course.

Claims (12)

프로그램의 소스코드를 프로세서(Processor)가 실행가능한 실행코드로 변환하여 메모리에 기록하는 단계;
상기 실행코드를 이용하여 상기 프로그램을 실행하는 단계;
상기 소스코드에서 객체를 정의하는 객체정보를 읽는 단계;
상기 객체정보를 이용하여, 상기 실행코드에서 상기 객체의 실시간 실행정보를 읽는 단계;
상기 실시간 실행정보를 사용자에게 출력하는 단계; 및
상기 실시간 실행정보를 분석하여, 상기 프로그램의 동작 여부를 판단하는 단계를 포함하고,
상기 프로그램의 동작 여부를 판단하는 단계는,
상기 실행코드에서 상기 객체 및 상기 객체를 지시하는 참조정보의 생성 또는 삭제 여부를 확인하여, 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 방법.
Converting the source code of the program into an executable code executable by a processor and recording the converted executable code in a memory;
Executing the program using the executable code;
Reading object information defining an object in the source code;
Reading real-time execution information of the object from the execution code using the object information;
Outputting the real-time execution information to a user; And
Analyzing the real-time execution information to determine whether the program is operating,
Wherein the step of determining whether the program is operating comprises:
And checking whether the reference information indicating the object and the object is generated or deleted in the execution code to determine whether the program is operating.
삭제delete 삭제delete 제 1 항에 있어서,
사용자 입력을 받아, 상기 실시간 실행정보를 변경하는 단계를 더 포함하고,
상기 프로그램 동작 여부 판단 단계는,
상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 방법.
The method according to claim 1,
Further comprising receiving user input and modifying the real-time execution information,
Determining whether the program operation is performed,
And determining whether the program is operated according to the changed real-time execution information.
제 1 항에 있어서,
상기 실시간 실행정보를 기 설정된 값으로 변경하는 단계를 더 포함하고,
상기 프로그램 동작 여부 판단 단계는,
상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 방법.
The method according to claim 1,
Further comprising changing the real-time execution information to a predetermined value,
Determining whether the program operation is performed,
And determining whether the program is operated according to the changed real-time execution information.
제 1 항에 있어서,
상기 프로그램 동작 여부 판단 단계는,
상기 실시간 실행정보가 기설정된 값 범위를 벗어났는지 여부로, 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 방법.
The method according to claim 1,
Determining whether the program operation is performed,
And determining whether the program is operating based on whether the real-time execution information is out of a preset value range.
데이터를 저장하는 메모리;
상기 데이터를 사용자에게 출력하는 출력부; 및
프로그램의 소스코드를 실행가능한 실행코드로 변환하여 상기 메모리에 기록하고, 상기 실행코드를 이용하여 상기 프로그램을 실행하고, 상기 소스코드에서 객체를 정의하는 객체정보를 읽고, 상기 객체정보를 이용하여, 상기 실행코드에서 상기 객체의 실시간 실행정보를 읽고, 상기 실시간 실행정보를 사용자에게 출력하도록 상기 출력부를 제어하고, 상기 실시간 실행정보를 분석하여 상기 프로그램의 동작 여부를 판단하는 프로세서(Processor)를 포함하고,
상기 프로세서는,
상기 실행코드에서 상기 객체 및 상기 객체를 지시하는 참조정보의 생성 또는 삭제 여부를 확인하여, 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 시스템.
A memory for storing data;
An output unit for outputting the data to a user; And
A method for executing a program, the method comprising: converting source code of a program into executable executable code, writing the executable executable code in the memory, executing the program using the executable code, reading object information defining the object in the source code, And a processor for reading the real-time execution information of the object in the execution code, controlling the output unit to output the real-time execution information to the user, and analyzing the real-time execution information to determine whether the program is operating ,
The processor comprising:
And determines whether or not the program is operated by checking whether the reference information indicating the object and the object is generated or deleted in the execution code.
삭제delete 삭제delete 제 7 항에 있어서,
사용자로부터 사용자 입력을 받는 사용자 인터페이스부 포함하고,
상기 프로세서는,
상기 사용자 입력에 따라 상기 실시간 실행정보를 변경하도록 상기 사용자 인터페이스부를 제어하고, 상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 시스템.
8. The method of claim 7,
A user interface unit for receiving user input from a user,
The processor comprising:
Controlling the user interface unit to change the real-time execution information according to the user input, and determining whether the program is operated according to the changed real-time execution information.
제 7 항에 있어서,
상기 프로세서는,
상기 실시간 실행정보를 기 설정된 값으로 변경하고, 상기 변경된 실시간 실행정보에 따라 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 시스템.
8. The method of claim 7,
The processor comprising:
Changes the real-time execution information to a predetermined value, and determines whether the program is operated according to the changed real-time execution information.
제 7 항에 있어서,
상기 프로세서는,
상기 실시간 실행정보가 기설정된 값 범위를 벗어났는지 여부로, 상기 프로그램의 동작 여부를 판단하는 프로그램 검수 시스템.
8. The method of claim 7,
The processor comprising:
And determines whether the program is operating based on whether the real-time execution information is out of a preset value range.
KR1020130059976A 2013-05-27 2013-05-27 The method and system for inspecting program KR101476536B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130059976A KR101476536B1 (en) 2013-05-27 2013-05-27 The method and system for inspecting program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130059976A KR101476536B1 (en) 2013-05-27 2013-05-27 The method and system for inspecting program

Publications (2)

Publication Number Publication Date
KR20140139383A KR20140139383A (en) 2014-12-05
KR101476536B1 true KR101476536B1 (en) 2014-12-24

Family

ID=52459411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130059976A KR101476536B1 (en) 2013-05-27 2013-05-27 The method and system for inspecting program

Country Status (1)

Country Link
KR (1) KR101476536B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11354474B2 (en) * 2020-08-31 2022-06-07 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus and computer storage medium for authenticating chip
KR102479096B1 (en) * 2022-09-05 2022-12-19 주식회사 로보그램 Block code transaction and library registration method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773070A (en) * 1993-06-21 1995-03-17 Toshiba Corp Program debugging device
JP2001518662A (en) * 1997-09-29 2001-10-16 ハネウエル・インコーポレーテッド Validation and verification of automated computer software
JP2005275967A (en) * 2004-03-25 2005-10-06 Toshiba Corp Design support system and method for system lsi
KR20140004495A (en) * 2012-07-03 2014-01-13 삼성전자주식회사 Method for testing application program automatically and an electronic device thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773070A (en) * 1993-06-21 1995-03-17 Toshiba Corp Program debugging device
JP2001518662A (en) * 1997-09-29 2001-10-16 ハネウエル・インコーポレーテッド Validation and verification of automated computer software
JP2005275967A (en) * 2004-03-25 2005-10-06 Toshiba Corp Design support system and method for system lsi
KR20140004495A (en) * 2012-07-03 2014-01-13 삼성전자주식회사 Method for testing application program automatically and an electronic device thereof

Also Published As

Publication number Publication date
KR20140139383A (en) 2014-12-05

Similar Documents

Publication Publication Date Title
US7437715B2 (en) System and method for generating a set of robot commands based on user entry events in a user interface
US7975257B2 (en) Iterative static and dynamic software analysis
US20160357519A1 (en) Natural Language Engine for Coding and Debugging
CN107832059B (en) Code static analysis method and device based on Makefile
US8312417B2 (en) Using dynamic call graphs for creating state machines
US7900198B2 (en) Method and system for parameter profile compiling
US9454467B2 (en) Method and apparatus for mining test coverage data
US9086899B2 (en) Loading and debugging method and debugging system thereof
US20080209401A1 (en) Techniques for integrating debugging with decompilation
JP5303795B2 (en) Application analysis method, analysis system, and analysis program
CN104375934A (en) Method for testing reliability of Android mobile phone software
CN109522010B (en) Initialization code adding method and device, storage medium and electronic equipment
CN112230988A (en) Interface document generation method and device, computer equipment and storage medium
CN110659210A (en) Information acquisition method and device, electronic equipment and storage medium
US20090132994A1 (en) Automation tool and method for generating test code
CN112231197A (en) Page testing method and device and storage medium
CN110928760B (en) Unit test method and device in embedded system
KR101476536B1 (en) The method and system for inspecting program
CN110045952B (en) Code calling method and device
US7533314B2 (en) Unit test extender
CN112861138A (en) Software security analysis method and analysis device, electronic device, and storage medium
CN116578282A (en) Code generation method, device, electronic equipment and medium
CN112748930B (en) Compilation detection method, device, equipment and storage medium
CN112114811A (en) Compiling method, device and equipment
CN112052007A (en) Source code debugging method, device, server and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171113

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191219

Year of fee payment: 6