{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,4]],"date-time":"2024-09-04T23:44:29Z","timestamp":1725493469957},"publisher-location":"Berlin, Heidelberg","reference-count":46,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540427360"},{"type":"electronic","value":"9783540455004"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2001]]},"DOI":"10.1007\/3-540-45500-0_21","type":"book-chapter","created":{"date-parts":[[2007,10,25]],"date-time":"2007-10-25T19:37:33Z","timestamp":1193341053000},"page":"420-447","source":"Crossref","is-referenced-by-count":17,"title":["Design and Correctness of Program Transformations Based on Control-Flow Analysis"],"prefix":"10.1007","author":[{"given":"Anindya","family":"Banerjee","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nevin","family":"Heintze","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jon G.","family":"Riecke","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2001,10,10]]},"reference":[{"key":"21_CR1","doi-asserted-by":"crossref","unstructured":"M. Abadi, A. Banerjee, N. Heintze, and J.G. Riecke. A core calculus of dependency. In POPL\u201999, ACM Press.","DOI":"10.1145\/292540.292555"},{"key":"21_CR2","unstructured":"A. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley Publishing Co., 1986."},{"key":"21_CR3","doi-asserted-by":"crossref","unstructured":"A.W. Appel. Compiling with Continuations.Cambridge University Press, 1992.","DOI":"10.1017\/CBO9780511609619"},{"key":"21_CR4","doi-asserted-by":"crossref","unstructured":"A. Banerjee. A modular, polyvariant and type-based closure analysis.In ICFP\u201997, ACM Press.","DOI":"10.1145\/258948.258951"},{"key":"21_CR5","unstructured":"H.P. Barendregt. The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in Logic.North-Holland, 1981.Revised Edition, 1984."},{"key":"21_CR6","unstructured":"U. Boquist. Code Optimisation Techniques for Lazy Functional Languages.PhD thesis, Chalmers University of Technology, Goteborg University, 1999."},{"key":"21_CR7","doi-asserted-by":"crossref","unstructured":"H. Cejtin, S. Jagannathan, and S. Weeks. Flow-directed closure conversion for typed languages.In ESOP 2000, number 1782 in Lect.Notes in Computer Sci. Springer-Verlag.","DOI":"10.1007\/3-540-46425-5_4"},{"key":"21_CR8","doi-asserted-by":"crossref","unstructured":"H. Cejtin, S. Jagannathan, and S. Weeks. Flow-directed closure conversion for typed languages (Extended Summary). Available from URL: http:\/\/www.neci.nj.nec.com\/homepages\/jagannathan\/publications.html , 2000.","DOI":"10.1007\/3-540-46425-5_4"},{"key":"21_CR9","doi-asserted-by":"crossref","unstructured":"J. Dean, G. DeFouw, D. Grove, and C. Chambers. Vortex: An Optimizing Compiler for Object-Oriented Languages.In OOPSLA\u201996, ACM Press.","DOI":"10.1145\/236337.236344"},{"key":"21_CR10","unstructured":"A. Dimock, R. Muller, F. Turbak, and J.B. Wells. Strongly typed flow-directed representation transformations.In ICFP\u201997, ACM Press."},{"key":"21_CR11","unstructured":"M. Fahndrich and A. Aiken. Making set-constraint based program analyses scale. Technical Report 96-917, University of California, Berkeley, Computer Science Division, 1996."},{"issue":"2","key":"21_CR12","doi-asserted-by":"publisher","first-page":"370","DOI":"10.1145\/316686.316703","volume":"21","author":"C. Flanagan","year":"1999","unstructured":"C. Flanagan and M. Felleisen. Componential set-based analysis. In ACM Trans. on Programming Languages and Systems, 21(2):370\u2013416, March 1999.","journal-title":"ACM Trans. on Programming Languages and Systems"},{"key":"21_CR13","unstructured":"C.A. Gunter. Semantics of Programming Languages.MIT Press, 1992."},{"key":"21_CR14","unstructured":"J. Hannan. Type systems for closure conversion. In H.R. Nielson and K.L. Solberg, editors, Proceedings of the Workshop on Types in Program Analysis. Technical Report PB-493, University of Aarhus, 1995."},{"key":"21_CR15","doi-asserted-by":"crossref","unstructured":"N. Heintze. Control-flow analysis and type systems.In SAS\u201995, number 983 in Lect.Notes in Computer Sci. Springer-Verlag.","DOI":"10.21236\/ADA289338"},{"key":"21_CR16","doi-asserted-by":"crossref","unstructured":"N. Heintze and J.G. Riecke. The SLam calculus: programming with secrecy and integrity.In POPL\u201998, ACM Press.","DOI":"10.1145\/268946.268976"},{"key":"21_CR17","doi-asserted-by":"crossref","unstructured":"U. Holzle and O. Agesen. Dynamic vs.static optimization techniques for objectoriented languages. Theory and Practice of Object Systems, 1(3), 1996.","DOI":"10.1002\/j.1096-9942.1995.tb00017.x"},{"key":"21_CR18","doi-asserted-by":"crossref","unstructured":"S. Jagannathan and S. Weeks. A unified treatment of flow analysis in higher-order languages.In POPL\u201995, ACM Press.","DOI":"10.1145\/199448.199536"},{"key":"21_CR19","unstructured":"S. Jagannathan and A. Wright. Effective flow analysis for avoiding runtime checks. In SAS\u201995, number 983 in Lect.Notes in Computer Sci. Springer-Verlag."},{"key":"21_CR20","doi-asserted-by":"crossref","unstructured":"N.D. Jones. Flow analysis of lambda expressions (preliminary version). In S. Even and O. Kariv, editors, Automata, Languages and Programming: Eighth Colloquium, volume 115 of Lect. Notes in Computer Sci., pages 114\u2013128.Springer-Verlag, July 1981.","DOI":"10.1007\/3-540-10843-2_10"},{"key":"21_CR21","doi-asserted-by":"crossref","unstructured":"G. Kahn. Natural semantics.In Proceedings Symposium on Theoretical Aspects of Computer Science, volume 247 of Lect. Notes in Computer Sci., New York, 1987. Springer-Verlag.","DOI":"10.1007\/BFb0039592"},{"key":"21_CR22","doi-asserted-by":"crossref","unstructured":"N. Kobayashi. Type-based useless variable elimination. In ACM SIGPLAN Workshop on Partial Evaluation and Semantics-based Program Manipulation, pages 84\u201393, ACM, 2000.","DOI":"10.1145\/328691.328702"},{"key":"21_CR23","doi-asserted-by":"crossref","unstructured":"Y. Minamide, G. Morrisett and R. Harper. Typed Closure Conversion. In POPL\u201996, ACM Press.","DOI":"10.1145\/237721.237791"},{"key":"21_CR24","unstructured":"J.C. Mitchell. Foundations for Programming Languages. MIT Press, 1996."},{"key":"21_CR25","unstructured":"S.S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997."},{"key":"21_CR26","unstructured":"L.R. Nielsen. A Denotational Investigation of Defunctionalization. Progress Report, BRICS Ph.D. School, June 1998."},{"issue":"3","key":"21_CR27","doi-asserted-by":"publisher","first-page":"359","DOI":"10.1145\/3916.3917","volume":"7","author":"F. Nielson","year":"1985","unstructured":"F. Nielson. Program transformations in a denotational setting. ACM Trans. on Programming Languages and Systems, 7(3):359\u2013379, 1985.","journal-title":"ACM Trans. on Programming Languages and Systems"},{"key":"21_CR28","doi-asserted-by":"crossref","unstructured":"F. Nielson and H.R. Nielson. Infinitary control flow analysis: a collecting semantics for closure analysis.In POPL\u201997, ACM Press.","DOI":"10.1145\/263699.263745"},{"key":"21_CR29","doi-asserted-by":"crossref","unstructured":"F. Nielson, H.R. Nielson and C. Hankin. Principles of Program Analysis.Springer-Verlag, 1999.","DOI":"10.1007\/978-3-662-03811-6"},{"issue":"1","key":"21_CR30","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1145\/200994.201001","volume":"17","author":"J. Palsberg","year":"1995","unstructured":"J. Palsberg. Closure analysis in constraint form. ACM Trans. on Programming Languages and Systems, 17(1):47\u201362, 1995.","journal-title":"ACM Trans. on Programming Languages and Systems"},{"key":"21_CR31","doi-asserted-by":"publisher","first-page":"223","DOI":"10.1016\/0304-3975(77)90044-5","volume":"5","author":"G.D. Plotkin","year":"1977","unstructured":"G.D. Plotkin. LCF considered as a programming language. Theoretical Computer Sci., 5:223\u2013257, 1977.","journal-title":"Theoretical Computer Sci."},{"key":"21_CR32","doi-asserted-by":"crossref","unstructured":"J.C. Reynolds. Definitional interpreters for higher-order programming languages. In Proceedings of the ACM National Meeting (Boston, 1972), pages 717\u2013740, 1972.","DOI":"10.1145\/800194.805852"},{"key":"21_CR33","unstructured":"J.C. Reynolds. Types, abstraction and parametric polymorphism. In R.E.A. Mason, editor, Information Processing 83, pages 513\u2013523. North Holland, Amsterdam, 1983."},{"issue":"4","key":"21_CR34","doi-asserted-by":"publisher","first-page":"363","DOI":"10.1023\/A:1010027404223","volume":"11","author":"J.C. Reynolds","year":"1998","unstructured":"J.C. Reynolds. Definitional interpreters for higher-order programming languages. Higher-Order and Symbolic Computation, 11(4):363\u2013397, December 1998.","journal-title":"Higher-Order and Symbolic Computation"},{"issue":"4","key":"21_CR35","doi-asserted-by":"publisher","first-page":"355","DOI":"10.1023\/A:1010075320153","volume":"11","author":"J.C. Reynolds","year":"1998","unstructured":"J.C. Reynolds. Definitional interpreters revisited. Higher-Order and Symbolic Computation, 11(4):355\u2013361, December 1998.","journal-title":"Higher-Order and Symbolic Computation"},{"key":"21_CR36","doi-asserted-by":"publisher","first-page":"411","DOI":"10.1016\/0304-3975(93)90095-B","volume":"121","author":"D. Scott","year":"1969","unstructured":"D. Scott. A type theoretical alternative to CUCH, ISWIM, OWHY. Theoretical Computer Science, 121:411\u2013440.Published version of unpublished manuscript, Oxford University, 1969.","journal-title":"Theoretical Computer Science"},{"key":"21_CR37","volume-title":"Replacing function parameters by global variables","author":"P. Sestoft","year":"1988","unstructured":"P. Sestoft. Replacing function parameters by global variables. Master\u2019s thesis, DIKU, University of Copenhagen, Denmark, October 1988."},{"key":"21_CR38","unstructured":"O. Shivers. Control-flow analysis of higher-order languages.PhD thesis, School of Computer Science, Carnegie Mellon University, 1991. Available as Technical Report CMU-CS-91-145."},{"issue":"1","key":"21_CR39","doi-asserted-by":"publisher","first-page":"48","DOI":"10.1145\/239912.239915","volume":"19","author":"P.A. Steckler","year":"1997","unstructured":"P.A. Steckler and M. Wand. Lightweight closure conversion. ACM Trans. Programming Languages and Systems, 19(1):48\u201386, January 1997.","journal-title":"ACM Trans. Programming Languages and Systems"},{"issue":"2","key":"21_CR40","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1006\/inco.1996.2613","volume":"132","author":"M. Tofte","year":"1997","unstructured":"M. Tofte and J.-P. Talpin. Region-based memory management. Information and Computation, 132(2):109\u2013176, 1997.","journal-title":"Information and Computation"},{"issue":"4","key":"21_CR41","doi-asserted-by":"publisher","first-page":"367","DOI":"10.1017\/S0956796898003086","volume":"8","author":"A. Tolmach","year":"1998","unstructured":"A. Tolmach and D.P. Oliva. From ML to Ada: Strongly-typed language interoperability via source translation. Journal of Functional Programming, 8(4):367\u2013412, July 1998.","journal-title":"Journal of Functional Programming"},{"issue":"3","key":"21_CR42","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1017\/S0956796800000782","volume":"3","author":"M. Wand","year":"1993","unstructured":"M. Wand. Specifying the Correctness of Binding-Time Analysis.In Journal of Functional Programming, 3(3):365\u2013387, July 1993.","journal-title":"Journal of Functional Programming"},{"key":"21_CR43","doi-asserted-by":"crossref","unstructured":"M. Wand and W. Clinger. Set Constraints for Destructive Array Update Optimization. In Journal of Functional Programming, 2000, to appear.","DOI":"10.1017\/S0956796801003938"},{"key":"21_CR44","doi-asserted-by":"crossref","unstructured":"M. Wand and I. Siveroni. Constraint systems for useless variable elimination. In POPL\u201999, ACM Press.","DOI":"10.1145\/292540.292567"},{"key":"21_CR45","doi-asserted-by":"crossref","unstructured":"D. Wang and A. Appel. Type-preserving garbage collectors. In POPL\u201901, ACM Press.","DOI":"10.1145\/360204.360218"},{"issue":"1","key":"21_CR46","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1016\/S0167-6423(96)00044-5","volume":"31","author":"K. Yi","year":"1998","unstructured":"K. Yi. An abstract interpretation for estimating uncaught exceptions in Standard ML programs. In Science of Computer Programming, 31(1):147\u2013173, 1998.","journal-title":"Science of Computer Programming"}],"container-title":["Lecture Notes in Computer Science","Theoretical Aspects of Computer Software"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-45500-0_21","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,14]],"date-time":"2023-05-14T14:22:56Z","timestamp":1684074176000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-45500-0_21"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001]]},"ISBN":["9783540427360","9783540455004"],"references-count":46,"URL":"https:\/\/doi.org\/10.1007\/3-540-45500-0_21","relation":{},"ISSN":["0302-9743"],"issn-type":[{"type":"print","value":"0302-9743"}],"subject":[],"published":{"date-parts":[[2001]]}}}