피드로 돌아가기
100k lines of TypeScript to Rust with zero Rust experience. That's not engineering.
Dev.toDev.to
Backend

Differential Fuzzing을 통한 100k 라인 TS → Rust 포팅 검증

100k lines of TypeScript to Rust with zero Rust experience. That's not engineering.

Aditya Agarwal2026년 6월 29일3intermediate

Context

TypeScript로 작성된 대규모 로직을 성능 최적화를 위해 Rust로 전환해야 하는 상황 발생. 언어 숙련도가 낮은 상태에서 AI 기반 코드 생성 시 발생할 수 있는 논리적 오류와 런타임 불안정성 해결이 핵심 과제임.

Technical Solution

  • LLM(Claude)을 활용한 TypeScript 전반의 Rust 코드 자동 변환 수행
  • 원본 TS 코드와 변환된 Rust 코드의 동작 일치 여부를 확인하는 Differential Fuzzing 전략 채택
  • 2.3 million 회의 Battle Simulation을 통해 입력값에 따른 두 버전의 출력 결과물을 상호 비교 분석
  • 개별 코드 라인의 이해보다 테스트 인프라 구축을 통한 결과값의 정밀 검증에 집중한 설계
  • AI 생성 코드의 신뢰성을 확보하기 위한 대규모 데이터 기반의 Validation Pipeline 구축

AI 생성 코드를 도입할 때 개별 코드 리뷰 대신 Differential Testing으로 정답성을 검증하는 파이프라인 구축 검토. 특히 Legacy 마이그레이션 시 기존 시스템과 신규 시스템의 출력값을 대조하는 Fuzzing Harness 설계를 우선 고려할 것

원문 읽기