Title
Polynomial-time inverse computation for accumulative functions with multiple data traversals
Abstract
The problem of inverse computation has many potential applications such as serialization/deserialization, providing support for undo, and test-case generation for software testing. In this paper, we propose an inverse computation method that always terminates for a class of functions known as parameter-linear macro tree transducers, which involve multiple data traversals and the use of accumulations. The key to our method is the observation that a function in the class can be regarded as a non-accumulative context-generating transformation without multiple data traversals. Accordingly, we demonstrate that it is easy to achieve terminating inverse computation for the class by context-wise memoization of the inverse computation results. We also show that when we use a tree automaton to express the inverse computation results, the inverse computation runs in time polynomial to the size of the original output and the textual program size.
Year
DOI
Venue
2012
10.1007/s10990-013-9097-8
partial evaluation and semantic-based program manipulation
Keywords
Field
DocType
polynomial time,functional programming,software testing
Inverse,Programming language,Serialization,Program transformation,Polynomial,Computer science,Algorithm,Theoretical computer science,Tree automaton,Time complexity,Memoization,Computation
Journal
Volume
Issue
ISSN
25
1
1573-0557
Citations 
PageRank 
References 
5
0.40
36
Authors
3
Name
Order
Citations
PageRank
Kazutaka Matsuda111210.75
Kazuhiro Inaba21028.07
Keisuke Nakano321224.62