2005
DOI: 10.1145/1071221.1071222
|View full text |Cite
|
Sign up to set email alerts
|

Revisiting an automatic program inverter for Lisp

Abstract: We reformulate the Korf-Eppstein method for automatic inversion of first-order functional programs using a structural operational semantics and compare it with the program inversion method described by Gries. We analyze the method and suggest possible extensions. The method is noteworthy in that it was used to construct the first automatic program inverter described in the literature. The key features of the Korf-Eppstein method are the simultaneous inversion of an injective system of functions, an equation-or… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
25
0

Year Published

2010
2010
2020
2020

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 32 publications
(25 citation statements)
references
References 11 publications
0
25
0
Order By: Relevance
“…Since now an accumulative function can be viewed as non-accumulative context-generating functions, we hope that we can extend usual range-analysis-based program-inversion methods [16,19,24] to those functions, and hope that a program-inversion method developed in this way would be a good alternative to the existing approaches [15,26,27]. Another future direction is to develop an inverse computation method that can handle more kinds of copying.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…Since now an accumulative function can be viewed as non-accumulative context-generating functions, we hope that we can extend usual range-analysis-based program-inversion methods [16,19,24] to those functions, and hope that a program-inversion method developed in this way would be a good alternative to the existing approaches [15,26,27]. Another future direction is to develop an inverse computation method that can handle more kinds of copying.…”
Section: Resultsmentioning
confidence: 99%
“…It is so far unclear how to perform tractable terminating inverse computation for func-tions with accumulations and multiple data traversals (Section 2). Some of the existing methods [1,16,24] do not terminate for functions with accumulations. Some approaches [15,26,27] can handle certain accumulative computations efficiently, but they do not work for non-injective functions such as eval .…”
Section: Introductionmentioning
confidence: 99%
“…Human-assigned post conditions [8,11,17] without validity checks may be more expressive. In contrast, the post conditions in Glück and Kawabe [16] that support inference are basically simple. Note that, in functional language, post conditions can be seen as types satisfying the preservation (subject reduction) law.…”
Section: Definition 2 (Simple Post Conditions) Given a Program And Amentioning
confidence: 89%
“…Post conditions play important roles in many program inversion methods [8,11,16,17]. Post condition P of e, which we write as e{P }, is a predicate on the state (i.e., values of all free variables) that is supposed to be true after e is executed.…”
Section: Propertiesmentioning
confidence: 99%
See 1 more Smart Citation