[논문 리뷰] Prompting Is All You Need: Automated Android Bug Replay with Large Language Models
이 논문은 AdbGPT를 제시한다. 경량의 프롬프트-엔지니어링 접근 방식으로 LLM을 사용하여 버그 리포트에서 S2R 엔티티를 추출하고 자동 Android 버그 재생을 안내하며, 학습 없이 높은 정확도와 효율성을 달성한다.
Bug reports are vital for software maintenance that allow users to inform developers of the problems encountered while using the software. As such, researchers have committed considerable resources toward automating bug replay to expedite the process of software maintenance. Nonetheless, the success of current automated approaches is largely dictated by the characteristics and quality of bug reports, as they are constrained by the limitations of manually-crafted patterns and pre-defined vocabulary lists. Inspired by the success of Large Language Models (LLMs) in natural language understanding, we propose AdbGPT, a new lightweight approach to automatically reproduce the bugs from bug reports through prompt engineering, without any training and hard-coding effort. AdbGPT leverages few-shot learning and chain-of-thought reasoning to elicit human knowledge and logical reasoning from LLMs to accomplish the bug replay in a manner similar to a developer. Our evaluations demonstrate the effectiveness and efficiency of our AdbGPT to reproduce 81.3% of bug reports in 253.6 seconds, outperforming the state-of-the-art baselines and ablation studies. We also conduct a small-scale user study to confirm the usefulness of AdbGPT in enhancing developers' bug replay capabilities.
연구 동기 및 목표
- 대형 언어 모델을 활용해 불분명하고 불완전한 버그 리포트를 처리하고 자동화된 버그 재생을 촉진한다.
- 모델 학습이나 하드 코딩이 필요 없는 두 단계 접근 방식(S2R 엔티티 추출 및 안내 재생)을 제안한다.
- LLM 기반 프롬팅이 S2R 추출 및 버그 재생 효율성에서 최첨단 베이스라인을 능가할 수 있음을 보여준다.
- 개발자를 위한 AdbGPT의 실용적 유용성을 사용자 연구를 통해 입증한다.
제안 방법
- 추출 작업을 고정하기 위해 S2R 엔티티 명세 및 동작 기본 원시를 정의한다.
- 사고 흐름(chain-of-thought) 추론과 함께 소수 샷 학습을 활용해 버그 리포트에서 구조화된 S2R 엔티티를 이끌어낸다.
- GUI 상태를 HTML 유사 프롬프트로 인코딩해 LLM이 대상 컴포넌트를 식별하도록 한다.
- 동적 화면 전반에서 S2R 엔티티를 GUI 컴포넌트에 매핑하기 위해 사고 흐름 가이드 재생을 사용한다.
- 종단 간 자동 재생을 위한 Genymotion, UIAutomator, 및 ADB와 LLM 프롬프트를 통합한다.

실험 결과
연구 질문
- RQ1RQ1: AdbGPT는 버그 리포트에서 S2R 엔티티를 얼마나 정확하게 추출할 수 있는가?
- RQ2RQ2: AdbGPT는 GUI 상호작용을 통해 버그를 얼마나 정확하게 안내하고 재현할 수 있는가?
- RQ3RQ3: 버그 재생 시간에서 베이스라인에 비해 AdbGPT의 효율성은 어느 정도인가?
- RQ4RQ4: 실제 현업에서 개발자들이 AdbGPT를 버그 재생에 유용하다고 인식하는가?
주요 결과
- AdbGPT는 S2R 작업에서 단계 추출 정확도 90.4% 및 엔티티 추출 정확도 91.1%를 달성한다.
- AdbGPT는 버그의 81.3%를 재현하고 평균적으로 베이스라인 대비 버그당 1105.17초를 절약한다.
- 소수 샷 및 사고 흐름을 이용한 프롬프트 엔지니어링이 제로샷 및 비-CoT 변형에 비해 성능을 크게 향상시킨다.
- GUI를 HTML 유사 프롬프트로 인코딩하는 것은 LLM이 동적인 Android 화면을 추론해 가이드 재생을 가능하게 한다.
- 소규모 사용자 연구는 AdbGPT가 개발자들의 버그 재생 작업 흐름을 지원하는 유용성을 시사한다.

더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.