{"type":"ScholarlyArticle","title":"Call-Graph Caching: Transforming Programs into Networks","authors":[{"name":"Mark Perlin","slug":"mark-perlin","given":"Mark","family":"Perlin","affiliation":""}],"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.","doi":null,"url":"https://ijcai.org/proceedings/1989/20","pdf":"https://ijcai.org/proceedings/1989/0020.pdf","markdown":"https://ijcai.org/proceedings/1989/20.md","bibtex":"https://ijcai.org/proceedings/1989/bibtex/20","volume":{"slug":"1989","title":"Proceedings of the Eleventh International Joint Conference on Artificial Intelligence","short_title":"IJCAI 1989","url":"https://ijcai.org/proceedings/1989/","year":1989,"location":"Detroit, Michigan, USA","dates":"August 20-25 1989","editors":"N. S. Sridharan","isbn":"","publisher":"International Joint Conferences on Artificial Intelligence","doi_prefix":""},"section":"Tools","track":"Tools","number":20,"pages":{"first":122,"last":127},"keywords":[],"videos":[],"references":[],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}