Call-Graph Caching: Transforming Programs into Networks
Proceedings of the Eleventh International Joint Conference on Artificial Intelligence. Tools. Pages 122-127.
Abstract
There are computer programs that use the same flow of control when run on different inputs. This redundancy in their program execution traces can be exploited by preserving suitably abstracted call-graphs! for subsequent reuse. We introduce a new programming transformation Call-Graph Caching (CGC) which partially evaluates the control flow of sets of such programs into a network formed from their call-graphs. CGC can automatically generate efficient state-saving structure-sharing incremental algorithms from simple program specifications. As an example, we show bow a straightforward, inefficient LISP program for conjunctive match is automatically transformed into the RETE network algorithm. Simple and understandable changes to elegant functional (and other) programs are automatically translated by CGC into new efficient incremental network algorithms; this abstraction mechanism is shown for a class of conjunctive matching algorithms. We establish criteria for the appropriate application of CGC to other AI methods, such as planning, chart parsing, consistency maintenance, and analogical reasoning.
@inproceedings{ijcai1989p20,
title = {Call-Graph Caching: Transforming Programs into Networks},
author = {Perlin, Mark},
booktitle = {Proceedings of the Eleventh International Joint Conference on
Artificial Intelligence, {IJCAI-89}},
publisher = {International Joint Conferences on Artificial Intelligence},
editor = {N. S. Sridharan},
pages = {122--127},
year = {1989},
month = {8},
note = {Tools},
url = {https://ijcai.org/proceedings/1989/20},
}
TY - CPAPER TI - Call-Graph Caching: Transforming Programs into Networks AU - Perlin, Mark T2 - Proceedings of the Eleventh International Joint Conference on Artificial Intelligence, IJCAI-89 PB - International Joint Conferences on Artificial Intelligence PY - 1989 SP - 122 EP - 127 UR - https://ijcai.org/proceedings/1989/20 ER -Copied
Machine-readable versions of this paper, for tools and AI agents: