[논문 리뷰] Computational reproducibility of Jupyter notebooks from biomedical publications
이 연구는 PubMed Central의 1,419편의 생물의학 논문과 함께 공개된 4,169개의 Jupyter 노트북에 대해 선언된 종속성으로 자동으로 재실행함으로써 계산적 재현성의 정도를 평가한다. 오직 396개의 노트북만 오류 없이 실행되었고, 원래 결과를 정확히 재현한 것은 245개에 불과하여 종속성 및 환경 문제로 인한 광범위한 재현성 도전 과제가 드러났다. 이는 문서화 향상과 학술 출판 워크플로우에 재현성 검사를 통합하는 데 있어 시사점을 제공한다.
Jupyter notebooks allow to bundle executable code with its documentation and output in one interactive environment, and they represent a popular mechanism to document and share computational workflows, including for research publications. Here, we analyze the computational reproducibility of 9625 Jupyter notebooks from 1117 GitHub repositories associated with 1419 publications indexed in the biomedical literature repository PubMed Central. 8160 of these were written in Python, including 4169 that had their dependencies declared in standard requirement files and that we attempted to re-run automatically. For 2684 of these, all declared dependencies could be installed successfully, and we re-ran them to assess reproducibility. Of these, 396 notebooks ran through without any errors, including 245 that produced results identical to those reported in the original. Running the other notebooks resulted in exceptions. We zoom in on common problems and practices, highlight trends and discuss potential improvements to Jupyter-related workflows associated with biomedical publications.
연구 동기 및 목표
- PubMed Central에 공개된 생물의학 논문과 함께 공유된 Jupyter 노트북의 계산적 재현성을 평가하기 위해.
- 계산 워크플로우의 재현성에 악영향을 주는 일반적인 기술적 문제와 문서화 문제를 규명하기 위해.
- 종속성 선언, 버전 관리, 노트북 구조가 재현성에 미치는 영향을 평가하기 위해.
- 학술 출판 워크플로우에 재현성 검사를 통합하기 위한 개선 방안을 제안하기 위해.
- 대규모로 노트북을 자동으로 재실행하는 환경적 영향을 분석하기 위해.
제안 방법
- PubMed Central 논문 1,419편과 연결된 1,117개의 GitHub 리포지터리에서 9,625개의 Jupyter 노트북을 수집하였다.
- 표준 요구사항 파일에 종속성이 선언된 4,169개의 Python 노트북을 선별하여 자동 재실행을 위한 대상으로 선정하였다.
- 격리된 환경에서 종속성을 자동으로 설치하고 노트북을 재실행하여 재현성 테스트를 수행하였다.
- 예외, 종속성 선언, 노트북 구조, 이름 지정, 모듈 사용 방식을 분석하였다.
- 버전 관리 메타데이터와 출판 일자를 활용하여 노트북 사용 방식의 시간적 추세를 추적하였다.
- 재실행 파이프라인의 계산적 환경 영향을 측정하였다.
실험 결과
연구 질문
- RQ1생물의학 논문에서 공개된 Jupyter 노트북 중 선언된 종속성을 사용해 성공적으로 재실행 가능한 비율은 얼마인가?
- RQ2생물의학 분야의 Jupyter 노트북 재실행 과정에서 실패를 초래하는 가장 흔한 원인은 무엇인가?
- RQ3생물의학 연구 분야에서 Jupyter 노트북의 사용과 그 재현성은 시간이 지남에 따라 어떻게 변화해 왔는가?
- RQ4노트북의 구조, 이름 지정, 모듈 사용 방식이 재현성 성공률과 얼마나 상관이 있는가?
- RQ5대규모 자동 재실행으로 인한 환경적 및 계산적 비용은 어느 정도인가?
주요 결과
- 재실행 가능한 2,684개의 노트북 중 오직 396개만 예외 없이 실행되었으며, 이는 약 14.7%의 성공률을 의미한다.
- 성공적으로 실행된 노트북 중 원본 논문에서 보고된 결과와 정확히 일치한 것은 245개로, 정확한 결과 재현에 있어서 9.1%의 성공률을 기록하였다.
- 가장 흔한 예외는 ModuleNotFoundError, ImportError, FileNotFoundError였으며, 2020~2021년에 발표된 노트북에서 실패율이 뚜렷이 증가한 경향을 보였다.
- 분석된 노트북의 80% 이상이 파이썬으로 작성되었고, 이 중 4,169개만 표준 요구사항 파일에 종속성을 선언하였다.
- 노트북의 이름 지정과 구조는 낮은 일관성을 보였으며, 16%의 노트북에서 제목에 'test' 문자열을 포함하고 있어 테스트 코드와 생산 코드를 혼동할 가능성이 있음을 시사했다.
- 2,684개의 노트북을 재실행하는 데 있어 환경적 영향이 상당히 컸으며, 약 1,200kg의 CO2-equivalent 배출량이 추정되어 재현성 노력의 지속 가능성 비용이 높다는 점을 시사했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.