Abstract
Inverse interpretation is a semantics based, non-standard interpretation of programs. Given a program and a value, an inverse interpreter finds all or one of the inputs, that would yield the given value as output with normal forward evaluation. The Reverse Universal Resolving Algorithm is a new variant of the Universal Resolving Algorithm for inverse interpretation. The new variant outperforms the original algorithm in several cases, e.g., when unpacking a list using inverse interpretation of a pack program. It uses inverse driving as its main technique, which has not been described in detail before. Inverse driving may find application with, e.g., supercompilation, thus suggesting a new kind of program inverter.
Original language | English |
---|---|
Journal | Journal of Logic and Algebraic Programming |
Volume | 81 |
Issue number | 3 |
Pages (from-to) | 314-330 |
Number of pages | 17 |
ISSN | 2352-2208 |
DOIs | |
Publication status | Published - 2012 |
Event | 22nd Nordic Workshop on Programming Theory - Turku, Finland Duration: 10 Nov 2010 → 12 Nov 2010 Conference number: 22 |
Conference
Conference | 22nd Nordic Workshop on Programming Theory |
---|---|
Number | 22 |
Country/Territory | Finland |
City | Turku |
Period | 10/11/2010 → 12/11/2010 |
Keywords
- Driving
- Flowchart programming
- Inverse driving
- Inverse interpretation
- Reverse URA
- Supercompilation