AI-Assisted Completion of CertiGC Proofs: An Experience Report
이 경험 보고서는 가변 업데이트를 처리하기 위해 새로운 기록된 역방향 엣지(recorded-backward-edge) 불변량을 중심으로 검증을 재구성하는 과정에서 AI 보조 도구(Codex)가 어떻게 사용되었는지, 그리고 인간 전문가들이 불변량을 판정하고 증명 경로의 정확성을 감사하는 데 어떻게 집중하였는지를 통해 Rocq에서 CertiGC 검증된 세대별 가비지 컬렉터 증명을 안정화하고 완성한 과정을 상세히 기술한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 CertiGC라는 거대하고 마법 같은 도서관의 수석 건축가라고 상상해 보십시오. 이 도서관는 단순히 책을 저장하는 곳이 아닙니다. 이곳은 새로운 책을 위한 공간을 만들기 위해 오래되고 사용되지 않는 책들을 자동으로 정리하는, 살아 움직이는 시스템입니다. 수년 동안 도서관은 단순한 규칙 하나로 운영되었습니다: "책이 선반에 놓이면, 아무도 그것을 옮기거나 더 새로운 책을 가리키는 메모를 남기지 않는다." 이 규칙 덕분에 청소부들의 작업은 쉬웠습니다. 그들은 낡은 책이 갑자기 아주 새로운 책을 가리키는 일이 없을 것이라는 점을 알고 있었기에, 안심하고 선반을 쓸어낼 수 있었습니다.
하지만 그러던 중, 도서관은 더 흥ole적인 변화를 시도하기로 했습니다: 가변적(mutable) 업데이트를 허용하기로 한 것입니다. 즉, 사서들이 오래된 책 안에 새로운 도착물을 가리키는 새로운 메모를 적을 수 있게 허용한 것입니다. 갑자기, 기존의 규칙("오래된 책이 새 책을 가리키지 않는다")이 깨졌습니다. 청소부들의 지도가 틀려진 것입니다! 만약 그들이 예전의 지도에 따라 계속 청소를 한다면, 오래된 메모가 가리키고 있는 새로운 책들을 놓치게 될 것이고, 그 책들은 실수로 버려지게 될 것입니다!
이 이야기는 팀이 똑똑한 AI 비서인 Codex를 사용하여 도서관의 청소 지도를 수정해 나가는 과정에 관한 것입니다. 하지만 반전이 있습니다. Codex는 결코 아무것도 없는 상태에서 마법처럼 새로운 지도를 만들어낸 것이 아닙니다. 대신, Codex는 수천 페이지의 문서를 읽고, 새로운 아이디어를 시험해 보고, "청소 시뮬레이션"을 반복해서 실행할 수 있는, 지칠 줄 모르는 초정밀 조직가 인턴처럼 행동했습니다. 그동안 인간 전문가는 옆에서 "그래, 그 아이디어 좋아" 또는 "아니, 그건 규칙을 어겨"라고 말하며 지켜보았습니다.
거대한 문제: 깨진 지도
원래의 지도는 "역방향 엣지 없음(No-Backward-Edge)" 규칙에 의존했습니다. 이것은 마치 시간상으로만 앞으로 나아갈 수 있는 일방통행 도로 시스템과 같습니다. 하지만 새로운 "가변적" 업데이트가 도입되면서, 당신은 갑자기 오래된 동네에서 새로운 동네로 역주행할 수 있게 되었습니다. 옛날 지도는 "이것은 불가능하다!"라고 말했지만, 새로운 현실은 "그런 일은 흔히 일어난다!"라고 말하고 있었습니다.
팀이 예전의 지도를 억지로 작동시키려 했다면, 그들은 역주행이 결코 일어나지 않은 것처럼 간주해야 했을 것입니다. 그렇게 되면 도서관은 흥미로운 새로운 기능들을 수행하지 못하는, 지루한 버전의 도서관으로서만 "정확"할 것입니다. 그것은 목표가 아니었습니다. 그들에게 필요한 것은 역주행이 가능하다는 것을 인정하되, 오직 특별한 '기록부'에 기록될 때만 허용하는 새로운 규칙이었습니다.
AI의 역할: 지칠 줄 모르는 인턴
인간 전문가는 새로운 규칙이 필요하다는 것을 알고 있었습니다: "오래된 책이 새로운 책을 가리킬 때마다, 그것은 반드시 '기억된 집합(Remembered Set)' 기록부에 작성되어야 한다."
그들은 Codex에게 이 새로운 규칙이 도서관을 안전하게 유지할 것이라는 증명을 구축하도록 요청했습니다. Codex는 단순히 최종 답안을 써 내려간 것이 아닙니다. Codex는 다음과 같은 탐정처럼 행동했습니다:
- 코드 읽기: 도서관의 설계도를 스캔했습니다.
- 규칙 제안: "기록된 역방향 엣지(Recorded-Backward-Edge)" 개념(기록부 아이디어)을 제안했습니다.
- 규칙 테스트: 도서관의 청소 시뮬레이션("Rocq 커널")을 수천 번 실행했습니다.
- 버그 수정: 시뮬레이션이 충돌할 때마다, Codex는 증명 스크립트를 수정하고, 다른 각도를 시도하며, 다시 실행했습니다.
인간 전문가의 역할은 가장 결정적이었습니다: 바로 **판사(Judge)**였습니다. Codex는 규칙을 제안할 수 있었지만, 그 규칙이 실제 도서관의 동작과 일치하는지를 결정하는 것은 인간의 몫이었습니다. 예를 들어, Codex가 "최종 보고를 위해 기록부가 존재하지 않는 셈 칩시다"라고 제안했을 수도 있습니다. 그때 인간은 "안 돼! 기록부는 실재해. 우리는 그것을 숨길 수 없어"라고 말해야 했습니다.
결과: 깨끗한 도서관
많은 노력 끝에 팀은 성공했습니다.
- 해결책: 그들은 깨진 "역방향 엣지 없음" 규칙을 새로운 "기록된 역방향 엣지" 규칙으로 교체했습니다.
- 증명: 도서관의 청소 과정이 새로운 업데이트가 있더라도 안전하다는 것이 증명되었습니다. 최종 정리(최종 인증서)는 외부 세계에 여전히 동일하게 보였습니다: "도서관은 깨끗하고 조직되어 있다." 하지만 그 밑바닥의 논리는 훨씬 더 똑똑해졌습니다.
- 정리: 메인 증명이 수락된 후에도 팀은 멈추지 않았습니다. 그들은 코드 속에 숨어 있을지 모르는 오래되고 잘못된 가정들을 확인하기 위해 규칙을 감사하는 데 추가 시간을 썼습니다(5월 1일부터 5월 3일까지). 그들은 예전의 지루한 버전의 도서관에서 남겨진 "오래된(stale)" 조건을 제거했습니다.
이것이 우리에게 알려주는 것
이 논문은 Codex와 같은 AI 도구가 유지보수 및 수리에 매우 뛰어나다는 것을 시사합니다. AI는 다음과 같은 작업에서 인간 전문가의 완벽한 파트너가 될 수 있습니다:
- 불변성 전파(Propagating Invariants): 새로운 규칙을 가져와서 거대한 코드베이스의 모든 구석구석에서 그것이 작동하도록 만드는 것.
- 정리하기: 지저분한 증명 스크립트를 고치고 오래되고 불필요한 코드를 제거하는 것.
- 테스트: 작은 변화가 무엇을 망가뜨리는지 확인하기 위해 "시뮬레이션"(컴파일러)을 반복해서 실행하는 것.
하지만 논문은 AI가 단독으로 할 수 없는 부분에 대해서도 매우 명확히 밝히고 있습니다.
- 전체 솔루션을 발견하지 못함: 인간이 도서관의 의미론(semantics)을 이해하고, 새로운 규칙이 무엇이어야 하는지 결정해야 했습니다.
- 인간 판사를 대체하지 못함: AI는 규칙을 제안할 수 있었지만, 그 규칙이 도서관의 안전 보장 범위를 의도치 않게 약화시키지 않는지 검증하는 것은 인간의 몫이었습니다.
- "마법 지팡이"가 아님: AI가 한 번에 전체 증명을 써 내려간 것이 아닙니다. 그것은 "감독되고 검사기에 의해 주도되는(supervised, checker-driven)" 과정이었습니다. 인간은 항상 루프 안에 있었으며, AI를 가이드하고, 나쁜 아이디어를 거절하며, 최종 결과가 실제로 옳은지 확인했습니다.
숫자들
팀은 이 작업을 위해 꽤 오랜 시간을 들였습니다. "Codex 지원 단계"(AI가 힘든 일을 수행하던 시기)는 2026년 4월 22일부터 5월 3일 사이에 진행되었습니다.
- 이 기간 동안 51개의 git 커밋(코드 업데이트)이 있었습니다.
- AI는 13,305번의 도구 호출(파일 읽기, 테스트 실행, 코드 편집 등의 동작)을 수행했습니다.
- 인간은 415번의 프롬프트(AI에 대한 지시)를 주었습니다.
- AI는 이 문제에 59.3 활성 시간을 쏟았습니다.
논문은 이것이 AI가 혼자서 다 해결한 "풀린 문제"가 아니라는 점을 강조합니다. 대신, 이는 AI가 지루하고 반복적인 체크와 수정을 담당하고, 인간이 깊은 이해와 최종적인 판단을 제공하는 성공적인 협업이었습니다. 그 결과, 도서관은 안전하고 검증되었으며 미래를 향해 나아갈 준비가 되었습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.