Gleam 컴파일러를 퍼징하다: 무작위 프로그램으로 버그를 찾는 법

Fuzzing the Gleam Compiler

Gleam 컴파일러를 퍼징하다: 무작위 프로그램으로 버그를 찾는 법

Gleam 컴파일러의 버그를 찾기 위해 구조 인지 퍼징(structure-aware fuzzing)을 적용한 경험을 공유합니다. 파서 단계에서는 libFuzzer로 무작위 입력을 넣어 크래시를 유발했고, 실제로 nightly에서 회귀 버그를 발견했습니다. 이후 타입 안전한 프로그램을 생성하는 'smith'를 만들어 Erlang과 JavaScript 출력을 비교하는 방식으로 코드 생성 버그를 찾는 방법을 소개합니다. LLM 기반 접근의 한계와 구조 인지 퍼징의 장점도 설명합니다.

컴파일러에 버그가 있는지 무작위 프로그램을 생성해서 찾을 수 있을까요?

이 날의 다른 글

2026-08-25