{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,20]],"date-time":"2026-03-20T05:04:33Z","timestamp":1773983073745,"version":"3.50.1"},"reference-count":19,"publisher":"Elsevier BV","issue":"2","license":[{"start":{"date-parts":[[1993,4,1]],"date-time":"1993-04-01T00:00:00Z","timestamp":733622400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[1993,4,1]],"date-time":"1993-04-01T00:00:00Z","timestamp":733622400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2004,6,16]],"date-time":"2004-06-16T00:00:00Z","timestamp":1087344000000},"content-version":"vor","delay-in-days":4094,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/4.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Computer Languages"],"published-print":{"date-parts":[[1993,4]]},"DOI":"10.1016\/0096-0551(93)90005-l","type":"journal-article","created":{"date-parts":[[2003,8,7]],"date-time":"2003-08-07T19:04:53Z","timestamp":1060283093000},"page":"105-117","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":73,"title":["A methodology for procedure cloning"],"prefix":"10.1016","volume":"19","author":[{"given":"Keith D","family":"Cooper","sequence":"first","affiliation":[]},{"given":"Mary W","family":"Hall","sequence":"additional","affiliation":[]},{"given":"Ken","family":"Kennedy","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"issue":"6","key":"10.1016\/0096-0551(93)90005-L_BIB1","doi-asserted-by":"crossref","first-page":"581","DOI":"10.1002\/spe.4380210604","article-title":"An experiment with inline substitution","volume":"21","author":"Cooper","year":"1991","journal-title":"Software\u2014Practice and Experience"},{"issue":"4","key":"10.1016\/0096-0551(93)90005-L_BIB2","doi-asserted-by":"crossref","first-page":"491","DOI":"10.1145\/6465.6489","article-title":"The impact of interprocedural analysis and optimization in the Rn programming environment","volume":"8","author":"Cooper","year":"1986","journal-title":"ACM Trans. Programming Lang. Systems"},{"key":"10.1016\/0096-0551(93)90005-L_BIB3","series-title":"PhD thesis","article-title":"General and Efficient Methods for Global Code Improvement","author":"Wegman","year":"1981"},{"key":"10.1016\/0096-0551(93)90005-L_BIB4","doi-asserted-by":"crossref","first-page":"473","DOI":"10.1007\/BF00271642","article-title":"Polyvariant mixed computation for analyzer programs","volume":"21","author":"Bulyonkov","year":"1984","journal-title":"Acta Inform."},{"issue":"9","key":"10.1016\/0096-0551(93)90005-L_BIB5","doi-asserted-by":"crossref","first-page":"321","DOI":"10.1145\/115866.115902","article-title":"Using types to avoid redundant specialization","volume":"26","author":"Ruf","year":"1991","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/0096-0551(93)90005-L_BIB6","series-title":"Proceedings of the APL '79 Conference","first-page":"82","article-title":"The dynamic incremental compiler of APL\\3000","author":"Johnston","year":"1979"},{"issue":"7","key":"10.1016\/0096-0551(93)90005-L_BIB7","doi-asserted-by":"crossref","first-page":"146","DOI":"10.1145\/74818.74831","article-title":"Customizaiton: Optimizing compiler technology for SELF, a dynamically-typed object-oriented programming language","volume":"24","author":"Chambers","year":"1989","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/0096-0551(93)90005-L_BIB8","series-title":"Technical Report TR90-148","article-title":"Goal-directed interprocedural optimization","author":"Briggs","year":"1990"},{"issue":"6","key":"10.1016\/0096-0551(93)90005-L_BIB9","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1145\/93548.93553","article-title":"Improving register allocation for subscripted variables","volume":"25","author":"Callahan","year":"1990","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/0096-0551(93)90005-L_BIB10","volume":"Vol. 1","author":"Kuck","year":"1978"},{"key":"10.1016\/0096-0551(93)90005-L_BIB11","series-title":"PhD thesis","article-title":"Managing Interprocedural Optimization","author":"Hall","year":"1991"},{"key":"10.1016\/0096-0551(93)90005-L_BIB12","series-title":"Conference Record of the Seventeenth Annual Symposium on Principles of Programming Languages","first-page":"184","article-title":"An efficient hybrid algorithm for incremental data flow analysis","author":"Marlowe","year":"1990"},{"issue":"7","key":"10.1016\/0096-0551(93)90005-L_BIB13","doi-asserted-by":"crossref","first-page":"152","DOI":"10.1145\/13310.13327","article-title":"Interprocedural constant propagation","volume":"21","author":"Callahan","year":"1986","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/0096-0551(93)90005-L_BIB14","series-title":"Theory of Machines and Computations","first-page":"189","article-title":"An nlogn algorithm for minimizing states in a finite automaton","author":"Hopcroft","year":"1971"},{"issue":"1","key":"10.1016\/0096-0551(93)90005-L_BIB15","doi-asserted-by":"crossref","first-page":"92","DOI":"10.1145\/390012.24220","article-title":"Editing and compiling whole programs","volume":"22","author":"Cooper","year":"1987","journal-title":"ACM SIGPLAN Notices"},{"key":"10.1016\/0096-0551(93)90005-L_BIB16","series-title":"Proceedings of the Sixth Annual Symposium on Principles of Programming Languages","first-page":"29","article-title":"An efficient way to find the side effects of procedure calls and the aliases of variables","author":"Banning","year":"1979"},{"issue":"8","key":"10.1016\/0096-0551(93)90005-L_BIB17","doi-asserted-by":"crossref","first-page":"214","DOI":"10.1145\/872732.806972","article-title":"Predicting the effects of optimization on a procedure body","volume":"14","author":"Ball","year":"1979","journal-title":"ACM SIGPLAN Notices"},{"issue":"4","key":"10.1016\/0096-0551(93)90005-L_BIB18","first-page":"84","article-title":"ParaScope: a parallel programming environment","volume":"2","author":"Callahan","year":"1988","journal-title":"Int. J. Supercomp. Applic."},{"key":"10.1016\/0096-0551(93)90005-L_BIB19","series-title":"Proceedings of Supercomputing '91","article-title":"Interprocedural transformations for parallel code generation","author":"Hall","year":"1991"}],"container-title":["Computer Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:009605519390005L?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:009605519390005L?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,9,9]],"date-time":"2025-09-09T18:16:09Z","timestamp":1757441769000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/009605519390005L"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1993,4]]},"references-count":19,"journal-issue":{"issue":"2","published-print":{"date-parts":[[1993,4]]}},"alternative-id":["009605519390005L"],"URL":"https:\/\/doi.org\/10.1016\/0096-0551(93)90005-l","relation":{},"ISSN":["0096-0551"],"issn-type":[{"value":"0096-0551","type":"print"}],"subject":[],"published":{"date-parts":[[1993,4]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"A methodology for procedure cloning","name":"articletitle","label":"Article Title"},{"value":"Computer Languages","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/0096-0551(93)90005-L","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 1993 Published by Elsevier Ltd.","name":"copyright","label":"Copyright"}]}}