1 |
1
버그 정정 장치에 있어서,프로그램의 소스 코드를 입력받는 입력부;오토 인코더(AutoEncoder) 및 CNN(Convolution Neural Network)에 기초하여 상기 소스 코드 및 상기 프로그램에 대한 검증 정보로부터 버그가 존재하는 버기 라인(buggy line)의 위치를 식별하는 버그 위치 식별부; 및상기 버기 라인의 코드를 시퀀스 적대적 생성 네트워크(Sequence Generative Adversarial Network) 기반의 정정 모델에 입력하여 상기 버그가 정정된 정정 코드를 생성하는 버그 정정부를 포함하는 것인, 버그 정정 장치
|
2 |
2
제 1 항에 있어서,상기 정정 코드에 기초하여 상기 프로그램을 변환하는 변환부; 및상기 변환된 프로그램의 소스 코드에 대하여 적합성 테스트를 수행하는 테스트부를 더 포함하는 것인, 버그 정정 장치
|
3 |
3
제 1 항에 있어서,상기 검증 정보는 상기 프로그램에 대한 버그 리포트 및 스택 트레이스(Stack trace)를 포함하는 것인, 버그 정정 장치
|
4 |
4
제 1 항에 있어서,상기 버그 위치 식별부는 상기 소스 코드 및 상기 검증 정보로부터 하나 이상의 특징을 추출하고, 상기 추출된 하나 이상의 특징을 오토 인코더의 인코더에 입력하고, 상기 인코더로부터 출력된 잠재 벡터를 상기 CNN에 입력하여 상기 CNN의 출력으로부터 상기 버기 라인의 위치를 식별하는 것인, 버그 정정 장치
|
5 |
5
제 1 항에 있어서,상기 정정 모델은 소스 코드를 생성하는 RNN(Recurrent Neural Network) 기반의 생성 모델 및 상기 생성 모델에 의해 생성된 소스 코드의 정상 여부를 식별하는 CNN 기반의 식별 모델을 포함하는 것인, 버그 정정 장치
|
6 |
6
제 6 항에 있어서,상기 정정 모델을 학습시키는 학습부를 더 포함하고,상기 학습부는 상기 RNN 기반의 생성 모델이 정상 또는 비정상의 소스 코드를 생성하고, 상기 CNN 기반의 식별 모델이 상기 정상 또는 비정상의 소스 코드의 정상 여부를 식별하도록 상기 식별 모델을 학습시키고,상기 오토 인코더의 입력값과 출력값이 동일하도록 상기 오토 인코더를 학습시키는 것인, 버그 정정 장치
|
7 |
7
제 1 항에 있어서,상기 버그 정정부는 상기 프로그램의 소스 코드에 기초하여 공통 단어 사전 및 사용자 단어 사전을 생성하는 것인, 버그 정정 장치
|
8 |
8
제 2 항에 있어서,상기 변환부는 상기 버기 라인에 상기 정정 코드를 적용하고, 변수명 복원 기술을 이용하여 상기 프로그램을 변환하는 것인, 버그 정정 장치
|
9 |
9
제 2 항에 있어서,상기 테스트부는 복수의 테스트 케이스에 기초하여 상기 적합성 테스트를 수행하고, 상기 변환된 프로그램의 소스 코드가 상기 복수의 테스트 케이스 전부를 통과하는 경우에 버그 정정이 적합한 것으로 판정하는 것인, 버그 정정 장치
|
10 |
10
버그 정정 방법에 있어서,프로그램의 소스 코드를 입력받는 단계;오토 인코더(AutoEncoder) 및 CNN(Convolution Neural Network)에 기초하여 상기 소스 코드 및 상기 프로그램에 대한 검증 정보로부터 버그가 존재하는 버기 라인(buggy line)의 위치를 식별하는 단계; 및상기 버기 라인의 코드를 시퀀스 적대적 생성 네트워크(Sequence Generative Adversarial Network) 기반의 정정 모델에 입력하여 상기 버그가 정정된 정정 코드를 생성하는 단계를 포함하는 것인, 버그 정정 방법
|