1 |
1
소스 코드를 파싱하여 복수의 토큰들로 이루어진 토큰 배열을 생성하는 단계;상기 소스 코드가 작성된 프로그래밍 언어의 종류에 따라 상기 토큰들 각각을 유지, 삭제 또는 치환하거나 새로운 토큰을 추가하여 상기 토큰 배열을 변환하는 단계; 및상기 변환된 토큰 배열과 기준 토큰 배열 간의 유사도를 계산하는 단계를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법
|
2 |
2
제1항에 있어서,상기 토큰들 각각은 토큰 종류를 의미하는 키워드와 부가 정보로 구성되는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법
|
3 |
3
제1항에 있어서,상기 토큰들은 줄 바꿈, 탭(tab) 및 공백 문자의 길이를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법
|
4 |
4
제1항에 있어서,상기 변환하는 단계는,상기 프로그래밍 언어의 상기 종류에 대응하는 토큰 변환 룩업 테이블을 로드하는 단계; 및상기 토큰 변환 룩업 테이블에 기초하여 상기 토큰 배열을 변환하는 단계를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법
|
5 |
5
제4항에 있어서,상기 토큰 변환 룩업 테이블은 상기 토큰들 중에서 삭제할 토큰 및 치환할 토큰에 대한 정보를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법
|
6 |
6
제1항에 있어서,상기 변환하는 단계는,상기 프로그래밍 언어에서 들여쓰기에 따라 코드 블럭이 구분되는 경우, 상기 들여쓰기에 대한 토큰을 상기 코드 블럭의 시작과 끝을 정의하는 토큰으로 변환하는 단계를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 방법
|
7 |
7
소스 코드를 파싱하여 복수의 토큰들로 이루어진 토큰 배열을 생성하는 토큰화 모듈;소그 코드가 작성된 프로그래밍 언어의 종류에 따라 상기 토큰들 중 일부를 삭제 또는 치환하거나 새로운 토큰을 추가하여 상기 토큰 배열을 변환하는 언어별 전처리 모듈; 및상기 변환된 토큰 배열과 기준 토큰 배열 간의 유사도를 계산하고, 유사도가 기준 값 이상인 경우 표절로 판정하는 표절 판정 모듈을 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|
8 |
8
제7항에 있어서,상기 토큰들 각각은 토큰 종류를 의미하는 키워드와 부가 정보로 구성되는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|
9 |
9
제7항에 있어서,상기 토큰들은 줄 바꿈, 탭(tab) 및 공백 문자의 길이를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|
10 |
10
제7항에 있어서,상기 언어별 전처리 모듈은 상기 프로그래밍 언어의 상기 종류에 대응하는 토큰 변환 룩업 테이블을 로드하고 상기 토큰 변환 룩업 테이블에 기초하여 상기 토큰 배열을 변환하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|
11 |
11
제10항에 있어서,상기 토큰 변환 룩업 테이블은 상기 토큰들 중에서 삭제할 토큰 및 치환할 토큰에 대한 정보를 포함하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|
12 |
12
제7항에 있어서,상기 언어별 전처리 모듈은, 상기 프로그래밍 언어에서 들여쓰기에 따라 코드 블럭이 구분되는 경우, 상기 들여쓰기에 대한 토큰을 상기 코드 블럭의 시작과 끝을 정의하는 토큰으로 변환하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|
13 |
13
제7항에 있어서,상기 표절 판정 모듈은 미리 정의된 크기의 블록 내에서 서로 동일한 토큰들의 비율을 상기 유사도로 계산하는 서로 다른 언어로 작성된 프로그램들 간 유사성 검사 장치
|