LLM을 사용한 C에서 Rust로의 이식 자동화: 놀라울 정도로 효과적인 전략
이 글에서는 저자가 대규모 언어 모델(LLM)을 사용하여 C 코드를 Rust 코드로 자동 이식한 경험을 자세히 설명합니다. 여러 가지 접근 방식을 시도한 결과, 위상 정렬과 퍼징 테스트를 기반으로 하는 전략이 매우 효과적이라는 것을 알게 되었습니다. C 코드의 심볼은 위상적으로 정렬되었고, LLM은 각 심볼의 Rust 버전과 퍼징 테스트 케이스를 생성했습니다. 출력 비교를 통해 이식의 정확성이 검증되었습니다. 이 방법으로 Zopfli 압축 라이브러리를 C에서 Rust로 성공적으로 이식했으며, 결과는 C 버전과 완전히 일치했습니다. 완전히 자동화된 것은 아니지만, 이식 비용과 노력을 크게 줄였으며, 대규모 코드베이스 유지 관리 및 업그레이드에 대한 새로운 접근 방식을 제공합니다.
더 보기