KR101673151B1 - 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치 - Google Patents

프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치 Download PDF

Info

Publication number
KR101673151B1
KR101673151B1 KR1020160061581A KR20160061581A KR101673151B1 KR 101673151 B1 KR101673151 B1 KR 101673151B1 KR 1020160061581 A KR1020160061581 A KR 1020160061581A KR 20160061581 A KR20160061581 A KR 20160061581A KR 101673151 B1 KR101673151 B1 KR 101673151B1
Authority
KR
South Korea
Prior art keywords
objects
symbol
schema
unique
information
Prior art date
Application number
KR1020160061581A
Other languages
English (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 KR1020160061581A priority Critical patent/KR101673151B1/ko
Application granted granted Critical
Publication of KR101673151B1 publication Critical patent/KR101673151B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

프로그램 소스 및 DB 스키마 분석 방법 및 장치가 개시된다. 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법은 프로그램 소스와 DB 스키마 중 적어도 하나를 수집하고, 상기 수집된 프로그램 소스 및 DB 스키마 중 적어도 하나를 파싱하여 오브젝트들을 추출하는 단계; 상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하는 단계; 상기 생성된 고유 심볼에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 생성하는 단계; 및 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 실시간으로 제공하는 단계를 포함한다.

Description

프로그램 소스 및 DB 스키마의 연관 관계 변화 분석 방법 및 장치 {Method and Apparatus for Analyzing Relationship Change of Program Source and DB Schema}
본 발명은 프로그램 소스 및 DB 스키마 분석 기술에 관한 것으로, 보다 상세하게는 프로그램 소스 코드의 수정에 의하여 발생되는 프로그램과 프로그램 사이의 연관관계 정보 변화 및 프로그램과 DB 스키마 사이의 연관관계 정보 변화를 실시간으로 분석할 수 있는 프로그램 소스 및 DB 스키마 분석 방법 및 장치에 관한 것이다.
프로그램과 프로그램 사이의 연관관계 정보, 프로그램과 DB 스키마 사이의 연관관계 정보를 찾아내기 위해서는 프로그램 소스코드와 DB 스키마 정보를 입력 받아 파싱을 수행하고 단위 오브젝트들로 구분한다.
프로그램 소스코드로부터 추출되는 각 단위 오브젝트들은 함수, 지역변수, 전역변수 등이 있으며, DB 스키마로부터 추출되는 각 단위 오브젝트들은 테이블, 뷰, 컬럼 등이 있다. 파싱된 오브젝트들은 각자에 대해 호출 혹은 피호출, 사용 혹은 피사용 등의 관계를 가지며 이러한 정보를 통칭하여 연관관계 정보라 부른다.
전체 프로그램과 DB 스키마의 분석을 통해 연관관계 정보를 생성하기 위해서는 입력 받은 전체 프로그램 소스와 DB 스키마 정보를 모두 파싱하고 각 오브젝트들 사이의 연관관계를 찾아내어 별도의 저장 장치 예를 들어, repository에 보관한다.
위와 같은 작업에 의해 1차 분석 및 저장된 연관관계 정보가 존재하는 상태에서, 일부 프로그램 소스 코드가 변경 예를 들어, 추가, 수정 또는 삭제되면, 이에 의해 변화된 연관관계 정보를 찾아내어 반영하는 작업이 필요하다. 이를 위해서는 일부 프로그램 소스 코드가 변경될 때마다, 모든 프로그램 소스와 DB 스키마를 다시 파싱하고 각 오브젝트들 사이의 연관관계를 다시 계산한 후 저장 장치에 저장해야 한다.
연관관계 정보를 생성하기 위한 분석 작업은 입력 받은 소스의 복잡도에 따라 가변성이 있으나, 일반적으로 소스 코드의 양이 많으면 많을수록 시간이 더 많이 소요되며 소스 코드의 변경이 잦은 경우에는 즉시 그 변화된 연관관계 정보를 생성하기 불가능하다.
예를 들어, 한 시스템이 1만개의 프로그램 소스 파일과 1,000개의 DB 스키마를 보유하고 있다고 가정하고, 이 중에서 1차로 10개의 소스 파일이 변경되는 경우에도 1만개의 프로그램 소스 파일과 1,000개의 DB 스키마를 모두 다시 파싱하고 각 오브젝트 사이의 연관관계를 다시 계산해야 한다. 그리고 얼마 후 2차로 5개의 소스 파일이 변경되는 경우, 동일하게 1만개의 프로그램 소스 파일과 1,000개의 DB 스키마를 모두 다시 파싱하고 각 오브젝트 사이의 연관관계를 다시 계산해야 한다.
본 발명의 실시예들은, 프로그램 소스 코드의 수정에 의하여 발생되는 프로그램과 프로그램 사이의 연관관계 정보 변화 및 프로그램과 DB 스키마 사이의 연관관계 정보 변화를 실시간으로 분석할 수 있는 프로그램 소스 및 DB 스키마 분석 방법 및 장치를 제공한다.
구체적으로, 본 발명의 실시예들은, 전체 프로그램과 DB 스키마를 매번 모두 다시 분석하지 않고 변경(추가, 수정 또는 삭제)된 소스들만을 입력 받아 분석 작업을 수행해도 변화된 연관 관계를 알아낼 수 있도록 함으로써, 프로그램 소스의 변경이 일어날 때마다 실시간으로 변화된 연관 관계 정보를 생성할 수 있는 프로그램 소스 및 DB 스키마 분석 방법 및 장치를 제공한다.
본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법은 프로그램 소스와 DB 스키마 중 적어도 하나를 수집하고, 상기 수집된 프로그램 소스 및 DB 스키마 중 적어도 하나를 파싱하여 오브젝트들을 추출하는 단계; 상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하는 단계; 상기 생성된 고유 심볼에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 생성하는 단계; 및 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 실시간으로 제공하는 단계를 포함한다.
상기 고유 심볼을 생성하는 단계는 상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하고, 상기 생성된 오브젝트들 각각에 대한 고유 심볼을 이용하여 심볼 테이블을 생성하며, 상기 연관 관계 정보를 생성하는 단계는 상기 심볼 테이블에 저장된 고유 심볼에 대한 정보에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 검출하고, 상기 검출된 연관 관계 정보에 대응하는 오브젝트들을 매핑하여 상기 연관 관계 정보를 생성할 수 있다.
나아가, 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법은 상기 생성된 고유 심볼에 대응하는 유니크 식별 정보를 생성하는 단계를 더 포함하고, 상기 제공하는 단계는 상기 생성된 유니크 식별 정보를 이용하여 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 제공할 수 있다.
더 나아가, 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법은 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나가 수집되면 상기 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나를 파싱하여 변경 오브젝트들을 추출하는 단계; 상기 추출된 변경 오브젝트들 각각에 대한 고유 심볼을 갱신하는 단계; 상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 기초하여 상기 변경 오브젝트들의 변경된 연관 관계 정보를 생성하는 단계; 및 상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 대한 정보 또는 상기 변경된 연관 관계 정보를 실시간으로 제공하는 단계를 더 포함할 수 있다.
상기 연관 관계 정보를 생성하는 단계는 상기 생성된 고유 심볼에 기초하여 동일한 고유 심볼을 가지는 상이한 오브젝트들을 검출하고, 상기 검출된 오브젝트들의 고유 심볼에 기초하여 상기 검출된 오브젝트들 간의 연관 관계 정보를 생성할 수 있다.
본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 장치는 프로그램 소스와 DB 스키마 중 적어도 하나를 수집하는 수집부; 상기 수집된 프로그램 소스 및 DB 스키마 중 적어도 하나를 파싱하여 오브젝트들을 추출하는 추출부; 상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하는 심볼 생성부; 상기 생성된 고유 심볼에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 생성하는 연관 관계 생성부; 및 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 실시간으로 제공하는 제공부를 포함한다.
상기 심볼 생성부는 상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하고, 상기 생성된 오브젝트들 각각에 대한 고유 심볼을 이용하여 심볼 테이블을 생성하며, 상기 연관 관계 생성부는 상기 심볼 테이블에 저장된 고유 심볼에 대한 정보에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 검출하고, 상기 검출된 연관 관계 정보에 대응하는 오브젝트들을 매핑하여 상기 연관 관계 정보를 생성할 수 있다.
상기 제공부는 상기 생성된 고유 심볼에 대응하는 유니크 식별 정보를 생성하고, 상기 생성된 유니크 식별 정보를 이용하여 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 제공할 수 있다.
상기 추출부는 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나가 수집되면 상기 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나를 파싱하여 변경 오브젝트들을 추출하고, 상기 심볼 생성부는 상기 추출된 변경 오브젝트들 각각에 대한 고유 심볼을 갱신하며, 상기 연관 관계 생성부는 상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 기초하여 상기 변경 오브젝트들의 변경된 연관 관계 정보를 생성하고, 상기 제공부는 상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 대한 정보 또는 상기 변경된 연관 관계 정보를 실시간으로 제공할 수 있다.
상기 연관 관계 생성부는 상기 생성된 고유 심볼에 기초하여 동일한 고유 심볼을 가지는 상이한 오브젝트들을 검출하고, 상기 검출된 오브젝트들의 고유 심볼에 기초하여 상기 검출된 오브젝트들 간의 연관 관계 정보를 생성할 수 있다.
본 발명의 실시예들에 따르면, 전체 프로그램과 DB 스키마를 매번 모두 다시 분석하지 않고 변경(추가, 수정 또는 삭제)된 소스들만을 입력 받아 분석 작업을 수행해도 변화된 연관 관계를 알아낼 수 있도록 함으로써, 프로그램 소스의 변경이 일어날 때마다 실시간으로 변화된 연관 관계 정보를 생성할 수 있다.
본 발명의 실시예들에 따르면, 일부 프로그램 소스의 추가 및 수정이 발생할 때마다 전체 프로그램 소스 및 DB 스키마 소스를 매번 모두 다시 분석하지 않고, 추가 및 수정된 소스만 분석함으로써 매우 빠르고 효율적으로 변화된 연관관계 정보를 생성 및 저장할 수 있다.
본 발명의 실시예들에 따르면, 프로그램의 변경이 발생하는 시점에 실시간으로 변화된 연관관계 정보를 생성할 수 있으므로, 연관관계 정보 변화 내용 파악에 소요되는 막대한 시간과 인력을 획기적으로 줄일 수 있다.
도 1은 본 발명을 설명하기 위한 일 예시도를 나타낸 것이다.
도 2는 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법에 대한 동작 흐름도를 나타낸 것이다.
도 3은 본 발명의 다른 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법에 대한 동작 흐름도를 나타낸 것이다.
도 4는 오브젝트에 대한 오브젝트 심볼을 설명하기 위한 일 예시도를 나타낸 것이다.
도 5는 오브젝트 간의 연관 관계 정보를 설명하기 위한 일 예시도를 나타낸 것이다.
도 6은 오브젝트가 추가된 경우에 대한 오브젝트 심볼을 설명하기 위한 일 예시도를 나타낸 것이다.
도 7은 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 장치에 대한 구성을 나타낸 것이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
본 발명의 실시예들은, 일부 프로그램 소스의 추가 및 수정이 발생할 때마다 전체 프로그램 소스 및 DB 스키마 소스를 매번 모두 다시 분석하지 않고, 추가 및 수정된 소스만 분석함으로써 매우 빠르고 효율적으로 변화된 연관관계 정보를 생성, 저장, 제공하는 것을 그 요지로 한다.
도 1은 본 발명을 설명하기 위한 일 예시도를 나타낸 것이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 프로그램 소스 및 DB 스키마 분석 장치(100)는 프로그램 소스들과 DB 스키마를 입력으로 하고, 입력된 또는 수집된 프로그램 소스와 DB 스키마를 파싱하여 오브젝트들을 추출하며, 추출된 오브젝트들 각각에 고유 심볼을 생성 및 저장하여 오브젝트에 대한 고유 심볼이 저장된 심볼 테이블을 생성한다.
여기서, 본 발명에 따른 장치는 심볼 테이블에 저장된 오브젝트들 각각의 고유 심볼을 이용하여 오브젝트들 간의 연관 관계 정보를 검출하고, 검출된 연관 관계 정보를 이용하여 연관 관계가 있는 오브젝트들 간의 매핑을 수행함으로써, 오브젝트들 간의 연관 관계 정보를 생성하여 저장할 수 있다.
물론, 본 발명에 따른 장치는 오브젝트들 각각의 고유 심볼에 대응하는 유니크 식별 정보 예를 들어, GUID(global unique ID)를 생성하고, 생성된 GUID를 이용하여 오브젝트들 각각의 고유 심볼에 대한 정보 또는 생성된 연관 관계 정보를 사용자 예를 들어, 프로그래머에게 제공할 수 있다.
나아가, 본 발명에 따른 장치는 변경된 프로그램 소스 또는 DB 스키마를 수집하고, 변경된 프로그램 소스 또는 DB 스키마로부터 오브젝트들(또는 변경 오브젝트들)을 추출한 후 추출된 변경 오브젝트들에 대한 고유 심볼을 갱신함으로써, 이미 생성되어 오브젝트들에 대한 고유 심볼을 저장하고 있는 심볼 테이블을 갱신한다. 그리고, 변경 오브젝트들에 대해 변경된 예를 들어, 추가되거나 수정되거나 삭제된 오브젝트들에 대한 고유 심볼을 이용하여 연관 관계 정보를 검출하고, 검출된 연관 관계 정보를 이용하여 변경된 오브젝트들 간의 매핑을 수행함으로써, 변경된 오브젝트들 간의 연관 관계 정보를 생성하여 저장한다.
물론, 이렇게 생성된 변경 오브젝트들에 대한 고유 심볼은 GUID로 변환되고, 변경된 연관 관계 정보 또한 GUID로 변환되어 repository에 저장되며, 사용자에게 제공될 수도 있다.
물론, 본 발명에 따른 프로그램 소스 및 DB 스키마 분석 장치는 본 발명의 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법에 의해 분석될 수 있으며, 이러한 본 발명에 따른 방법 및 장치에 대해 도 2 내지 도 7을 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법에 대한 동작 흐름도를 나타낸 것이다.
도 2를 참조하면, 본 발명의 실시예에 따른 방법은 분석하고자 하는 프로그램 소스와 DB 스키마를 수집하고, 수집된 프로그램 소스 및 DB 스키마를 파싱하여 프로그램 소스 및 DB 스키마에 포함된 오브젝트들을 추출한다(S210, S220).
여기서, 단계 S210은 사용자의 입력에 기초하여 수집하고자 하는 프로그램 소스와 DB 스키마가 선택될 수도 있고, 특정 경로에 포함된 모든 프로그램 소스와 DB 스키마가 자동적으로 선택됨으로써, 프로그램 소스와 DB 스키마가 수집될 수도 있다.
단계 S220에 의해 오브젝트들이 추출되면 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하고, 생성된 오브젝트들 각각의 고유 심볼을 저장하며, 이러한 오브젝트들 각각의 고유 심볼을 포함하는 심볼 테이블을 생성한다(S230 내지 S250).
여기서, 단계 S230은 추출된 오브젝트의 오브젝트 명, 소스 ID, 오브젝트 ID, 오브젝트 타입 등을 고려하여 해당 오브젝트의 고유 심볼이 생성될 수 있으며, 상이한 오브젝트지만 다른 오브젝트를 사용하거나 호출하는 등의 연관 관계가 있는 경우에는 동일한 고유 심볼을 가질 수 있다. 즉, 추출된 오브젝트의 소스 ID, 오브젝트 ID, 오브젝트 타입 등이 상이한 경우라도 동일한 오브젝트 고유 심볼을 가질 수 있다. 구체적으로, 제2 오브젝트가 제1 오브젝트를 사용하거나 호출하는 경우에는 제1 오브젝트에 대한 고유 심볼을 검색하여 검색된 제1 오브젝트에 대한 고유 심볼을 제2 오브젝트에 대한 고유 심볼로 생성 또는 정의할 수 있다.
예를 들어, 본 발명에 따른 방법은 도 4에 도시된 바와 같이, GTOne, name, getname()의 오브젝트가 추출되면 추출된 오브젝트들 각각에 대해GTOne, GTOne.name, GTOne.getname()으로 고유 심볼(object symbol)을 생성할 수 있다. 물론, 오브젝트의 고유 심볼을 생성하는 방식은 일정 패턴을 가질 수 있으며, 이는 본 발명을 제공하는 사업자에 의해 결정될 수 있다.
도 4에 도시된 GUID는 오브젝트 각각에 대해 생성된 고유 심볼(object symbol)을 이용하여 생성될 수 있다. 즉, 오브젝트의 고유 심볼을 이용하여 GUID를 생성할 수 있다.
단계 S250에 의해 생성되는 심볼 테이블은 추출된 오브젝트들 각각에 대한 고유 심볼을 포함하는 오브젝트 정보가 저장될 수 있으며, 심볼 테이블에 저장되는 정보의 종류는 본 발명을 제공하는 사업자에 의해 결정될 수 있다.
단계 S250에 의해 오브젝트들 각각의 고유 심볼을 포함하는 정보가 저장된 심볼 테이블이 생성되면 생성된 오브젝트들 각각의 고유 심볼을 이용하여 연관 관계 정보를 검출하고 검출된 연관 관계 정보를 이용하여 오브젝트들 간의 연관 관계 정보를 생성하며, 이렇게 생성된 연관 관계 정보를 저장한다(S260, S270).
이 때, 단계 S260은 동일한 고유 심볼을 가지는 오브젝트들에 대한 정보를 심볼 테이블을 이용하여 검출하고, 동일 고유 심볼을 가지는 오브젝트들을 매핑시킴으로써, 연관 관계 정보를 생성할 수 있다.
예를 들어, 도 5에 도시된 오브젝트들은 도 4에 도시된 오브젝트와 상이한 오브젝트지만, 도 4의 오브젝트들을 호출하거나 사용하는 오브젝트이기 때문에 도 5의 오브젝트 고유 심볼이 도 4의 오브젝트 고유 심볼하고 동일하게 된다. 즉, 도 5에 도시된 오브젝트들의 고유 심볼이 도 4에 도시된 오브젝트 고유 심볼인 GTOne과 GTOne.getname()이기 때문에 도 4에 도시된 오브젝트와 도 5에 도시된 오브젝트의 연관 관계가 검출될 수 있으며, 이렇게 검출된 연관 관계를 이용하여 동일한 고유 심볼을 가지는 오브젝트들 간에 매핑을 수행함으로써, 수집된 프로그램 소스 및 DB 스키마에 포함된 오브젝트들 간의 연관 관계 정보를 생성할 수 있다.
물론, 이러한 연관 관계 정보에 포함된 오브젝트 고유 심볼 또한 도 5에 도시된 바와 같이, 고유 심볼에 대응하는 GUID를 생성하고 연관 관계 정보를 사용자에게 제공할 수도 있다.
즉, 본 발명에 의해 생성되는 오브젝트 고유 심볼 및 연관 관계 정보는 고유 심볼에 대응하는 GUID와 함께 저장되어, GUID를 이용하여 사용자에게 이에 대한 정보를 제공할 수 있다.
이와 같이, 본 발명의 실시예에 따른 방법은 오브젝트 고유 심볼을 생성하고, 생성된 고유 심볼에 기초하여 오브젝트들 간의 연관 관계 정보를 검출한 후 검출된 연관 관계 정보를 이용하여 동일 고유 심볼을 가지는 오브젝트들 간의 매핑을 수행함으로써, 연관 관계 정보를 생성할 수 있고, 이러한 본 발명은 프로그램 소스 또는 DB 스키마가 변경되어 오브젝트가 변경 예를 들어, 추가, 수정 또는 삭제되더라도 실시간으로 분석 가능하며, 이에 대해 도 3을 참조하여 설명한다.
도 3은 본 발명의 다른 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 방법에 대한 동작 흐름도를 나타낸 것으로, 프로그램 소스 또는 DB 스키마의 일부가 변경된 경우 변경된 오브젝트 또는 변환된 연관 관계 정보를 실시간으로 분석하여 제공할 수 있으며, 도 3의 동작은 도 2의 동작이 완료되어 관련 프로그램 소스 및 DB 스키마로부터 추출된 오브젝트의 고유 심볼이 생성되고, 생성된 고유 심볼에 기초하여 연관 관계 정보가 생성되어 저장된 상태에서 이루어질 수 있다.
도 3을 참조하면, 본 발명의 실시예에 따른 방법은 프로그램 소스 및 DB 스키마 중 적어도 하나가 변경되면 변경된 프로그램 소스 및 DB 스키마를 수집하고, 수집된 변경 프로그램 소스 및 변경 DB 스키마를 파싱하여 변경 오브젝트들을 추출한다(S310, S320).
여기서, 단계 S310과 S320은 도 2에 도시된 단계 S210 및 S220과 동일한 기능을 수행할 수 있으며, 단계 S320에서 추출되는 변경 오브젝트들은 변경 프로그램 소스 및 변경 DB 스키마에 포함된 오브젝트들일 수 있다.
단계 S320에서 변경 오브젝트들이 추출되면 추출된 변경 오브젝트 고유 심볼을 갱신함으로써, 미리 생성된 심볼 테이블을 갱신한다(S330, S340).
예컨대, 도 6에 도시된 바와 같이, 프로그램 소스가 변경되어 오브젝트가 추가된 경우 추가 오브젝트에 대한 고유 심볼(object symbol)인 GTOne,address와 GTOne.getaddress()가 추가됨으로써, 변경 오브젝트 고유 심볼이 갱신될 수 있으며, 변경 프로그램 소스의 오브젝트 순서에 따라 오브젝트 고유 심볼이 GTOne.getname()인 오브젝트의 순서가 변경되지만 오브젝트 고유 심볼이 변경되지 않고, 따라서 이에 의해 생성되는 GUID는 변경되지 않는다. 즉, 추가 오브젝트인 address와 getAddress()에 대한 고유 심볼을 포함하는 오브젝트 정보(610, 630)가 추가되고, 오브젝트 getName()의 오브젝트 순서가 변경되어 오브젝트 getName()의 오브젝트 정보(620)가 변경 또는 갱신됨으로써, 변경 오브젝트 고유 심볼을 갱신하고, 이를 통해 심볼 테이블 또한 갱신한다.
단계 S340에 의해 심볼 테이블이 갱신되면 갱신된 심볼 테이블에 저장된 변경 프로그램 소스 및 변경 DB 스키마로부터 추출된 변경 오브젝트 고유 심볼에 기초하여 변경된 연관 관계 정보를 검출하고, 검출된 변경 연관 관계 정보를 이용한 변경 오브젝트들 간의 매핑을 수행함으로써, 변화된 또는 변경된 연관 관계 정보를 생성하며, 생성된 변경 연관 관계 정보를 저장한다(S350, S360).
이렇게 저장된 변경 연관 관계 정보 또는 변경 오브젝트 고유 심볼(또는 변경 오브젝트)는 변경 오브젝트 고유 심볼에 대응하여 생성된 GUID를 이용하여 사용자에게 제공될 수 있다.
이와 같이, 본 발명의 실시예에 따른 방법은 전체 프로그램과 DB 스키마를 매번 모두 다시 분석하지 않고 변경(추가, 수정 또는 삭제)된 소스들만을 입력 받아 분석 작업을 수행해도 변화된 연관 관계를 알아낼 수 있기 때문에 프로그램 소스의 변경이 일어날 때마다 실시간으로 변화된 연관 관계 정보를 생성할 수 있다.
또한, 본 발명의 실시예들에 따른 방법은 일부 프로그램 소스의 추가 및 수정이 발생할 때마다 전체 프로그램 소스 및 DB 스키마 소스를 매번 모두 다시 분석하지 않고, 추가 및 수정된 소스만 분석하면 되기 때문에 매우 빠르고 효율적으로 변화된 연관관계 정보를 생성 및 저장할 수 있다.
또한, 본 발명의 실시예들에 따른 방법은 프로그램의 변경이 발생하는 시점에 실시간으로 변화된 연관관계 정보를 생성할 수 있으므로, 연관관계 정보 변화 내용 파악에 소요되는 막대한 시간과 인력을 획기적으로 줄일 수 있다.
도 7은 본 발명의 일 실시예에 따른 프로그램 소스 및 DB 스키마 분석 장치에 대한 구성을 나타낸 것으로, 상술한 도 2 내지 도 6의 동작을 수행하는 장치의 구성을 나타낸 것이다.
도 7을 참조하면, 본 발명의 실시예에 따른 분석 장치(700)는 수집부(710), 추출부(720), 심볼 생성부(730), 연관 관계 생성부(740) 및 제공부(750)를 포함한다.
수집부(710)는 분석하고자 하는 프로그램 소스 및 DB 스키마를 수집한다.
여기서, 수집부(710)는 사용자의 입력에 기초하여 프로그램 소스와 DB 스키마를 선택함으로써, 프로그램 소스와 DB 스키마를 수집할 수도 있고, 특정 경로에 포함된 모든 프로그램 소스와 DB 스키마가 자동적으로 선택함으로써, 프로그램 소스와 DB 스키마가 수집할 수도 있다.
이 때, 수집부(710)는 변경 연관 관계 정보를 분석하기 위하여, 변경된 프로그램 소스 및 변경 DB 스카마를 수집할 수 있다.
추출부(720)는 수집된 프로그램 소스 및 DB 스키마를 파싱하여 프로그램 소스 및 DB 스키마에 포함된 오브젝트들을 추출한다.
이 때, 추출부(720)는 변경 프로그램 소스 및 변경 DB 스키마가 수집되면 수집된 변경 프로그램 소스 및 변경 DB 스키마를 파싱하여 변경 프로그램 소스 및 변경 DB 스키마에 포함된 오브젝트들을 추출할 수 있다.
심볼 생성부(730)는 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하고, 생성된 고유 심볼 또는 고유 심볼을 포함하는 오브젝트 정보를 이용하여 심볼 테이블을 생성한다.
여기서, 심볼 생성부(730)는 추출된 오브젝트의 오브젝트 명, 소스 ID, 오브젝트 ID, 오브젝트 타입 등을 고려하여 해당 오브젝트의 고유 심볼을 생성할 수 있으며, 상이한 오브젝트지만 다른 오브젝트를 사용하거나 콜(call)하는 등의 연관 관계가 있는 경우에는 동일한 고유 심볼을 생성할 수 있다.
즉, 심볼 생성부(730)는 추출된 오브젝트의 소스 ID, 오브젝트 ID, 오브젝트 타입 등이 상이한 경우라도 동일한 고유 심볼을 생성할 수 있고, 동일한 GUID를 가질 수 있다.
심볼 생성부(730)에 의해 생성된 오브젝트들 각각의 고유 심볼에 대한 정보는 DB에 저장될 때 해당 고유 심볼에 대응하는 GUID를 함께 저장할 수 있다.
나아가, 심볼 생성부(730)는 변경 오브젝트들이 추출되면 추출된 변경 오브젝트들 예를 들어, 추가된 오브젝트, 삭제된 오브젝트, 순서가 변경된 오브젝트 각각에 대한 고유 심볼 또는 오브젝트 정보를 갱신하고, 이렇게 갱신된 고유 심볼 또는 오브젝트 정보를 이용하여 심볼 테이블을 갱신할 수 있다.
연관 관계 생성부(740)는 오브젝트들 각각의 고유 심볼에 기초하여 연관 관계 정보를 검출하고, 검출된 연관 관계 정보를 이용하여 연관 관계가 있는 오브젝트들 간의 매핑을 수행함으로써, 오브젝트들 간의 연관 관계 정보를 생성한다.
이 때, 연관 관계 생성부(740)는 변경 프로그램 소스 및 변경 DB 스키마로부터 추출된 변경 오브젝트에 대한 오브젝트 정보 또는 고유 심볼에 기초하여 변경된 연관 관계 정보를 검출할 수 있고, 검출된 변경 연관 관계 정보에 대한 오브젝트들 관계를 매핑시킴으로써, 변경 또는 변환된 연관 관계 정보를 생성할 수 있다.
제공부(750)는 오브젝트들의 고유 심볼에 대한 정보 또는 오브젝트들의 오브젝트 정보, 또는 오브젝트들 간의 연관 관계 정보를 실시간으로 사용자에게 제공한다.
이 때, 제공부(750)는 고유 심볼에 대한 정보 또는 오브젝트들의 오브젝트 정보, 또는 오브젝트들 간의 연관 관계 정보와 함께 저장되는 고유 심볼에 의해 생성되는 GUID를 이용하여 상술한 정보를 사용자에게 실시간으로 제공할 수 있다.
즉, 제공부(750)는 오브젝트들 간의 연관 관계 정보, 오브젝트 심볼 정보, 변경된 연관 관계 정보 등 분석 정보를 사용자에게 실시간으로 제공할 수 있다.
이 뿐만 아니라, 본 발명에 따른 장치는 도 2 내지 도 6에서 설명한 모든 기능을 포함할 수 있다.
그리고, 상술한 본 발명에 따른 방법 및 장치에서 프로그램 소스와 DB 스키마를 함께 수집하고 분석하는 것으로 설명하였지만, 이에 한정하지 않으며 프로그램 소스만을 분석할 수도 있고 DB 스키마만을 분석할 수도 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예들에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 수집부에서 프로그램 소스와 DB 스키마 중 적어도 하나를 수집하는 단계;
    추출부에서 상기 수집된 프로그램 소스 및 DB 스키마 중 적어도 하나를 파싱하여 오브젝트들을 추출하는 단계;
    심볼 생성부에서 상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하는 단계;
    연관 관계 생성부에서 상기 생성된 고유 심볼에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 생성하는 단계; 및
    제공부에서 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 실시간으로 제공하는 단계
    를 포함하고,
    상기 고유 심볼을 생성하는 단계는
    상기 추출된 오브젝트들 중 제2 오브젝트가 제1 오브젝트를 사용하거나 호출하는 경우 상기 제1 오브젝트의 고유 심볼을 검색하여 상기 제1 오브젝트의 고유 심볼을 상기 제2 오브젝트의 고유 심볼로 생성하는 프로그램 소스 및 DB 스키마 분석 방법.
  2. 제1항에 있어서,
    상기 고유 심볼을 생성하는 단계는
    상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하고, 상기 생성된 오브젝트들 각각에 대한 고유 심볼을 이용하여 심볼 테이블을 생성하며,
    상기 연관 관계 정보를 생성하는 단계는
    상기 심볼 테이블에 저장된 고유 심볼에 대한 정보에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 검출하고, 상기 검출된 연관 관계 정보에 대응하는 오브젝트들을 매핑하여 상기 연관 관계 정보를 생성하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 방법.
  3. 제1항에 있어서,
    상기 제공부에서 상기 생성된 고유 심볼에 대응하는 유니크 식별 정보를 생성하는 단계
    를 더 포함하고,
    상기 제공하는 단계는
    상기 생성된 유니크 식별 정보를 이용하여 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 제공하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 방법.
  4. 제1항에 있어서,
    상기 추출부에서 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나가 수집되면 상기 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나를 파싱하여 변경 오브젝트들을 추출하는 단계;
    상기 심볼 생성부에서 상기 추출된 변경 오브젝트들 각각에 대한 고유 심볼을 갱신하는 단계;
    상기 연관 관계 생성부에서 상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 기초하여 상기 변경 오브젝트들의 변경된 연관 관계 정보를 생성하는 단계; 및
    상기 제공부에서 상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 대한 정보 또는 상기 변경된 연관 관계 정보를 실시간으로 제공하는 단계
    를 더 포함하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 방법.
  5. 제1항에 있어서,
    상기 연관 관계 정보를 생성하는 단계는
    상기 생성된 고유 심볼에 기초하여 동일한 고유 심볼을 가지는 상이한 오브젝트들을 검출하고, 상기 검출된 오브젝트들의 고유 심볼에 기초하여 상기 검출된 오브젝트들 간의 연관 관계 정보를 생성하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 방법.
  6. 프로그램 소스와 DB 스키마 중 적어도 하나를 수집하는 수집부;
    상기 수집된 프로그램 소스 및 DB 스키마 중 적어도 하나를 파싱하여 오브젝트들을 추출하는 추출부;
    상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하는 심볼 생성부;
    상기 생성된 고유 심볼에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 생성하는 연관 관계 생성부; 및
    상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 실시간으로 제공하는 제공부
    를 포함하고,
    상기 심볼 생성부는
    상기 추출된 오브젝트들 중 제2 오브젝트가 제1 오브젝트를 사용하거나 호출하는 경우 상기 제1 오브젝트의 고유 심볼을 검색하여 상기 제1 오브젝트의 고유 심볼을 상기 제2 오브젝트의 고유 심볼로 생성하는 프로그램 소스 및 DB 스키마 분석 장치.
  7. 제6항에 있어서,
    상기 심볼 생성부는
    상기 추출된 오브젝트들 각각에 대한 고유 심볼을 생성하고, 상기 생성된 오브젝트들 각각에 대한 고유 심볼을 이용하여 심볼 테이블을 생성하며,
    상기 연관 관계 생성부는
    상기 심볼 테이블에 저장된 고유 심볼에 대한 정보에 기초하여 상기 오브젝트들 간의 연관 관계 정보를 검출하고, 상기 검출된 연관 관계 정보에 대응하는 오브젝트들을 매핑하여 상기 연관 관계 정보를 생성하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 장치.
  8. 제6항에 있어서,
    상기 제공부는
    상기 생성된 고유 심볼에 대응하는 유니크 식별 정보를 생성하고, 상기 생성된 유니크 식별 정보를 이용하여 상기 생성된 고유 심볼에 대한 정보 또는 상기 생성된 연관 관계 정보를 제공하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 장치.
  9. 제6항에 있어서,
    상기 추출부는
    변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나가 수집되면 상기 변경 프로그램 소스 및 변경 DB 스키마 중 적어도 하나를 파싱하여 변경 오브젝트들을 추출하고,
    상기 심볼 생성부는
    상기 추출된 변경 오브젝트들 각각에 대한 고유 심볼을 갱신하며,
    상기 연관 관계 생성부는
    상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 기초하여 상기 변경 오브젝트들의 변경된 연관 관계 정보를 생성하고,
    상기 제공부는
    상기 갱신된 변경 오브젝트들 각각에 대한 고유 심볼에 대한 정보 또는 상기 변경된 연관 관계 정보를 실시간으로 제공하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 장치.
  10. 제6항에 있어서,
    상기 연관 관계 생성부는
    상기 생성된 고유 심볼에 기초하여 동일한 고유 심볼을 가지는 상이한 오브젝트들을 검출하고, 상기 검출된 오브젝트들의 고유 심볼에 기초하여 상기 검출된 오브젝트들 간의 연관 관계 정보를 생성하는 것을 특징으로 하는 프로그램 소스 및 DB 스키마 분석 장치.
KR1020160061581A 2016-05-19 2016-05-19 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치 KR101673151B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160061581A KR101673151B1 (ko) 2016-05-19 2016-05-19 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160061581A KR101673151B1 (ko) 2016-05-19 2016-05-19 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101673151B1 true KR101673151B1 (ko) 2016-11-08

Family

ID=57527842

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061581A KR101673151B1 (ko) 2016-05-19 2016-05-19 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101673151B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101976167B1 (ko) * 2018-10-08 2019-05-08 지티원 주식회사 프로그램 소스 및 db 스키마의 누락 연관 관계 검증 방법 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080196015A1 (en) * 2007-02-12 2008-08-14 Microsoft Corporation Formatting and viewing source objects
JP2008293486A (ja) * 2007-04-25 2008-12-04 Hitachi Ltd ソースコード解析機器、解析プログラムおよび解析方法
KR100899616B1 (ko) * 2008-01-25 2009-05-27 주식회사 케이티프리텔 관계형 데이터베이스를 이용한 메타데이터 관리 방법 및시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080196015A1 (en) * 2007-02-12 2008-08-14 Microsoft Corporation Formatting and viewing source objects
JP2008293486A (ja) * 2007-04-25 2008-12-04 Hitachi Ltd ソースコード解析機器、解析プログラムおよび解析方法
KR100899616B1 (ko) * 2008-01-25 2009-05-27 주식회사 케이티프리텔 관계형 데이터베이스를 이용한 메타데이터 관리 방법 및시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
제19회 한국정보처리학회 춘계학술발표대회 논문집 제10권 제1호 (2003. 5)* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101976167B1 (ko) * 2018-10-08 2019-05-08 지티원 주식회사 프로그램 소스 및 db 스키마의 누락 연관 관계 검증 방법 및 그 장치

Similar Documents

Publication Publication Date Title
US20180365287A1 (en) Source code search engine
US9466027B2 (en) Using ontologies to comprehend regular expressions
CN110287702B (zh) 一种二进制漏洞克隆检测方法及装置
US9015685B2 (en) Code analysis for simulation efficiency improvement
CA2894702C (en) Method, apparatus, and computer-readable medium for optimized data subsetting
CN113641701B (zh) 一种数据查询方法、系统、异构加速平台及存储介质
KR101535813B1 (ko) 복합 이벤트 처리를 위한 이벤트 구성 규칙의 동적 업데이트를 위한 시스템 및 방법
US10055329B2 (en) Detection of antipatterns through statistical analysis
CN108491228A (zh) 一种二进制漏洞代码克隆检测方法及系统
KR20190031030A (ko) 바이너리 파일에 기초하여 오픈소스 소프트웨어 패키지를 식별하는 방법 및 시스템
US20180025162A1 (en) Application program analysis apparatus and method
Zhu et al. Determining image base of firmware files for ARM devices
KR20200071877A (ko) 자율 증강형 반복 학습을 이용한 정보 추출 방법 및 시스템
CN111181805A (zh) 一种基于测试用例的微服务测试挡板生成方法及系统
CN107562429A (zh) 一种基于编译规则的Android系统静态划分方法
CN107391528B (zh) 前端组件依赖信息搜索方法及设备
JP5440287B2 (ja) シンボリック実行支援プログラム、方法及び装置
CN112364185B (zh) 多媒体资源的特征确定方法、装置、电子设备和存储介质
US10042638B2 (en) Evaluating documentation coverage
KR101673151B1 (ko) 프로그램 소스 및 db 스키마의 연관 관계 변화 분석 방법 및 장치
JP2017522639A5 (ko)
US20140310248A1 (en) Verification support program, verification support apparatus, and verification support method
CN109840259B (zh) 数据查询方法、装置、电子设备及可读存储介质
JP2006277282A (ja) モデル評価解析システムおよびモデル評価解析プログラム
US7844627B2 (en) Program analysis method and apparatus

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: 20190905

Year of fee payment: 4