コンパイラの正当性の証明


20

私はコンパイラの正当性の証拠をカバーするチュートリアル資料を探しています。できれば、初歩の学生のレベルで、表現法を使用してください。

あるいは、問題を説明するために使用できる簡単なコンパイラーの例を知っていますか?(最初に出てきた例は、中置から後置式への翻訳者でした。しかし、構文の帰納法以外の興味深いことは何も示しませんでした。)

回答:


10

私は良いチュートリアル教材を知りませんが、大学院生(私のような)にとって十分に初歩的な論文があります。最初はあなたが探しているものかもしれません(強調は私のものです)。

静的分析およびプログラム変換のための単純な関係の正確性の証明、ニック・ベントン。2004年。

命令型プログラムの古典的な静的解析、およびそれらが可能にする最適化変換が、基本的な論理および表示技法を使用してどのように表現され、正しく証明されるかを示します。重要な要素は、プログラムのプロパティを述語ではなく関係として解釈すること、および多くのプログラム分析が伝統的に非常に内包的な用語で定式化されているが、関連する変換は実際にはより自由な拡張プロパティによって可能になるという認識です。

これらの論文もあなたの興味を引くかもしれません。彼らは私を大いに助けてくれました!

  1. Temporal Logic、David Lacey、Neil D. Jones、Eric Van Wyk、Carl Christian Frederiksen によるコンパイラ最適化の正確性の証明。コンパイラの最適化のコンテキストで、バイシミュレーションを使用するマテリアルがもっとあると思っていたでしょう。目的が実際に表示技術である場合、おそらくバイシミュレーションの特性化を使用してこれらの証明をエンコードできます。
  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.