[논문 리뷰] Locating Crashing Faults based on Crash Stack Traces
이 논문은 실패한 실행과 성공한 실행의 스택 트레이스를 사용하여 실행 스펙트럼을 생성하고, Ochiai와 같은 기법을 적용하여 의심스러운 함수를 순위 매기는 통계적 결함 현장화 프레임워크를 제안한다. 실제 Firefox 크래시 보고서를 대상으로 평가한 결과, 스펙트럼 내 함수의 5%만 분석하여 63.9%의 크래시 결함을 특정할 수 있었으며, 디버깅 노력이 크게 감소하였다.
Software crashes due to its increasing complexity. Once a crash happens, a crash report could be sent to software developers for investigation upon user permission. Because of the large number of crash reports and limited information, debugging for crashes is often a tedious and labor-intensive task. In this paper, we propose a statistical fault localization framework to help developers locate functions that contain crashing faults. We generate the execution traces for the failing traces based on the crash stack, and the passing traces from normal executions. We form program spectra by combining generated passing and failing trace, and then apply statistical fault localization techniques such as Ochiai to locate the crashing faults. We also propose two heuristics to improve the fault localization performance. We evaluate our approach using the real-world Firefox crash report data. The results show that the performance of our method is promising. Our approach permits developers to locate 63.9% crashing faults by examining only 5% Firefox 3.6 functions in the spectra.
연구 동기 및 목표
- 소프트웨어 크래시 디버깅의 노동 집약적인 과정을 줄이기 위해 결함 현장화를 자동화하는 것.
- 제한된 진단 정보를 가진 대량의 크래시 보고서를 분석하는 데 도전하는 것.
- 크래시 스택 트레이스와 실행 스펙트럼을 활용하여 결함 현장화 정밀도를 향상시키는 것.
- 실제 크래시 데이터에 대한 통계적 결함 현장화 기법의 효과성을 평가하는 것.
- 실제 환경에서 결함 현장화 성능을 향상시키기 위한 히ュ리스틱을 제안하는 것.
제안 방법
- 실패 실행을 위한 크래시 스택 트레이스에서 실행 트레이스를 생성한다.
- 정상 실행 트레이스를 수집하여 비교를 위한 성공 트레이스를 확보한다.
- 성공 및 실패 트레이스를 결합하여 프로그램 스펙트럼을 구성한다.
- Ochiai와 같은 통계적 결함 현장화 기법을 적용하여 의심스러운 함수를 순위 매긴다.
- 결함 현장화 결과를 정밀하게 다듬고 순위 정확도를 향상시키기 위해 두 가지 히ュ리스틱을 도입한다.
- 실제 Firefox 3.6 크래시 보고서를 사용하여 실제 크래시 데이터에서 프레임워크를 평가한다.
실험 결과
연구 질문
- RQ1크래시 스택 트레이스를 효과적으로 사용하여 결함 현장화를 위한 실행 스펙트럼을 생성할 수 있는가?
- RQ2스택 트레이스에서 유도된 스펙트럼을 사용할 때 통계적 결함 현장화 기법이 얼마나 정확하게 크래시 결함을 식별할 수 있는가?
- RQ3제안된 히ュ리스틱이 결함 현장화 정밀도를 어느 정도 향상시키는가?
- RQ4스펙트럼 내에서 소수의 함수만 분석해도 얼마나 많은 크래시 결함을 특정할 수 있는가?
- RQ5Firefox의 실제 세계 크래시 데이터에서 이 방법은 어떤 성능을 보이는가?
주요 결과
- 제안된 방법은 스펙트럼 내 함수의 5%만 분석하여 63.9%의 크래시 결함을 특정한다.
- 프레임워크는 크래시 디버깅을 위한 개발자가 점검해야 할 함수의 수를 크게 줄인다.
- Ochiai와 같은 통계적 결함 현장화 기법은 스택 트레이스에서 유도된 실행 스펙트럼에 적용되었을 때 효과적이다.
- 제안된 두 가지 히ュ리스틱은 결함 현장화 성능을 향상시키지만, 개요에서는 구체적인 수치가 기재되지 않았다.
- 이 방법은 복잡한 소프트웨어 시스템에서 실제 크래시 디버깅에 강력한 실용적 잠재력을 보인다.
- 실제 Firefox 크래시 보고서를 대상으로 한 평가를 통해 디버깅 노력 감소 잠재력이 확인되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.