서지주요정보
Localising software faults by learning patterns of failing executions = 실행 오류 패턴 학습을 통한 소프트웨어 결함 위치 식별 기술
서명 / 저자 Localising software faults by learning patterns of failing executions = 실행 오류 패턴 학습을 통한 소프트웨어 결함 위치 식별 기술 / Gabin An.
발행사항 [대전 : 한국과학기술원, 2020].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8035998

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 20020

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Many Fault Localisation (FL) techniques have been developed to alleviate the developers debugging cost. Spectrum-Based FL (SBFL) is known as the most effective family as a standalone FL technique. However, summarising program coverage information into program spectrum often results in huge loss of information such as 'which element is covered by which test?' or 'which elements are always executed together?'. In this work, we propose to preserve the original information as much as possible and let a classifier model learn the coverage pattern of failing tests. Once the training is done, we extract the suspiciousness scores from the trained classifier. Pursuing more effective learning from the coverage data, we use the random over-sampling method to mitigate the class imbalance problem and also try to reflect the execution frequency information in training set by using a new regularisation method. As a result, we found that our method can significantly increase the FL performance, especially when using an Artificial Neural Network classifier. On the Defect4J benchmark, some of our best-performing models can localise about 20 more faults at the top place than the state-of-the-art SBFL formulae such as Ochiai and Op2. We also found that hybridising our technique with well-performing SBFL formulae would further improve the overall FL performance than using each of them individually.

개발자의 디버깅 비용을 줄이기 위해 많은 자동 오류 탐지 기법이 제안되었다. 그중커버리지와같이프로그 램의 동적 실행 요소들을 기반으로 하는 스펙트럼 기반 오류 탐지 기법(Spectrum-based Fault Localisation; SBFL)은 많은 오류 탐지 기법들 중 가장 효과적인 것으로 알려져 있다. 그러나 테스트 커버리지 정보를 SBFL 기술의 입력으로 변환하면서 '어떤 프로그램 요소가 어떤 테스트에 의해 실행되는지' 혹은 '어떤 요 소들끼리 항상 함께 실행되는지'와 같은, 오류 탐지에 유용할 수 있는 많은 정보들이 손실된다. 따라서 이 연구에서는 가능한 원래 커버리지 정보를 압축 없이 보존하고, 분류기 모델로 하여금 통과한 테스트와 실패 한 테스트의 커버리지 패턴을 분류하는 법을 학습하게 하였다. 분류기로는 로지스틱 회귀와 인공 신경망을 사용하였고, 보다 효과적인 커버리지 데이터 학습을 위해 랜덤 오버 샘플링 방법을 사용하여 클래스 불균형 문제를 완화하였다. 또한 기존 연구들과 달리 실행 빈도 정보를 분류기 학습 데이터에 반영하였다. 훈련이 완료되고 나면 학습된 분류기의 파라미터로부터 각 프로그램 요소의 의심도를 추정하였다. 결과적으로, Defect4J 벤치 마크에 대해, 우리 모델 중 일부가 Ochiai 및 Op2와 같은 기존의 SBFL 공식들보다 약 20 개 정도의 더 많은 결함을 1위에 위치시킴을 확인하였다. 또한 해당 모델들을 SBFL 공식과 결합하였을 때, 각각을 개별적으로 사용하는 것보다 전체적인 FL 성능이 더욱 향상되었다.

서지기타정보

서지기타정보
청구기호 {MCS 20020
형태사항 iv, 32 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 안가빈
지도교수의 영문표기 : Shin Yoo
지도교수의 한글표기 : 유신
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 28-30
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서