{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T18:56:11Z","timestamp":1725562571268},"publisher-location":"Berlin, Heidelberg","reference-count":60,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540221593"},{"type":"electronic","value":"9783540248514"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2004]]},"DOI":"10.1007\/978-3-540-24851-4_5","type":"book-chapter","created":{"date-parts":[[2010,8,8]],"date-time":"2010-08-08T20:36:03Z","timestamp":1281299763000},"page":"96-122","source":"Crossref","is-referenced-by-count":25,"title":["Pointer Analysis in the Presence of Dynamic Class Loading"],"prefix":"10.1007","author":[{"given":"Martin","family":"Hirzel","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Amer","family":"Diwan","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michael","family":"Hind","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"5_CR1","doi-asserted-by":"crossref","unstructured":"Agrawal, G., Li, J., Su, Q.: Evaluating a demand driven technique for call graph construction. In: Internat. Conference on Compiler Construction, CC (2002)","DOI":"10.1007\/3-540-45937-5_5"},{"key":"5_CR2","doi-asserted-by":"crossref","unstructured":"Alpern, B., Attanasio, C.R., Barton, J.J., Burke, M.G., Cheng, P., Choi, J.-D., Cocchi, A., Fink, S.J., Grove, D., Hind, M., Hummel, S.F., Lieber, D., Litvinov, V., Mergen, M.F., Ngo, T., Russell, J.R., Sarkar, V., Serrano, M.J., Shepherd, J.C., Smith, S.E., Sreedhar, V.C., Srinivasan, H., Whaley, J.: The Jalape\u00f1o virtual machine. IBM Systems Journal\u00a039(1) (2000)","DOI":"10.1147\/sj.391.0211"},{"key":"5_CR3","unstructured":"Andersen, L.O.: Program Analysis and Specialization for the C Programming Language. PhD thesis, University of Copenhagen, DIKU report 94\/19 (1994)"},{"key":"5_CR4","doi-asserted-by":"crossref","unstructured":"Arnold, M., Fink, S., Grove, D., Hind, M., Sweeney, P.F.: Adaptive optimization in the Jalape\u00f1o JVM. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2000)","DOI":"10.1145\/353171.353175"},{"key":"5_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"498","DOI":"10.1007\/3-540-47993-7_21","volume-title":"ECOOP 2002 - Object-Oriented Programming","author":"M. Arnold","year":"2002","unstructured":"Arnold, M., Ryder, B.G.: Thin guards: A simple and effective technique for reducing the penalty of dynamic class loading. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol.\u00a02374, p. 498. Springer, Heidelberg (2002)"},{"key":"5_CR6","doi-asserted-by":"crossref","unstructured":"Bacon, D.F., Sweeney, P.F.: Fast static analysis of C++ virtual function calls. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (1996)","DOI":"10.1145\/236337.236371"},{"key":"5_CR7","unstructured":"Bogda, J., Singh, A.: Can a shape analysis work at run-time? In: Java Virtual Machine Research and Technology Symp., JVM (2001)"},{"key":"5_CR8","doi-asserted-by":"crossref","unstructured":"Burke, M., Torczon, L.: Interprocedural optimization: Eliminating unnecessary recompilation. In: Trans. on Prog. Lang. and Systems, TOPLAS (1993)","DOI":"10.1145\/169683.169678"},{"key":"5_CR9","doi-asserted-by":"crossref","unstructured":"Chatterjee, R., Ryder, B.G., Landi, W.A.: Relevant context inference. In: Principles of Prog. Lang, POPL (1999)","DOI":"10.1145\/292540.292554"},{"key":"5_CR10","doi-asserted-by":"crossref","unstructured":"Cheng, B.-C., Hwu, W.-m.W.: Modular interprocedural pointer analysis using access paths: design, implementation, and evaluation. In: Prog. Lang. Design and Impl., PLDI (2000)","DOI":"10.1145\/349299.349311"},{"key":"5_CR11","doi-asserted-by":"crossref","unstructured":"Choi, J.-D., Gupta, M., Serrano, M., Sreedhar, V.C., Midkiff, S.: Escape analysis for Java. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (1999)","DOI":"10.1145\/320384.320386"},{"key":"5_CR12","doi-asserted-by":"crossref","unstructured":"Christensen, A.S., M\u00f8ller, A., Schwartzbach, M.I.: Precise analysis of string expressions. In: Static Analysis Symposium, SAS (2003)","DOI":"10.1007\/3-540-44898-5_1"},{"key":"5_CR13","doi-asserted-by":"crossref","unstructured":"Cierniak, M., Lueh, G.-Y., Stichnoth, J.M.: Practicing JUDO: Java under dynamic optimizations. In: Prog. Lang. Design and Impl., PLDI (2000)","DOI":"10.1145\/349299.349306"},{"key":"5_CR14","doi-asserted-by":"crossref","unstructured":"Cooper, K.D., Kennedy, K., Torczon, L.: Interprocedural optimization: Eliminating unnecessary recompilation. In: Trans. on Prog. Lang. and Systems, TOPLAS (1986)","DOI":"10.1145\/12276.13317"},{"key":"5_CR15","doi-asserted-by":"crossref","unstructured":"Das, M.: Unification-based pointer analysis with directional assignments. In: Prog. Lang. Design and Impl., PLDI (2000)","DOI":"10.1145\/349299.349309"},{"key":"5_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"77","DOI":"10.1007\/3-540-49538-X_5","volume-title":"ECOOP \u201995 - Object-Oriented Programming","author":"J. Dean","year":"1995","unstructured":"Dean, J., Grove, D., Chambers, C.: Optimization of object-oriented programs using static class hierarchy analysis. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol.\u00a0952, pp. 77\u2013101. Springer, Heidelberg (1995)"},{"key":"5_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"258","DOI":"10.1007\/3-540-48743-3_12","volume-title":"ECOOP \u201999 - Object-Oriented Programming","author":"D. Detlefs","year":"1999","unstructured":"Detlefs, D., Agesen, O.: Inlining of virtual methods. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol.\u00a01628, p. 258. Springer, Heidelberg (1999)"},{"key":"5_CR18","doi-asserted-by":"crossref","unstructured":"Diwan, A., McKinley, K.S., Moss, J.E.B.: Using types to analyze and optimize object-oriented programs. In: Trans. on Prog. Lang. and Systems, TOPLAS (2001)","DOI":"10.1145\/383721.383732"},{"key":"5_CR19","doi-asserted-by":"crossref","unstructured":"F\u00e4hndrich, M., Foster, J.S., Su, Z., Aiken, A.: Partial online cycle elimination in inclusion constraint graphs. In: Prog. Lang. Design and Impl., PLDI (1998)","DOI":"10.1145\/277650.277667"},{"key":"5_CR20","doi-asserted-by":"crossref","unstructured":"Fernandez, M.F.: Simple and effective link-time optimization of Modula-3 programs. In: Prog. Lang. Design and Impl., PLDI (1995)","DOI":"10.1145\/207110.207121"},{"key":"5_CR21","doi-asserted-by":"crossref","unstructured":"Fink, S.J., Qian, F.: Design, implementation, and evaluation of adaptive recompilation with on-stack replacement. In: Code Gen. and Optimization, CGO (2003)","DOI":"10.1109\/CGO.2003.1191549"},{"key":"5_CR22","unstructured":"Foster, J.S., F\u00e4hndrich, M., Aiken, A.: Flow-insensitive points-to analysis with term and set constraints. Technical report, University of California at Berkeley (1997)"},{"key":"5_CR23","doi-asserted-by":"crossref","unstructured":"Grove, D.P.: Effective Interprocedural Optimization of Object-Oriented Languages. PhD thesis, University of Washington (1998)","DOI":"10.1145\/263698.264352"},{"key":"5_CR24","doi-asserted-by":"crossref","unstructured":"Hall, M.W., Mellor-Crummey, J.M., Carle, A., Rodriguez, R.G.: Fiat: A framework for interprocedural analysis and transformations. In: Workshop on Languages and Compilers for Parallel Computing, LCPC (1993)","DOI":"10.1007\/3-540-57659-2_30"},{"key":"5_CR25","doi-asserted-by":"crossref","unstructured":"Harris, T.: Early storage reclamation in a tracing garbage collector. ACM SIGPLAN Notices (1999)","DOI":"10.1145\/312009.312035"},{"key":"5_CR26","unstructured":"Heintze, N.: Analysis of large code bases: The compile-link-analyze model (1999), http:\/\/cm.bell-labs.com\/cm\/cs\/who\/nch\/cla.ps"},{"key":"5_CR27","doi-asserted-by":"crossref","unstructured":"Heintze, N., Tardieu, O.: Demand-driven pointer analysis. In: Prog. Lang. Design and Impl., PLDI (2001)","DOI":"10.1145\/378795.378802"},{"key":"5_CR28","doi-asserted-by":"crossref","unstructured":"Heintze, N., Tardieu, O.: Ultra-fast aliasing analysis using CLA: A million lines of C code in a second. In: Prog. Lang. Design and Impl., PLDI (2001)","DOI":"10.1145\/378795.378855"},{"key":"5_CR29","doi-asserted-by":"crossref","unstructured":"Hendren, L.: Parallelizing Programs with Recursive Data Structures. PhD thesis, Cornell University (1990)","DOI":"10.1145\/318789.318812"},{"key":"5_CR30","doi-asserted-by":"crossref","unstructured":"Hind, M.: Pointer analysis: Haven\u2019t we solved this problem yet? In: Workshop on Program Analysis for Software Tools and Engineering, PASTE (2001)","DOI":"10.1145\/379605.379665"},{"key":"5_CR31","doi-asserted-by":"crossref","unstructured":"Hind, M., Pioli, A.: Which pointer analysis should I use? In: Internat. Symp. on Software Testing and Analysis, ISSTA (2000)","DOI":"10.1145\/347324.348916"},{"key":"5_CR32","doi-asserted-by":"crossref","unstructured":"Hirzel, M., Diwan, A., Hertz, M.: Connectivity-based garbage collection. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2003)","DOI":"10.1145\/949305.949337"},{"key":"5_CR33","doi-asserted-by":"crossref","unstructured":"Hirzel, M., Henkel, J., Diwan, A., Hind, M.: Understanding the connectivity of heap objects. In: Internat. Symp. on Memory Management, ISMM (2002)","DOI":"10.1145\/512429.512435"},{"key":"5_CR34","doi-asserted-by":"crossref","unstructured":"H\u00f6lzle, U., Chambers, C., Ungar, D.: Debugging optimized code with dynamic deoptimization. In: Prog. Lang. Design and Impl., PLDI (1992)","DOI":"10.1145\/143095.143114"},{"key":"5_CR35","doi-asserted-by":"crossref","unstructured":"H\u00f6lzle, U., Ungar, D.: Optimizing dynamically-dispatched calls with run-time type feedback. In: Prog. Lang. Design and Impl., PLDI (1994)","DOI":"10.1145\/178243.178478"},{"key":"5_CR36","unstructured":"King, A.C.: Removing GC synchronization (extended version). Winner (Graduate Division) ACM Student Research Competition (2003), http:\/\/www.acm.org\/src\/subpages\/AndyKing\/overview.html"},{"key":"5_CR37","unstructured":"Larus, J.R., Chandra, S.: Using tracing and dynamic slicing to tune compilers. University of Wisconsin Technical Report 1174 (August 1993)"},{"key":"5_CR38","unstructured":"Lattner, C., Adve, V.: Data Structure Analysis: An Efficient Context-Sensitive Heap Analysis. Tech. Report UIUCDCS-R-2003-2340, Computer Science Dept., Univ. of Illinois at Urbana-Champaign (April 2003)"},{"key":"5_CR39","doi-asserted-by":"crossref","unstructured":"Lhot\u00e1k, O., Hendren, L.: Scaling Java points-to analysis using SPARK. In: Internat. Conference on Compiler Construction, CC (2003)","DOI":"10.1007\/3-540-36579-6_12"},{"key":"5_CR40","doi-asserted-by":"crossref","unstructured":"Liang, D., Pennings, M., Harrold, M.J.: Extending and evaluating flowinsenstitive and context-insensitive points-to analyses for Java. In: Workshop on Program Analysis for Software Tools and Engineering, PASTE (2001)","DOI":"10.1145\/379605.379676"},{"key":"5_CR41","doi-asserted-by":"crossref","unstructured":"Liang, D., Pennings, M., Harrold, M.J.: Evaluating the precision of static reference analysis using profiling. In: Internat. Symp. on Software Testing and Analysis, ISSTA (2002)","DOI":"10.1145\/566172.566176"},{"key":"5_CR42","volume-title":"The Java virtual machine specification.","author":"T. Lindholm","year":"1999","unstructured":"Lindholm, T., Yellin, F.: The Java virtual machine specification., 2nd edn. Addison-Wesley, Reading (1999)","edition":"2"},{"key":"5_CR43","unstructured":"Paleczny, M., Vick, C., Click, C.: The Java HotSpot server compiler. In: Java Virtual Machine Research and Technology Symp., JVM (2001)"},{"key":"5_CR44","doi-asserted-by":"crossref","unstructured":"Pechtchanski, I., Sarkar, V.: Dynamic optimistic interprocedural analysis: a framework and an application. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2001)","DOI":"10.1145\/504282.504297"},{"key":"5_CR45","unstructured":"Qian, F., Hendren, L.: Towards dynamic interprocedural analysis in JVMs. In: Java Virtual Machine Research and Technology Symp., JVM (2004)"},{"key":"5_CR46","doi-asserted-by":"crossref","unstructured":"Rountev, A., Chandra, S.: Off-line variable substitution for scaling points-to analysis. In: Prog. Lang. Design and Impl, PLDI (2000)","DOI":"10.1145\/349299.349310"},{"key":"5_CR47","doi-asserted-by":"crossref","unstructured":"Rountev, A., Milanova, A., Ryder, B.G.: Points-to analysis for Java using annotated constraints. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2001)","DOI":"10.1145\/504282.504286"},{"key":"5_CR48","doi-asserted-by":"crossref","unstructured":"Ruf, E.: Effective synchronization removal for Java. In: Prog. Lang. Design and Impl., PLDI (2000)","DOI":"10.1145\/349299.349327"},{"key":"5_CR49","doi-asserted-by":"crossref","unstructured":"Sagiv, M., Reps, T., Wilhelm, R.: Parametric shape analysis via 3-valued logic. In: Principles of Prog. Lang., POPL (1999)","DOI":"10.1145\/292540.292552"},{"key":"5_CR50","doi-asserted-by":"crossref","unstructured":"Shapiro, M., Horwitz, S.: The effects of the precision of pointer analysis. In: Static Analysis Symp., SAS (1997)","DOI":"10.1007\/BFb0032731"},{"key":"5_CR51","doi-asserted-by":"crossref","unstructured":"Sreedhar, V.C., Burke, M., Choi, J.-D.: A framework for interprocedural analysis and optimization in the presence of dynamic class loading. In: Prog. Lang. Design and Impl., PLDI (2000)","DOI":"10.1145\/349299.349326"},{"key":"5_CR52","doi-asserted-by":"crossref","unstructured":"Steensgaard, B.: Points-to analysis in almost linear time. In: Principles of Prog. Lang., POPL (1996)","DOI":"10.1145\/237721.237727"},{"key":"5_CR53","doi-asserted-by":"crossref","unstructured":"Sundaresan, V., Hendren, L.J., Razafimahefa, C., Raja, V.-R., Lam, P., Gagnon, E., Godin, C.: Practical virtual method call resolution for Java. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2000)","DOI":"10.1145\/353171.353189"},{"key":"5_CR54","doi-asserted-by":"crossref","unstructured":"Suganuma, T., Yasue, T., Kawahito, M., Komatsu, H., Nakatani, T.: A dynamic optimization framework for a Java just-in-time compiler. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2001)","DOI":"10.1145\/504282.504296"},{"key":"5_CR55","unstructured":"The Apache Tomcat Project. Apache Tomcat, http:\/\/jakarta.apache.org\/tomcat"},{"key":"5_CR56","unstructured":"The Eclipse Project. Eclipse, http:\/\/www.eclipse.org"},{"key":"5_CR57","doi-asserted-by":"crossref","unstructured":"Tip, F., Palsberg, J.: Scalable propagation-based call graph construction algorithms. In: Obj.-Oriented Prog., Systems, Lang., and Applic., OOPSLA (2000)","DOI":"10.1145\/353171.353190"},{"key":"5_CR58","doi-asserted-by":"crossref","unstructured":"Vall\u00e9e-Rai, R., Gagnon, E., Hendren, L., Lam, P., Pominville, P., Sundaresan, V.: Optimizing Java bytecode using the Soot framework: Is it feasible? In: European Conference for Object-Oriented Prog., ECOOP (2000)","DOI":"10.1007\/3-540-46423-9_2"},{"key":"5_CR59","doi-asserted-by":"crossref","unstructured":"Vivien, F., Rinard, M.: Incrementalized pointer and escape analysis. In: Prog. Lang. Design and Impl., PLDI (2001)","DOI":"10.1145\/378795.378804"},{"key":"5_CR60","doi-asserted-by":"crossref","unstructured":"Whaley, J., Lam, M.: An efficient inclusion-based points-to analysis for strictlytyped languages. In: Static Analysis Symp., SAS (2002)","DOI":"10.1007\/3-540-45789-5_15"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2004 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-540-24851-4_5.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,3,29]],"date-time":"2024-03-29T06:00:04Z","timestamp":1711692004000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-540-24851-4_5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2004]]},"ISBN":["9783540221593","9783540248514"],"references-count":60,"URL":"https:\/\/doi.org\/10.1007\/978-3-540-24851-4_5","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2004]]}}}