컴파일러 정확성 증명


20

초급 학생 수준에서 바람직하게 denotational 방법을 사용하여 컴파일러 정확성 증명을 다루는 자습서 자료를 찾고 있습니다.

또는 문제를 설명하는 데 사용할 수있는 간단한 컴파일러 예제를 알고 있습니까? (나에게 일어난 첫 번째 예는 접두사에서 접미사 표현식으로의 번역가였습니다. 그러나 구문에서 유도를 수행하는 방법 이외의 흥미로운 것은 표시하지 못했습니다.)

답변:


10

나는 좋은 튜토리얼 자료를 알지 못하지만 (나 같은) 대학원생을위한 초급 논문이 있습니다. 첫 번째는 당신이 찾고있는 것일 수도 있습니다 (강조는 내 것입니다).

정적 분석 및 프로그램 변환을위한 간단한 관계형 정확성 증명 , Nick Benton. 2004.

우리는 명령형 프로그램에 대한 몇 가지 고전적인 정적 분석과 그들이 사용할 수있는 최적화 변환이 어떻게 기본 논리 및 폐기 기술을 사용하여 표현되고 입증 될 수 있는지 보여줍니다 . 핵심 요소는 술어가 아닌 관계로 프로그램 속성을 해석하는 것입니다. 많은 프로그램 분석이 전통적으로 매우 강렬한 용어로 공식화되어 있지만 관련 변환이 실제로보다 자유로운 확장 속성에 의해 가능하다는 인식입니다.

이 논문은 또한 당신에게 관심이있을 수 있습니다. 그들은 나를 크게 도와주었습니다!

  1. Temporal Logic , David Lacey, Neil D. Jones, Eric Van Wyk, Carl Christian Frederiksen 의 컴파일러 최적화 정확성 입증 . 컴파일러 최적화의 맥락에서 bisimulation을 사용하는 더 많은 자료가 있다고 생각했을 것입니다. 당신의 목표가 정말로 기술적 인 기술이라면, bisimulation의 특성화를 사용하여 이러한 증명을 인코딩 할 수 있습니다.
  2. Proofs , Ross Tate, Michael Stepp 및 Sorin Lerner 에서 컴파일러 최적화 생성 증명 방법의 범주 이론적 형식화를 포함합니다.
  3. 매개 변수화 된 프로그램 동등성 , Sudipta Kundu, Zachary Tatlock 및 Sorin Lerner를 사용하여 최적화 입증 논리적 인 관계를 좋아한다면 거기로 가십시오.
  4. 공식적으로 검증 된 컴파일러 백엔드 Xavier Leroy.




당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.