JupOtter: Jupyter Notebooks에서의 셀 단위 버그 탐지
요약
Jupyter Notebooks의 복잡성 증가에 대응하기 위해 셀 단위로 버그를 탐지하는 시스템인 JupOtter를 제안합니다. 노트북 특화 토큰화 전략과 새로운 데이터셋인 OtterDataset을 통해 기존 정적 분석기 및 LLM보다 뛰어난 성능을 입증했습니다.
핵심 포인트
- Jupyter Notebook 특화 토큰화 전략 도입
- 셀 단위 버그 예측 및 탐지 기술 구현
- 21,000개 이상의 라벨링된 OtterDataset 공개
- 기존 정적 분석기 및 LLM 대비 높은 F1 점수 달성
Jupyter Notebooks는 많은 도메인, 특히 Python 기반의 데이터 과학(Data Science) 및 과학적 계산(Scientific Computing) 분야에서 점점 더 대중적으로 사용되는 코딩 환경입니다. 원래 프로토타이핑(Prototyping)과 대화형 탐색(Interactive Exploration)을 위해 사용되었던 노트북은 점점 더 복잡한 프로그램을 개발하는 데 사용되고 있으며, 이는 GitHub와 같은 플랫폼에서 버그가 있는 노트북의 급격한 증가로 이어지고 있습니다. 이러한 추세에 대응하기 위해, 우리는 Jupyter Notebooks를 위해 특별히 설계된 버그 탐지 시스템인 JupOtter를 선보입니다. JupOtter는 세 가지 새로운 기여를 특징으로 합니다: (1) 셀 구조를 보존하는 노트북 특화 토큰화(Tokenization) 전략, (2) 셀 단위 버그 예측 기술, (3) 세밀한 셀 단위 버그 탐지를 위해 주석이 달린 21,000개 이상의 노트북을 포함하는 새로운 라벨링된 데이터셋인 OtterDataset입니다. JupOtter는 세 개의 평가 데이터셋 중 두 개에서 정적 분석기(Static Analyzers)와 대규모 언어 모델(Large Language Models)을 능가하는 셀 단위 버그 탐지 F1 점수를 달성했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기