Machine Learning-based Multiple Fault Localization with Bayesian Probability

베이지안 확률을 적용한 기계학습 기반 다중 결함 위치 식별 기법

  • 송지현 (성균관대학교 소프트웨어대학) ;
  • 김정호 (성균관대학교 소프트웨어대학) ;
  • 이은석 (성균관대학교 소프트웨어대학)
  • Published : 2017.01.10

Abstract

소프트웨어의 개발과정 중 결함을 제거하는 작업인 디버깅을 위해서는 가장 먼저 그 결함의 정확한 위치를 찾아야한다. 이 작업은 많은 시간이 소요되며, 이 시간을 단축시키기 위한 결함 위치 식별 기법들이 소개되었다. 많은 기법들 중 프로그램 커버리지 정보를 학습하여 규칙을 분석하는 인공신경망 기반 선행 연구가 있다. 이를 기반으로 본 논문에서는 문장들 간의 관계를 추가적으로 파악하여 학습 데이터로 사용하는 기법을 제안한다. 특정 문장이 항상 지나는 테스트케이스들 중 나머지 다른 문장들이 지나는 테스트케이스의 비율을 통해 문장들 간의 관계를 나타낸다. 해당 비율을 계산하기 위해 조건부 확률인 베이지안 확률을 사용한다. 베이지안 확률을 통해 얻은 문장들의 관계에 따라 인공신경망 내에서 의심도를 결정하는 웨이트(weight)가 기존 기법과는 다르게 학습된다. 이 차이는 문장들의 의심도를 조정하며, 결과적으로 다중 결함 위치 식별의 정확도를 향상시킨다. 본 논문에서 제안한 기법을 이용하여 실험한 결과, Tarantula 대비 평균 39.8%, 기존 역전파 인공신경망(BPNN) 기반 기법 대비 평균 60.5%의 정확도 향상이 있었음을 확인할 수 있다.

Keywords