오픈소스 버그를 직접 찾아 수정 패치를 작성한 경험 중심으로 푸는 결
학부 4학년 때 수업 과제로 사용하던 오픈소스 라이브러리에서 특정 입력값에서만 예외가 터지는 버그를 발견했습니다. 처음엔 제 코드 문제인 줄 알고 이틀을 헤맸는데, 라이브러리 코드를 직접 열어보니 엣지 케이스 처리가 빠진 것이 원인이었습니다. 직접 고쳐보기로 했습니다. 코드를 분석해보니 정수 오버플로 조건을 체크하지 않은 부분 때문이었습니다. 수정 자체는 세 줄이었지만, 기존 테스트가 그 경우를 전혀 커버하지 않아서 테스트 케이스도 추가했습니다. 풀 리퀘스트를 올렸더니 메인테이너가 이슈에 재현 방법을 먼저 남겨달라고 했습니다. 이슈를 쓰는 것도 생각보다 까다로웠습니다. 재현 방법, 기대 동작, 실제 동작을 구분해서 쓰는 연습이 처음이었습니다. 결국 패치는 이틀 뒤에 머지됐고, 이슈 재현 방법 작성이 패치만큼 중요하다는 걸 배웠습니다.