1 |
1
제1 프로그램의 제1 함수정보와 제2 프로그램의 제2 함수정보에 n-gram을 적용하여 제1 n-gram 집합 및 제2 n-gram 집합을 생성하고, 상기 제1 n-gram 집합 및 제2 n-gram 집합을 이용하여 일정 크기의 행렬을 생성하는 행렬 생성부;상기 행렬에서 행과 열을 중복으로 선택하지 않는 요소의 최대 합계를 구성하는 인덱스를 산출하는 인덱스 산출부; 및상기 산출된 인덱스에 기초하여 제1 함수정보와 제2 함수정보의 동일 여부를 판단하는 유사도 분석부를 포함하고,상기 유사도 분석부는 기울기가 '1'인 인덱스가 연속되는 빈도(갯수)에 기초하여 상기 제1 함수정보와 제2 함수정보의 유사도를 산출하는 것을 특징으로 하는 프로그램 유사도 분석 장치
|
2 |
2
제1항에 있어서,상기 제1 프로그램 또는 제2 프로그램으로부터 적어도 하나 이상의 함수와 그 함수의 명령어들로 구성된 제1 함수정보 또는 제2 함수정보를 함수단위로 각각 추출하는 디스어셈블러를 더 포함하는 프로그램 유사도 분석 장치
|
3 |
3
제1항에 있어서,상기 행렬 생성부는, 상기 제1 함수정보와 제2 함수정보에서 각각 함수를 구성하는 명령어를 n-gram 단위로 분할하여 n개의 명령어로 구성된 제1 n-gram 집합 및 제2 n-gram 집합을 생성하는 n-gram 집합 생성부;상기 제1 n-gram 집합 및 제2 n-gram 집합에 LCS 알고리즘을 적용하여 제1 n-gram 집합과 제2 n-gram 집합의 쌍으로 이루어진 행렬을 생성하는 LCS 처리부를 포함하는 것을 특징으로 하는 프로그램 유사도 분석 장치
|
4 |
4
제3항에 있어서, 상기 n-gram 집합 생성부는, 상기 제1 함수정보를 구성하는 명령어 갯수와 제2 함수정보를 구성하는 명령어 갯수가 다른 경우, 제1 함수정보와 제2 함수정보의 명령어 갯수를 동일하게 맞춘 후, n-gram 집합을 생성하는 것을 특징으로 하는 프로그램 유사도 분석 장치
|
5 |
5
제3항에 있어서, 상기 LCS 처리부는, 상기 제1 n-gram 집합 및 제2 n-gram 집합에 LCS 알고리즘을 적용하여 두 함수가 공통으로 갖는 명령어 중에서 가장 긴 열의 길이를 LCS 길이로 찾고, 각각의 원소들 간의 LCS 길이를 n으로 나눈 값을 원소로 갖는 정방행렬을 생성하는 것을 특징으로 하는 프로그램 유사도 분석 장치
|
6 |
6
제3항에 있어서, 상기 인덱스 산출부는,상기 행렬에 헝가리안 알고리즘(Hungarian algorithm)을 적용하여 행과 열을 중복으로 선택하지 않는 요소의 최대 합계를 구성하는 인덱스를 산출하는 것을 특징으로 하는 프로그램 유사도 분석 장치
|
7 |
7
삭제
|
8 |
8
제1항에 있어서, 상기 유사도 분석부는, y = x의 관계에 대한 인덱스의 갯수 또는 인덱스 간 기울기 1을 유지하는 연속 인덱스의 빈도를 이용하여 유사도를 산출하는 것을 특징으로 하는 프로그램 유사도 분석 장치
|
9 |
9
프로그램의 유사도를 분석하는 장치가 프로그램의 유사도를 분석하는 방법에 있어서, 제1 프로그램의 제1 함수정보와 제2 프로그램의 제2 함수정보에 n-gram을 적용하여 제1 n-gram 집합 및 제2 n-gram 집합을 생성하고, 상기 제1 n-gram 집합 및 제2 n-gram 집합을 이용하여 일정 크기의 행렬을 생성하는 단계;상기 행렬에서 행과 열을 중복으로 선택하지 않는 요소의 최대 합계를 구성하는 인덱스를 산출하는 단계; 및상기 산출된 인덱스에 기초하여 제1 함수정보와 제2 함수정보의 동일 여부를 판단하는 단계를 포함하고,상기 동일 여부를 판단하는 단계는, 기울기가 '1'인 인덱스가 연속되는 빈도(갯수)에 기초하여 상기 제1 함수정보와 제2 함수정보의 유사도를 산출하는 것을 특징으로 하는 프로그램 유사도 분석 방법
|
10 |
10
제9항에 있어서, 상기 행렬을 생성하는 단계 이전에, 상기 제1 프로그램 또는 제2 프로그램으로부터 적어도 하나 이상의 함수와 그 함수의 명령어들로 구성된 제1 함수정보 또는 제2 함수정보를 함수단위로 각각 추출하는 단계를 더 포함하는 프로그램 유사도 분석 방법
|
11 |
11
제9항에 있어서, 상기 행렬을 생성하는 단계는, 상기 제1 함수정보와 제2 함수정보에서 각각 함수를 구성하는 명령어를 n-gram 단위로 분할하여 n개의 명령어로 구성된 제1 n-gram 집합 및 제2 n-gram 집합을 생성하는 단계; 및 상기 제1 n-gram 집합 및 제2 n-gram 집합에 LCS 알고리즘을 적용하여 제1 n-gram 집합과 제2 n-gram 집합의 쌍으로 이루어진 행렬을 생성하는 단계를 포함하는 것을 특징으로 하는 프로그램 유사도 분석 방법
|
12 |
12
제11항에 있어서, 상기 제1 n-gram 집합 및 제2 n-gram 집합을 생성하는 단계에서, 상기 제1 함수정보를 구성하는 명령어 갯수와 제2 함수정보를 구성하는 명령어 갯수가 다른 경우, 제1 함수정보와 제2 함수정보의 명령어 갯수를 동일하게 맞춘 후, n-gram 집합을 생성하는 것을 특징으로 하는 프로그램 유사도 분석 방법
|
13 |
13
제9항에 있어서, 상기 인덱스를 산출하는 단계는, 상기 행렬에 헝가리안 알고리즘(Hungarian algorithm)을 적용하여 행과 열을 중복으로 선택하지 않는 요소의 최대 합계를 구성하는 인덱스를 산출하는 것을 특징으로 하는 프로그램 유사도 분석 방법
|
14 |
14
삭제
|