rustc 버그는 유효한 프로그램이 컴파일되는 것을 방지하거나 잘못된 컴파일 결과를 초래할 수 있으므로, 책임 있는 소스 파일을 식별하는 것이 복구에 필수적입니다. 대규모 언어 모델(LLM)을 사용하여 rustc 버그를 격리하는 것은 세 가지 문제를 야기합니다. 첫째, 분산 컴파일러 기능성을 이해하려면 개별 파일이 무엇을 하는지뿐만 아니라 이들이 어떻게 함께 작동하는지를 모두 이해해야 합니다. 둘째, 방대한 소스 파일 검색 공간은 모든 파일을 포괄적으로 분석하는 것을 비용이 많이 들게 만듭니다. 셋째, 많은 후보 파일의 문서화와 소스 코드를 LLM 프롬프트에 포함하면 컨텍스트 과부하(context overload)가 발생하여 버그 격리 정확도가 떨어질 수 있습니다.
우리는 컴파일러 문서를 버그 증거와 결합하여 의심스러운 rustc 소스 파일을 순위화하는 계층적 LLM 기반 접근 방식인 HIDE를 제안합니다. 주어진 rustc 리비전과 버그 컨텍스트에 대해, HIDE는 컴파일러 문서를 생성하고 검색 공간을 좁히는 두 단계로 구성됩니다.
분산 컴파일러 기능성을 이해하기 위해, 계층적 문서 집계 단계(Layered Documentation Aggregation)는 개별 파일이 무엇을 하는지 그리고 유사한 기능을 가진 파일들이 어떻게 함께 작동하는지를 요약합니다. 방대한 소스 파일 검색 공간을 줄이기 위해, 계층적 버그 격리 단계(Hierarchical Bug Isolation)는 계층적 후보 선택을 사용하여 상세 분석이 필요한 파일의 수를 줄입니다. 컨텍스트 과부하를 완화하기 위해, 이 단계는 각각 스코프된 후보 경쟁(Scoped Candidate Competition)과 증거 기반 코드 슬라이싱(Evidence-Guided Code Slicing)을 사용하여 프롬프트에 포함되는 후보의 수와 소스 코드의 양을 제한합니다.
우리는 160개의 재현 가능한 rustc 버그를 대상으로 HIDE를 평가하고 Agentless, SoapFL, GraphLocator와 비교했습니다. GPT-5.4를 사용했을 때, HIDE는 Accuracy@1에서 42.08%, Accuracy@10에서 80.42%의 정확도를 달성하여 각각 가장 강력한 기준선(baseline) 결과를 5.83%, 6.04% 초과했습니다. 이러한 결과는 컴파일러 문서를 생성하고, 후보를 계층적으로 좁히며, 분석 컨텍스트를 제한하는 것이 효과적인 rustc 버그 격리를 가능하게 함을 입증합니다.