Reverse Universal Resolving Algorithm and inverse driving

Thomas Pécseli*

*Corresponding author for this work

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 languageEnglish
JournalJournal of Logic and Algebraic Programming
Volume81
Issue number3
Pages (from-to)314-330
Number of pages17
ISSN2352-2208
DOIs
Publication statusPublished - 2012
Event22nd Nordic Workshop on Programming Theory - Turku, Finland
Duration: 10 Nov 201012 Nov 2010
Conference number: 22

Conference

Conference22nd Nordic Workshop on Programming Theory
Number22
Country/TerritoryFinland
CityTurku
Period10/11/201012/11/2010

Keywords

  • Driving
  • Flowchart programming
  • Inverse driving
  • Inverse interpretation
  • Reverse URA
  • Supercompilation

Fingerprint

Dive into the research topics of 'Reverse Universal Resolving Algorithm and inverse driving'. Together they form a unique fingerprint.

Cite this