1 |
1
소스 코드 오류 분석 장치에 의해 수행되는 소스 코드 오류 분석 방법에 있어서, 입력받은 분석 대상 코드에 대한 전처리를 수행하여, 상기 분석 대상 코드에 상응하는 코드 블록을 생성하는 단계, 기계 학습을 통해 생성된 오류 분석기를 이용하여, 상기 코드 블록에 포함된 비문법적 오류를 분석하는 단계, 그리고 상기 코드 블록에 상기 비문법적 오류가 포함된 것으로 판단된 경우, 상기 코드 블록 및 상기 비문법적 오류의 정보를 출력하는 단계를 포함하며, 상기 오류 분석기는 오류가 포함된 오류 데이터 및 상기 오류의 정보를 포함하는 학습용 데이터 셋을 입력받아 기계 학습을 수행하여 생성된 것인 소스 코드 오류 분석 방법
|
2 |
2
제1항에 있어서, 상기 코드 블록을 생성하는 단계는, 상기 분석 대상 코드를 문장 단위 및 토큰 단위 중 적어도 어느 하나의 단위로 분할한 후 코드값으로 변환하여, 상기 분석 대상 코드에 대한 상기 코드 블록을 생성하는 소스 코드 오류 분석 방법
|
3 |
3
제2항에 있어서, 상기 코드 블록을 생성하는 단계는, 상기 분석 대상 코드에 대한 어휘 분석을 수행하여 상기 분석 대상 코드를 상기 토큰 단위로 분할한 토큰을 생성하고, 상기 토큰을 코드값으로 변환하여 상기 코드 블록을 생성하는 소스 코드 오류 분석 방법
|
4 |
4
제3항에 있어서, 상기 코드 블록을 생성하는 단계는, 상기 토큰이 기 정의된 단어인 경우 상기 토큰을 상기 기 정의된 단어에 상응하는 코드값으로 변환하고, 상기 토큰이 변수 또는 상수인 경우 식별 토큰값 및 코드값으로 변환하여 상기 코드 블록을 생성하는 소스 코드 오류 분석 방법
|
5 |
5
제1항에 있어서, 상기 코드 블록을 생성하는 단계는, 하나의 문장 또는 복수의 연결된 문장들로 구성된 상기 코드 블록을 생성하는 소스 코드 오류 분석 방법
|
6 |
6
제5항에 있어서, 상기 코드 블록을 생성하는 단계는, 상기 코드 블록의 사이즈를 설정한 후, 상기 코드 블록의 사이즈에 상응하는 상기 코드 블록을 생성하는 소스 코드 오류 분석 방법
|
7 |
7
제1항에 있어서, 상기 오류 데이터 및 상기 오류의 정보를 포함하는 학습용 데이터 셋을 생성하는 단계, 그리고 상기 학습용 데이터 셋을 이용하여, 상기 오류 분석기의 기계 학습을 수행하는 단계를 더 포함하는 소스 코드 오류 분석 방법
|
8 |
8
제7항에 있어서, 상기 학습용 데이터 셋을 생성하는 단계는, 블록 구성 정보를 기반으로 프로그램 소스 코드로부터 블록 데이터를 생성하는 단계, 생성된 상기 블록 데이터에 오류 정보 및 오류 생성 규칙 정보 중 적어도 어느 하나에 상응하는 오류를 추가하여, 상기 오류 데이터를 생성하는 단계, 그리고 상기 오류 데이터 및 상기 오류의 정보를 포함하는 학습용 데이터 셋을 생성하는 단계를 포함하는 소스 코드 오류 분석 방법
|
9 |
9
제8항에 있어서, 상기 블록 데이터를 생성하는 단계는, 상기 소스 코드의 어휘 분석 결과를 기반으로 상기 블록 데이터의 사이즈를 설정하고, 설정된 상기 블록 데이터의 사이즈에 상응하는 상기 블록 데이터를 생성하는 소스 코드 오류 분석 방법
|
10 |
10
제1항에 있어서, 상기 코드 블록을 생성한 후, 상기 코드 블록에 포함된 문법적 오류를 분석하는 단계를 더 포함하는 소스 코드 오류 분석 방법
|
11 |
11
분석 대상 코드를 입력받는 코드 입력부, 상기 분석 대상 코드에 대한 전처리를 수행하여, 상기 분석 대상 코드에 상응하는 코드 블록을 생성하는 코드 블록 생성부, 기계 학습을 통해 생성된 오류 분석기를 이용하여, 상기 코드 블록에 포함된 비문법적 오류를 분석하는 비문법적 오류 분석부, 그리고 상기 코드 블록에 상기 비문법적 오류가 포함된 것으로 판단된 경우, 상기 코드 블록 및 상기 비문법적 오류의 정보를 출력하는 오류 정보 출력부를 포함하며, 상기 오류 분석기는 오류가 포함된 오류 데이터 및 상기 오류의 정보를 포함하는 학습용 데이터 셋을 입력받아 기계 학습을 수행하여 생성된 것인 소스 코드 오류 분석 장치
|
12 |
12
제11항에 있어서, 상기 오류 분석기에 상기 학습용 데이터 셋을 입력하여 상기 기계 학습을 수행하는 기계 학습 수행부를 더 포함하는 소스 코드 오류 분석 장치
|
13 |
13
제12항에 있어서, 프로그램 소스 코드에 상응하는 블록 데이터에 오류를 추가하여 오류 데이터를 생성하고, 상기 오류 데이터 및 상기 오류의 정보를 포함하는 상기 학습용 데이터 셋을 생성하는 학습용 데이터 셋 생성부를 더 포함하는 소스 코드 오류 분석 장치
|
14 |
14
제11항에 있어서, 상기 코드 블록 생성부는, 상기 분석 대상 코드를 문장 단위 및 토큰 단위 중 적어도 어느 하나의 단위로 분할한 후 코드값으로 변환하여, 코드 블록 사이즈에 상응하는 코드 블록을 생성하는 소스 코드 오류 분석 장치
|
15 |
15
제14항에 있어서, 상기 코드 블록 생성부는, 상기 분석 대상 코드에 대한 어휘 분석을 수행하여 상기 분석 대상 코드를 상기 토큰 단위로 분할한 토큰을 생성하고, 상기 토큰의 종류에 상응하도록 상기 토큰을 코드값으로 변환하여 상기 코드 블록을 생성하는 소스 코드 오류 분석 장치
|
16 |
16
제15항에 있어서, 상기 코드 블록에 포함된 문법적 오류를 분석하는 문법적 오류 분석부를 더 포함하는 소스 코드 오류 분석 장치
|
17 |
17
프로그램 소스 코드와, 블록 구성 정보, 오류 정보 및 오류 생성 규칙 정보 중 적어도 어느 하나를 포함하는 오류 생성 정보를 입력받는 입력부, 상기 블록 구성 정보를 기반으로, 상기 프로그램 소스 코드로부터 블록 데이터를 생성하는 블록 데이터 생성부, 생성된 상기 블록 데이터에 상기 오류 정보 및 상기 오류 생성 규칙 정보 중 적어도 어느 하나에 상응하는 오류를 추가하여, 오류 데이터를 생성하는 오류 데이터 생성부, 그리고 상기 오류 데이터 및 상기 오류의 정보를 포함하는 학습용 데이터 셋을 생성하는 학습용 데이터 생성부를 포함하는 소스 코드 오류 분석을 위한 학습용 데이터 생성 장치
|
18 |
18
제17항에 있어서, 상기 블록 데이터 생성부는, 하나의 문장 또는 복수의 연결된 문장으로 구성된 상기 블록 데이터를 생성하는 소스 코드 오류 분석을 위한 학습용 데이터 생성 장치
|
19 |
19
제18항에 있어서, 상기 블록 데이터 생성부는, 상기 프로그램 소스 코드에 대한 어휘 분석을 수행하여 상기 프로그램 소스 코드를 토큰 단위로 분할한 토큰을 생성하고, 상기 토큰을 코드값으로 변환하여 상기 블록 데이터를 생성하는 소스 코드 오류 분석을 위한 학습용 데이터 생성 장치
|
20 |
20
제19항에 있어서, 상기 블록 데이터 생성부는, 상기 토큰이 기 정의된 단어인 경우 상기 토큰을 상기 기 정의된 단어에 상응하는 코드값으로 변환하고, 상기 토큰이 변수 또는 상수인 경우 식별 토큰값 및 코드값으로 변환하여 상기 블록 데이터를 생성하는 소스 코드 오류 분석을 위한 학습용 데이터 생성 장치
|