Learning to repair multiple errors by optimal alignment learning
저자
발행사항
[Seoul] : Graduate School, Yonsei University, 2022
학위논문사항
학위논문(석사) -- Graduate School, Yonsei University Department of Computer Science 2022.2
발행연도
2022
작성언어
영어
주제어
발행국(도시)
서울
기타서명
최적의 정렬 학습을 통해 형식 언어 및 프로그램 언어에서 다중 오류를 수정
형태사항
vii, 49장 : 삽화 ; 26 cm
일반주기명
지도교수: Yo-Sub Han
UCI식별코드
I804:11046-000000540827
소장기관
우리는 주의 메커니즘이 있는 잘 알려진 Sequence-to-Sequence (seq2seq) 모델을
기반으로 신경 오류 수정 문제를 연구한다. 오류 수정 문제는 잠재적으로 오류를
포함하는 입력 문장이 주어지면 수정된 문장을 출력하는 것이다. 우리는 자연어가
아닌 형식 언어 및 프로그래밍 언어 예제에서 올바른 예제와 최적의 정렬 학습을
통해 잘못된 예제를 수정하는 학습 문제를 고려한다.
초기 작업에서 두 가지 형태의 형식 언어(회문 언어, 복사 언어)를 활용하여
attention 메커니즘 기반의 seq2seq 모델을 활용하여 인공신경망이 형식 언어의
내재적 문법 구조를 학습하여 입력 문장에 존재하는 오류를 수정하도록 학습을 수
행한다. 우리는 오류 수정 작업에서 기존 attention 메커니즘 기반의 seq2seq 모델의
한계를 확인하고, 문장의 절대 위치를 입력 문장에 추가하는 위치 임베딜 기술을 적
용하여 attention 모듈을 효과적으로 훈련시킨다. 그리고 seq2seq 모델의 오류 수정
성능에 대한 다양한 매개변수의 영향을 광범위한 실험을 통해 주의 깊게 조사한다.
결과적으로 실험을 통해 위치 임베딩이 attention 메커니즘 기반의 seq2seq 모델에서
성공적으로 형식 언어를 학습하고, 오류 수정 학업에서는 문장의 위치를 기억하는
것이 중요함을 확인한다.
다음으로 위치 임베딩을 적용한 seq2seq 모델을 올바른 프로그램과 최적의 정
렬을 학습하여 잘못된 C 프로그램을 복구하는 학습 문제에 적용한다. 이전 접근
방식은 한 번에 한 줄만 수정하도록 학습한다. 따라서 다중 오류를 수정하기 위해서
수정 작업을 반복해야 한다. 이 작업에서 우리는 한 번에 프로그램의 다중 오류를
수정하기 위한 새로운 seq2seq 학습 프레임워크를 제안한다. 우리의 접근 방식은
올바른 프로그램과 잘못된 프로그램의 편집 거리 계산에 의해 생성된 최적의 정렬로
라벨링 하고, 입력과 출력의 위치 정보를 동기화 하여 수정 성능의 향상을 보였다.
특히, 우리의 접근 방식은 한 번에 다중 오류를 직접 수정하는 반면 이전 접근 방식은
특성 상 한 번에 한 줄만 수정할 수 있음을 실험 결과를 통해 보여준다.
We study the neural error correction problem using the well-known sequence-to-sequence model with attention mechanism. The error correction problem is, given a source sequence that potentially contains errors, to output a sequence of corrections. We consider the problem of learning to correct erroneous examples by learning optimal alignments with correct examples and optimal alignments in formal and programming languages, but not in natural languages.
We rely on synthetic examples generated by two formal grammars (palindrome and copy language) in our initial work, which exhibit two common natural language phenomena called the center-embedded structures and cross-serial dependencies.
We systematically analyze the underlying mechanism of the sequence-to-sequence model by disentangling the roles of RNN cells and attention mechanism during the supervised error correction learning and discover the limitation of the vanilla attention model in the error correction task.
To resolve the vanishing and exploding gradient problems caused by lengthy input-output sequences, we apply the position embedding techniques to effectively train attention modules to locate the errors.
Then, the effect of various parameters on error-correction performance of the sequence-to-sequence model such as type of RNN cell, attention mechanism and additional embedding is carefully examined through extensive experiments.
We apply a sequence-to-sequence model with positional embedding to the problem of learning to repair erroneous C programs by learning optimal alignments with correct programs.
Since the previous approaches are only able to fix a single line at a time, it is inevitable to iterate the process of fixing a single line until there is no remaining error.
In this work, we propose a novel sequence-to-sequence learning framework for fixing multiple program errors at a time.
Instead of labeling a program repair example by pairing an erroneous program with a line fix, we label the example by paring an erroneous program with an optimal alignment to the corresponding correct program produced by the edit-distance computation.
We evaluate our proposed approach on a publicly available dataset (DeepFix dataset) that consists of erroneous C programs submitted by novice programming students.
Our approach achieves the state-of-the-art result in terms of full repair rate on the DeepFix dataset (without extra data such as compiler error message or additional source codes for pre-training). Especially, we demonstrate with experimental results that our approach directly fixes multiple errors at a time while the previous approaches are only able to fix a single line at a time by their nature.
서지정보 내보내기(Export)
닫기소장기관 정보
닫기권호소장정보
닫기오류접수
닫기오류 접수 확인
닫기음성서비스 신청
닫기음성서비스 신청 확인
닫기이용약관
닫기학술연구정보서비스 이용약관 (2017년 1월 1일 ~ 현재 적용)
학술연구정보서비스(이하 RISS)는 정보주체의 자유와 권리 보호를 위해 「개인정보 보호법」 및 관계 법령이 정한 바를 준수하여, 적법하게 개인정보를 처리하고 안전하게 관리하고 있습니다. 이에 「개인정보 보호법」 제30조에 따라 정보주체에게 개인정보 처리에 관한 절차 및 기준을 안내하고, 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다.
주요 개인정보 처리 표시(라벨링)
목 차
3년
또는 회원탈퇴시까지5년
(「전자상거래 등에서의 소비자보호에 관한3년
(「전자상거래 등에서의 소비자보호에 관한2년
이상(개인정보보호위원회 : 개인정보의 안전성 확보조치 기준)개인정보파일의 명칭 | 운영근거 / 처리목적 | 개인정보파일에 기록되는 개인정보의 항목 | 보유기간 | |
---|---|---|---|---|
학술연구정보서비스 이용자 가입정보 파일 | 한국교육학술정보원법 | 필수 | ID, 비밀번호, 성명, 생년월일, 신분(직업구분), 이메일, 소속분야, 웹진메일 수신동의 여부 | 3년 또는 탈퇴시 |
선택 | 소속기관명, 소속도서관명, 학과/부서명, 학번/직원번호, 휴대전화, 주소 |
구분 | 담당자 | 연락처 |
---|---|---|
KERIS 개인정보 보호책임자 | 정보보호본부 김태우 | - 이메일 : lsy@keris.or.kr - 전화번호 : 053-714-0439 - 팩스번호 : 053-714-0195 |
KERIS 개인정보 보호담당자 | 개인정보보호부 이상엽 | |
RISS 개인정보 보호책임자 | 대학학술본부 장금연 | - 이메일 : giltizen@keris.or.kr - 전화번호 : 053-714-0149 - 팩스번호 : 053-714-0194 |
RISS 개인정보 보호담당자 | 학술진흥부 길원진 |
자동로그아웃 안내
닫기인증오류 안내
닫기귀하께서는 휴면계정 전환 후 1년동안 회원정보 수집 및 이용에 대한
재동의를 하지 않으신 관계로 개인정보가 삭제되었습니다.
(참조 : RISS 이용약관 및 개인정보처리방침)
신규회원으로 가입하여 이용 부탁 드리며, 추가 문의는 고객센터로 연락 바랍니다.
- 기존 아이디 재사용 불가
휴면계정 안내
RISS는 [표준개인정보 보호지침]에 따라 2년을 주기로 개인정보 수집·이용에 관하여 (재)동의를 받고 있으며, (재)동의를 하지 않을 경우, 휴면계정으로 전환됩니다.
(※ 휴면계정은 원문이용 및 복사/대출 서비스를 이용할 수 없습니다.)
휴면계정으로 전환된 후 1년간 회원정보 수집·이용에 대한 재동의를 하지 않을 경우, RISS에서 자동탈퇴 및 개인정보가 삭제처리 됩니다.
고객센터 1599-3122
ARS번호+1번(회원가입 및 정보수정)