Skip to main content
QUICK REVIEW

[논문 리뷰] FUSION: A Tool for Facilitating and Augmenting Android Bug Reporting

Kevin Moran, Mario Linares‐Vásquez|arXiv (Cornell University)|2018. 01. 18.
Software Engineering Research참고 문헌 9인용 수 4
한 줄 요약

FUSION은 정적 및 동적 분석을 통해 앱 릴리스 이전에 GUI 컴포onent와 이벤트 흐름을 자동으로 추출하고, 맥락 기반 앱 데이터를 사용하여 사용자를 구조적이고 자동으로 완성된 재현 단계로 안내함으로써 안드로이드 버그 보고를 향상시키는 도구입니다. 이는 버그 보고의 재현 가능성을 크게 향상시키며, GCIT와 같은 전통적인 시스템 대비 120건의 보고 중 107건이 재현 가능했고, 전통적 방법은 120건 중 97건이 재현 가능했습니다.

ABSTRACT

As the popularity of mobile smart devices continues to climb the complexity of "apps" continues to increase, making the development and maintenance process challenging. Current bug tracking systems lack key features to effectively support construction of reports with actionable information that directly lead to a bug's resolution. In this demo we present the implementation of a novel bug reporting system, called Fusion, that facilitates users including reproduction steps in bug reports for mobile apps. Fusion links user-provided information to program artifacts extracted through static and dynamic analysis performed before testing or release. Results of preliminary studies demonstrate that Fusion both effectively facilitates reporting and allows for more reliable reproduction of bugs from reports compared to traditional issue tracking systems by presenting more detailed contextual app information. Tool website: www.fusion-android. com Video url: https://youtu.be/AND9h0ElxRg

연구 동기 및 목표

  • 전통적인 버그 추적 시스템에서 발생하는 심각한 격차를 해결하기 위해, 비구조적이고 불완전한 사용자 보고에 의존하는 방식으로 인해 자주 재현이 불가능한 보고 문제를 해결합니다.
  • 비개발자 보고자와 개발자 간의 어휘 격차를 줄이기 위해 기능적 기술서를 저수준 코드 및 GUI 아티팩트와 연결합니다.
  • 자동 프로그램 분석과 유도형 웹 기반 보고 인터페이스를 통합함으로써 버그 보고의 품질과 실행 가능성 향상을 도모합니다.
  • 개발자가 버그를 더 신뢰성 있게 재현할 수 있도록, 구조적이고 추적 가능하며 맥락 정보가 풍부한 보고서를 제공함으로써 스크린샷과 컴포넌트 수준의 메타데이터를 포함합니다.
  • 버그 보고를 넘어서 동일한 구조적 보고 파이프라인을 통해 향후 기능 요청 지원도 가능하게 합니다.

제안 방법

  • FUSION은 앱 출시 이전에 안드로이드 APK에서 정적 및 동적 분석을 수행하여 GUI 컴포넌트, 이벤트 흐름, 화면 전환을 추출합니다.
  • 동적 분석 엔진은 앱의 UI 컴포넌트를 통해 가능한 사용자 상호작용 경로를 탐색하기 위해 깊이 우선 탐색(DFS) 히우리스틱을 사용합니다.
  • 웹 기반 보고 생성기의 자동 완성 엔진은 이전 단계와 알려진 앱 상태를 기반으로 유효한 UI 동작을 제안하여 사용자 입력 오류를 줄입니다.
  • 보고자는 유형, 텍스트, 화면 위치에 따라 컴포넌트를 제안하는 유도형 콤보 박스를 사용하여 보고서를 구성하며, 지원되지 않는 제스처의 경우 대체 기능을 제공합니다.
  • 보고서의 각 단계는 컴포넌트가 인스턴스화된 소스 코드 클래스에 연결되어 구현으로의 추적 가능성을 보장합니다.
  • 최종 보고서에는 고유 식별자, 스크린샷이 포함된 단계별 동작, 컴포넌트 메타데이터(유형, 위치, 클래스), 시각적 추적 가능성을 위한 전체 화면 캡처가 포함됩니다.

실험 결과

연구 질문

  • RQ1자동화된 정적 및 동적 분석이 사용자 보고의 버그 재현 단계의 완전성과 구조화에 기여할 수 있는가?
  • RQ2전통적인 이슈 트래커에 비해 FUSION이 비개발자 보고자와 개발자 간의 어휘 격차를 어느 정도 줄였는가?
  • RQ3FUSION을 사용해 생성한 버그 보고의 재현 가능성은 기존의 Google Code Issue Tracker와 같은 전통적 시스템에 비해 어떻게 비교되는가?
  • RQ4FUSION의 자동 완성 메커니즘이 실제 앱 동작에 충실하면서도 사용자의 노력과 오류를 줄일 수 있는가?
  • RQ5소스 코드 컴포넌트로의 추적 가능 링크가 개발자의 디버깅 효율성에 어떤 영향을 미치는가?

주요 결과

  • FUSION 보고서는 실제 기기에서 120건 중 107건이 재현 가능했으며, 전통적 방법인 GCIT에 비해 뚜렷하게 높은 성과를 보였고, GCIT는 120건 중 97건이 재현 가능했습니다.
  • FUSION의 유도형 자동 완성 입력 인터페이스는 보고자의 인지 부담을 줄여 더 일관되고 상세한 재현 단계를 가능하게 했습니다.
  • 정적 및 동적 분석의 통합 덕분에, 보고자가 기술적 지식이 없더라도 정확한 UI 컴포넌트와 전환을 제안할 수 있었습니다.
  • 보고자들은 FUSION이 제공하는 구조적이고 맥락 인식 기반의 입력 방식 덕분에 전통적 시스템보다 더 명확하고 신뢰도 높은 보고서를 제출할 수 있었고, 이는 보고 품질에 대한 자신감을 높였습니다.
  • 각 단계를 소스 코드 클래스에 연결하고 시각적 스크린샷을 제공함으로써 개발자가 보고 내용을 더 잘 이해하고 디버깅 속도를 높일 수 있었습니다.
  • 지원되지 않는 제스처나 컴포넌트 처리를 위한 수동 입력 대체 모드를 통해 시스템은 극단적인 케이스 처리에서도 뛰어난 견고성을 입증했습니다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.