메뉴 건너뛰기
.. 내서재 .. 알림
소속 기관/학교 인증
인증하면 논문, 학술자료 등을  무료로 열람할 수 있어요.
한국대학교, 누리자동차, 시립도서관 등 나의 기관을 확인해보세요
(국내 대학 90% 이상 구독 중)
로그인 회원가입 고객센터 ENG
주제분류

추천
검색

논문 기본 정보

자료유형
학위논문
저자정보

양근석 (서울시립대학교, 서울시립대학교 일반대학원)

지도교수
이병정
발행연도
2020
저작권
서울시립대학교 논문은 저작권에 의해 보호받습니다.

이용수7

표지
AI에게 요청하기
추천
검색

이 논문의 연구 히스토리 (2)

초록· 키워드

오류제보하기
최근 소프트웨어 산업의 발전으로 소프트웨어의 복잡성이 매우 증가하였다. 이에 따라, 개발자들의 크고/작은 실수들이 발생하게 되었으며 아직까지도 많은 개발자들이 디버깅에 많은 시간을 할애하고 있다. Eclipse 오픈 소스 프로젝트에서는 하루 평균 약 300건의 버그 리포트가 제출되고 있으며, 크고/작은 버그들에 대해서 자동적으로 버그를 정정한다면 소프트웨어 품질을 좋아질 것이다.
본 논문은 이러한 문제를 해결하기 위해 버그 정정 관리를 위한 프레임워크를 제안한다. 버그 정정 관리 프레임워크에는 버그 심각도 예측, 버그 정정 개발자 추천, 버그 로컬라이제이션, 프로그램 버그 정정으로 구성한다.
먼저 버그 심각도 예측에는 버그 리포트에 전처리 과정을 진행하고, 토픽 모델을 구축한다. 워드 임베딩 과정을 통해 합성곱 신경망과 장단기 메모리를 사용하여 각 토픽들에 학습을 적용한다.
버그 정정 개발자 추천에서는 버그 리포트에 대해 전처리 과정과 토픽 모델을 구축한다. 제안한 유사 버그 리포트 검색 기법을 진행하여 유사 버그 리포트를 추출한다. 워드 임베딩 과정을 통해 합성곱 신경망과 장단기 메모리를 사용하여 학습을 진행한다.
버그 로컬라이제이션에서는 버그 리포트, 소스코드 파일, 스택 트레이스를 추출하여 텍스트 특징 추출 과정을 진행한다. 추출된 텍스트 특징들을 결합하여, 오토인코더에 넣어 학습을 진행하고 출력을 합성곱 신경망과 장단기 메모리 알고리즘에 넣어 최종적으로 버기 소스코드 파일을 예측한다.
프로그램 버그 정정에서는 버그 리포트, 소스코드 파일, 키워드 검색을 통한 Github 관련 소스코드 및 설명을 파싱한다. 프로그램 변환 과정을 거쳐 Seq-GAN 알고리즘으로 학습을 진행한다. 새로운 버기 프로그램이 제출되면, Seq-GAN 모델에 넣어 프로그램 패치를 생성한다. 생성된 프로그램 패치가 적절하게 생성되었는지 판단하기 위해 적합도 함수를 이용한다. 주어진 모든 테스트 케이스를 통과하면 프로그램 버그 정정이 적절하게 되었다고 판단한다.
본 프레임워크의 모델에 대한 성능을 평가하기 위해 오픈 소스 프로젝트로 베이스라인과 비교하였으며 제안한 모델이 더 좋은 성능을 보였다. 향후 매개변수 최적화 및 다양한 알고리즘 결합으로 프레임워크의 성능을 더욱 향상할 예정이다.

목차

1. 서론 1
2. 배경 지식 7
2.1. 버그 리포트 7
2.2. 버그 생명주기 10
2.3. 버그 추적관리 시스템 11
2.4. 버그 심각도 예측 14
2.5. 버그 정정을 위한 개발자 배정 16
2.6. 버그 로컬라이제이션 16
2.7. 버그 정정 17
3. 소프트웨어 버그 정정 프레임워크 21
3.1 전반적인 버그 정정 프레임워크 21
3.2 버그 심각도 속성 예측 25
3.3 버그 정정을 위한 개발자 추천 36
3.4 버그 로컬라이제이션 40
3.5 프로그램 버그 정정 44
4. 실험 51
4.1 데이터셋 51
4.2 평가 척도 52
4.3 베이스라인 54
4.4 연구 질문 56
4.5 연구 결과 58
5. 토의 70
5.1 실험 결과 70
5.2 위협 요소 71
6. 관련 연구 73
6.1 버그 심각도 예측 73
6.2 버그 배정자 추천 75
6.3 버그 로컬라이제이션 80
6.4 프로그램 버그 정정 83
7. 결론 86
참고 문헌 88
Abstract 100

최근 본 자료

전체보기

댓글(0)

0