{"type":"ScholarlyArticle","title":"Automating Program Speedup by Deciding What to Cache","authors":[{"name":"Jack Mostow","slug":"jack-mostow","given":"Jack","family":"Mostow","affiliation":""},{"name":"Donald Cohen","slug":"donald-cohen","given":"Donald","family":"Cohen","affiliation":""}],"abstract":"A common program optimization strategy is to eliminate recomputation by caching and reusing results . We analyze the problems involved in automating this strategy: deciding which computations are safe to cache, transforming the rest of the program to make them safe, choosing the most cost·effective ones to cache , and maintaining the optimized code . The analysis extends previous work on caching by considering side effects, shared data structures , program edits, and the acceptability of behavior changes caused by caching . The paper explores various techniques for solving these problems and attempts to make explicit the assumptions on which they depend. An experimental prototype incorporates many of these techniques .","doi":null,"url":"https://ijcai.org/proceedings/1985/30","pdf":"https://ijcai.org/proceedings/1985/0030.pdf","markdown":"https://ijcai.org/proceedings/1985/30.md","bibtex":"https://ijcai.org/proceedings/1985/bibtex/30","volume":{"slug":"1985","title":"Proceedings of the Ninth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 1985","url":"https://ijcai.org/proceedings/1985/","year":1985,"location":"Los Angeles, California, USA","dates":"","editors":"Aravind Joshi","isbn":"","publisher":"International Joint Conferences on Artificial Intelligence","doi_prefix":""},"section":"Automated Reasoning","track":"Automated Reasoning","number":30,"pages":{"first":165,"last":171},"keywords":[],"videos":[],"references":[],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}