Download presentation
Presentation is loading. Please wait.
Published byLeon Underwood Modified over 9 years ago
1
Translation Validation via Linear Recursion Schemes Master Seminar Tobias Tebbi
2
Translation Validation Goal Verified Compiler MethodImplement Validator that checks if input and output of compiler pass are equivalent. NeedsDecidable sufficient criterion for program equivalence
3
CPS Control Flow Graph
4
Unfolding the Procedures if
5
Program Equivalence If trees equal, then programs equivalent. This is decidable! [Sabelfeld2000] Many optimizations do not change the tree. It does not matter – which arguments/variables/registers are used. – when values are computed. But the branching structure does matter, e.g. which test is done first.
6
Linear Recursion Scheme Restriction with polynomial equivalence check linear: nesting forbidden
7
Simplifications for this Talk
8
Equality of Infinite Trees
10
Substitutions
11
Finite Equivalence Proofs
12
Unification
13
Universal Finite Equivalence Proofs
14
Decidability of Equivalence Equivalence of terms is semi-decidable. Non-equivalence is semi-decidable too: the trees must differ at some finite level. Thus equivalence is decidable. In the next talks, I will present an efficient procedure to decide equivalence by reducing the problem to a fragment of semi-unification.
15
Literature Fokkink, W. Unification for infinite sets of equations between finite terms. Information processing letters 62, 4 (1997), 183–188. Sabelfeld, V. The tree equivalence of linear recursion schemes. Theoretical Computer Science 238, 1–2 (2000), 1–29.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.