{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,4,2]],"date-time":"2024-04-02T12:55:21Z","timestamp":1712062521125},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[1986,8]]},"abstract":"\n In spite of substantial progress in the theory of interprocedural data flow analysis, few practical compiling systems can afford to apply it to produce more efficient object programs. To perform interprocedural analysis, a compiler needs not only the source code of the module being compiled, but also information about the side effects of every procedure in the program containing that module, even separately compiled procedures. In a conventional batch compiler system, the increase in compilation time required to gather this information would make the whole process impractical. In an integrated programming environment, however, other tools can cooperate with the compiler to compute the necessary interprocedural information\n incrementally<\/jats:italic>\n . as the program is being developed, decreasing both the overall cost of the analysis and the cost of individual compilations.\n <\/jats:p>\n \n A central goal of the R\n n<\/jats:sup>\n project at Rice University is to construct a prototype software development environment that is designed to build whole programs, rather than just individual modules. It employs interprocedural analysis and optimization to produce high-quality machine code for whole programs. This paper presents an overview of the methods used by the environment to accomplish this task and discusses the impact of these methods on the various environment components. The responsibilities of each component of the environment for the preparation and use of interprocedural information are presented in detail.\n <\/jats:p>","DOI":"10.1145\/6465.6489","type":"journal-article","created":{"date-parts":[[2002,10,7]],"date-time":"2002-10-07T13:52:47Z","timestamp":1033998767000},"page":"491-523","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":76,"title":["The impact of interprocedural analysis and optimization in the R\n n<\/sup>\n programming environment"],"prefix":"10.1145","volume":"8","author":[{"given":"Keith D.","family":"Cooper","sequence":"first","affiliation":[{"name":"Rice Univ., Houston, TX"}]},{"given":"Ken","family":"Kennedy","sequence":"additional","affiliation":[{"name":"Rice Univ., Houston, TX"}]},{"given":"Linda","family":"Torczon","sequence":"additional","affiliation":[{"name":"Rice Univ., Houston, TX"}]}],"member":"320","published-online":{"date-parts":[[1986,8]]},"reference":[{"key":"e_1_2_1_1_2","volume-title":"Mass.","author":"AHO A. V.","year":"1974"},{"key":"e_1_2_1_2_2","volume-title":"Design and Optimization of Compilers","author":"ALLEN F. E.","year":"1972"},{"key":"e_1_2_1_3_2","volume-title":"Supercomputers: Design and Applications","author":"ALLEN J. R.","year":"1984"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","first-page":"4","DOI":"10.1109\/MS.1985.231370","volume":"2","author":"ALLEN J. R.","year":"1985","journal-title":"IEEE Softw."},{"key":"e_1_2_1_5_2","unstructured":"AMERICAN NATIONAL STANDARDS INSTITUTE. American National Standard Programming Language Fortran X3.9-1978 1978. AMERICAN NATIONAL STANDARDS INSTITUTE. American National Standard Programming Language Fortran X3.9-1978 1978."},{"key":"e_1_2_1_6_2","unstructured":"AMERICAN NATIONAL STANDARDS INSTITUTE. Proposals approved for Fortran 8x. X3J3\/S6.80 (1981). AMERICAN NATIONAL STANDARDS INSTITUTE. Proposals approved for Fortran 8x. X3J3\/S6.80 (1981)."},{"key":"e_1_2_1_7_2","first-page":"214","volume-title":"Proceedings o{ the SIG-PLAN 79 Symposium on Compiler Construction; SIGPLAN Not. 14","author":"BALL J.E.","year":"1979"},{"key":"e_1_2_1_8_2","first-page":"29","volume-title":"Proceedings of the 6th Annual ACM Symposium on Principles of Programming Languages (Jan.","author":"BANNING J.P.","year":"1979"},{"key":"e_1_2_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/359588.359596"},{"key":"e_1_2_1_10_2","unstructured":"BURKE M. Private communication Nov. 1983. BURKE M. Private communication Nov. 1983."},{"key":"e_1_2_1_11_2","unstructured":"BURKE M. An interval analysis approach toward interprocedural data flow. Rep. RC 10640 IBM T. J. Watson Research Center Yorktown Heights N.Y. July 1984. BURKE M. An interval analysis approach toward interprocedural data flow. Rep. RC 10640 IBM T. J. Watson Research Center Yorktown Heights N.Y. July 1984."},{"key":"e_1_2_1_12_2","volume-title":"Proceedings of the SIGPLAN 86 Symposium on Compiler Construction (June","author":"CALLAHAN D.","year":"1986"},{"key":"e_1_2_1_14_2","volume-title":"Tex.","author":"COOPER K. D.","year":"1983"},{"key":"e_1_2_1_15_2","first-page":"281","volume-title":"Proceedings of the 12th Annual ACM Symposium on Principles of Programming Languages (Jan. 1985","author":"COOPER D.","year":"1859"},{"key":"e_1_2_1_16_2","doi-asserted-by":"crossref","first-page":"247","DOI":"10.1145\/502874.502898","volume-title":"Proceedings of the SIGPLAN 84 Symposium on Compiler Construction; SIGPLAN Not. 19","author":"COOPER K. D.","year":"1984"},{"key":"e_1_2_1_17_2","volume-title":"Proceedings of the SIGPLAN 86 Symposium on Compiler Construction (June","author":"COOPER K. D.","year":"1986"},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/TSE.1976.233534","volume":"2","author":"DEREMER F.","year":"1976","journal-title":"IEEE Trans. Softw. Eng. SE-2"},{"key":"e_1_2_1_20_2","doi-asserted-by":"crossref","unstructured":"DONGARRA J. J. BUNCH J. R. MOLER C. B. AND STEWART G.W. LINPACK Users' Guide. SIAM Philadelphia Pa. 1979. DONGARRA J. J. BUNCH J. R. MOLER C. B. AND STEWART G.W. LINPACK Users' Guide. SIAM Philadelphia Pa. 1979.","DOI":"10.1137\/1.9781611971811"},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/321312.321314"},{"key":"e_1_2_1_22_2","first-page":"83","volume-title":"Proceedings of the S1GPLAN 79 Symposium on Compiler Construction; SIGPLAN Not. 14","author":"FAR","year":"1979"},{"key":"e_1_2_1_23_2","doi-asserted-by":"crossref","first-page":"255","DOI":"10.1002\/spe.4380090402","volume":"9","author":"FELDMAN S.","year":"1979","journal-title":"Softw. Pract. Exper."},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/321921.321939"},{"key":"e_1_2_1_25_2","first-page":"2","volume":"1","author":"HECHT M. S.","year":"1975","journal-title":"SIAMJ. Comput."},{"key":"e_1_2_1_26_2","first-page":"625","volume-title":"Proceedings of the 18th Annual Hawaii International Conference on Systems Sciences (Jan.","author":"HOOD R. T.","year":"1985"},{"key":"e_1_2_1_27_2","volume-title":"Frontiers of Supercomputing","author":"HOOD R. T.","year":"1986"},{"key":"e_1_2_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/321921.321938"},{"key":"e_1_2_1_29_2","doi-asserted-by":"crossref","first-page":"305","DOI":"10.1007\/BF00290339","volume":"7","author":"KAM J.","year":"1977","journal-title":"Acta Inf."},{"key":"e_1_2_1_30_2","volume-title":"Program Flow Analysis: Theory and Applications","author":"KENNEDY K.","year":"1981"},{"key":"e_1_2_1_31_2","first-page":"1","volume-title":"SIGPLAN 83 Symposium on Programming Language Issues in Software Systems (June","author":"LAMPSON B. W.","year":"1983"},{"key":"e_1_2_1_32_2","volume-title":"Workshop on Software Engineering Environments for Programming-inthe-Large (Harwichport, Ma.","author":"LERLANG D. B.","year":"1985"},{"key":"e_1_2_1_36_2","first-page":"219","volume-title":"Proceedings o{ the 8th Annual ACM Symposium on Principles of Programming Languages (Jan.","author":"MYEI~S E.W.","year":"1981"},{"key":"e_1_2_1_39_2","doi-asserted-by":"crossref","first-page":"364","DOI":"10.1109\/TSE.1975.6312866","volume":"4","author":"ROCHKINO M. J.","year":"1975","journal-title":"Trans. So{tw. Eng. SE-1"},{"key":"e_1_2_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/322123.322135"},{"key":"e_1_2_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/322261.322272"},{"key":"e_1_2_1_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/322261.322273"},{"key":"e_1_2_1_43_2","volume-title":"Automated Tools {or Information Systems Design, H.-J","author":"TICHY W.F.","year":"1982"},{"key":"e_1_2_1_44_2","first-page":"236","volume-title":"Proceedings o{ the 12th Annual ACM Symposium on Principles o{ Programming Languages (Jan. 1985","author":"TICHY W. F.","year":"1859"},{"key":"e_1_2_1_45_2","volume-title":"Tex.","author":"TORCZON L.M.","year":"1985"},{"key":"e_1_2_1_46_2","first-page":"291","volume-title":"Proceedings o{ the 12th Annual ACM Symposium on Principles o{ Programming Languages (Jan. 1985","author":"WEGMAN M.","year":"1859"},{"key":"e_1_2_1_47_2","volume-title":"Tex.","author":"ZADECK F.K.","year":"1983"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/6465.6489","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,1,2]],"date-time":"2023-01-02T18:52:27Z","timestamp":1672685547000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/6465.6489"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1986,8]]},"references-count":40,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1986,8]]}},"alternative-id":["10.1145\/6465.6489"],"URL":"https:\/\/doi.org\/10.1145\/6465.6489","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"value":"0164-0925","type":"print"},{"value":"1558-4593","type":"electronic"}],"subject":[],"published":{"date-parts":[[1986,8]]},"assertion":[{"value":"1986-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}