Key points are not available for this paper at this time.
컴파일러 테스트는 중요하면서도 도전적입니다. Equivalence Modulo Inputs(EMI)는 최근 유망한 컴파일러 검증 방법입니다. 이는 특정 입력에 대해 실행되지 않은 기존 프로그램의 명령문을 변이하여 해당 입력에 대해 동등한 새로운 테스트 프로그램을 생성하는 방식입니다. Orion은 실행되지 않은 명령문을 무작위로 삭제하는 간단한 EMI 구현체입니다. 여러 상용 컴파일러에서 많은 버그를 발견하는 데 성공했지만, 단순하고 맹목적인 변이 전략으로 인해 효과에 한계가 있습니다. 본 논문은 Bayesian 최적화에 기반한 가이드된 고도화 변이 전략을 제안하여 EMI를 효과적으로 구현합니다. 목표는 다양한 프로그램을 생성하여 컴파일러를 더 철저히 테스트하는 것입니다. 이를 위해 (1) 실행되지 않은 영역에서 코드 삽입과 삭제를 모두 지원하여 훨씬 큰 테스트 프로그램 공간을 만들고, (2) 제어 흐름 다양성을 증진하는 목적 함수를 사용하여 MCMC 최적화를 안내해 탐색 공간을 확장합니다. 이 기법은 정교한 변이가 필요한 깊은 버그를 발견하는 데 도움을 줍니다. 우리의 구현체인 Athena는 C 컴파일러를 대상으로 합니다. 19개월간 Athena는 GCC와 LLVM에서 72개 신규 버그를 발견했으며, 이 중 다수가 중요하고 심층적인 버그입니다. 개발자들은 72개 버그 모두를 확인했고 68개는 수정했습니다.
Le 등(Fri,)이 이 질문을 연구했습니다.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: