ExeBench는 LLM 기반 디컴파일러를 평가하는 데 가장 널리 사용되는 벤치마크 중 하나입니다. 우리는 ExeBench를 분석하고, 테스트가 디컴파일러를 얼마나 충실하게 측정하는지에 영향을 미치는 아홉 가지 문제를 식별했습니다. 이 중 세 가지 문제는 LLM 디컴파일러가 ExeBench의 함수로부터 C 코드를 복구하는 것을 방해합니다. 이는 정수형과 부동 소수점 형식이 혼합될 때 발생하는 모호한 매개변수 순서, 최적화된 어셈블리에서 제거될 수 있는 사용되지 않는 매개변수, 그리고 함수의 어셈블리 코드 외부에 저장되는 상수입니다. 나머지 여섯 가지는 테스트의 유효성에 영향을 미칩니다: 반환 값이 없는 비(非)void 함수, 플레이스홀더 타입, 최적화기에 의해 제거되는 정적 또는 인라인 함수, main으로 이름 붙여진 함수, 사소한 본문, 그리고 잘린 정의입니다. 우리는 ExeBench-FHD를 제시합니다. 이는 ExeBench의 하위 호환성 개정판이며, 콜 사이트 어셈블리(call-site assembly), 데이터 섹션(data sections), 테스트 래퍼(test wrappers), 링크된 바이너리 디스어셈블리(linked-binary disassembly) 및 다섯 가지 경고 플래그라는 16개의 새로운 필드를 추가합니다. ExeBench에서 함수 중 38.9%가 최소한 하나의 플래그를 가지고 있습니다. 네 가지 경고 플래그(unused_param을 제외하고, 이는 새로운 래퍼로 인해 평가 가능하게 만든 함수에 표시됨)를 가진 레코드를 제거하더라도 코퍼스(corpus)의 63.9%는 유지됩니다. 네 가지 아키텍처에서 -O2 최적화 설정으로 평가했을 때, 이 새로운 필드들은 각각 데이터 섹션을 읽는 함수, 매개변수 타입을 혼합하는 함수, 그리고 사용되지 않는 매개변수를 가진 함수의 GPT 6 Sol의 재실행률(re-execution rate)을 최대 26.5%, 19.1%, 21.0%까지 높였습니다.