{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,27]],"date-time":"2025-10-27T20:30:37Z","timestamp":1761597037512},"publisher-location":"Berlin, Heidelberg","reference-count":38,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540009047"},{"type":"electronic","value":"9783540365792"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2003]]},"DOI":"10.1007\/3-540-36579-6_8","type":"book-chapter","created":{"date-parts":[[2007,6,7]],"date-time":"2007-06-07T18:15:58Z","timestamp":1181240158000},"page":"106-120","source":"Crossref","is-referenced-by-count":11,"title":["Precision in Practice: A Type-Preserving Java Compiler"],"prefix":"10.1007","author":[{"given":"Christopher","family":"League","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zhong","family":"Shao","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Valery","family":"Trifonov","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2003,2,28]]},"reference":[{"key":"8_CR1","unstructured":"Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. 2nd edn. Addison-Wesley (1999)"},{"key":"8_CR2","unstructured":"ECMA: Common language infrastructure. Drafts of the TC39\/TG3 standardization process. http:\/\/msdn.microsoft.com\/net\/ecma\/ (2001)"},{"key":"8_CR3","unstructured":"Tolksdorf, R.: Programming languages for the JVM. http:\/\/flp.cs.tu-berlin.de\/~tolk\/vmlanguages.html (2002)"},{"key":"8_CR4","doi-asserted-by":"crossref","unstructured":"Syme, D.: ILX: extending the.NET Common IL for functional language interoperability. In: Proc. BABEL Workshop on Multi-Language Infrastructure and Interoperability, ACM (2001)","DOI":"10.1016\/S1571-0661(05)80453-0"},{"key":"8_CR5","doi-asserted-by":"crossref","unstructured":"Morrisett, G., Walker, D., Crary, K., Glew, N.: From System F to typed assembly language. ACM Trans. on Programming Languages and Systems 21 (1999)","DOI":"10.1145\/319301.319345"},{"key":"8_CR6","doi-asserted-by":"crossref","unstructured":"Necula, G. C.: Proof-carrying code. In: Proc. Symp. on Principles of Programming Languages, Paris, ACM (1997) 106\u2013119","DOI":"10.1145\/263699.263712"},{"key":"8_CR7","doi-asserted-by":"crossref","unstructured":"Fitzgerald, R., Knoblock, T. B., Ruf, E., Steensgaard, B., Tarditi, D.: Marmot: an optimizing compiler for Java. Software: Practice and Experience 30 (2000)","DOI":"10.1002\/(SICI)1097-024X(200003)30:3<199::AID-SPE296>3.0.CO;2-2"},{"key":"8_CR8","doi-asserted-by":"crossref","unstructured":"Stichnoth, J. M., Lueh, G. Y., Cierniak, M.: Support for garbage collection at every instruction in a Java compiler. In: Proc. Conf. on Programming Language Design and Implementation, Atlanta, ACM (1999) 118\u2013127","DOI":"10.1145\/301618.301652"},{"key":"8_CR9","doi-asserted-by":"crossref","unstructured":"League, C., Shao, Z., Trifonov, V.: Representing Java classes in a typed intermediate language. In: Proc. Int\u2019l Conf. Functional Programming, Paris, ACM (1999)","DOI":"10.21236\/ADA436495"},{"key":"8_CR10","doi-asserted-by":"crossref","unstructured":"League, C., Shao, Z., Trifonov, V.: Type-preserving compilation of Featherweight Java. ACM Trans. on Programming Languages and Systems 24 (2002)","DOI":"10.1145\/514952.514954"},{"key":"8_CR11","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1006\/inco.1999.2829","volume":"155","author":"K. B. Bruce","year":"1999","unstructured":"Bruce, K. B., Cardelli, L., Pierce, B. C.: Comparing object encodings. Information and Computation 155 (1999) 108\u2013133","journal-title":"Information and Computation"},{"key":"8_CR12","doi-asserted-by":"crossref","unstructured":"Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML (Revised). MIT Press (1997)","DOI":"10.7551\/mitpress\/2319.001.0001"},{"key":"8_CR13","unstructured":"R\u00e9my, D.: Syntactic theories and the algebra of record terms. Technical Report 1869, INRIA (1993)"},{"key":"8_CR14","doi-asserted-by":"crossref","unstructured":"Colby, C., Lee, P., Necula, G. C., Blau, F., Cline, K., Plesko, M.: A certifying compiler for Java. In: Proc. Conf. on Programming Language Design and Implementation, Vancouver, ACM (2000)","DOI":"10.1145\/349299.349315"},{"key":"8_CR15","unstructured":"Necula, G. C.: Personal communication (2001)"},{"key":"8_CR16","doi-asserted-by":"crossref","unstructured":"Schneck, R. R., Necula, G. C.: A gradual approach to a more trustworthy, yet scalable, proof-carrying code. In: Proc. Conf. on Automated Deduction. (2002)","DOI":"10.1007\/3-540-45620-1_4"},{"key":"8_CR17","doi-asserted-by":"crossref","unstructured":"Shao, Z., League, C., Monnier, S.: Implementing typed intermediate languages. In: Proc. Int\u2019l Conf. Functional Programming, Baltimore, ACM (1998) 313\u2013323","DOI":"10.1145\/289423.289460"},{"key":"8_CR18","doi-asserted-by":"crossref","unstructured":"Appel, A. W.: SSA is functional programming. ACM SIGPLAN Notices (1998)","DOI":"10.1145\/278283.278285"},{"key":"8_CR19","doi-asserted-by":"publisher","first-page":"451","DOI":"10.1145\/115372.115320","volume":"13","author":"R. Cytron","year":"1991","unstructured":"Cytron, R., Ferrante, J., Rosen, B. K., Wegman, M. N., Zadeck, F. K.: Efficiently computing static single assignment form and the control dependence graph. ACM Trans. on Programming Languages and Systems 13 (1991) 451\u2013490","journal-title":"ACM Trans. on Programming Languages and Systems"},{"key":"8_CR20","doi-asserted-by":"crossref","unstructured":"Dean, J., Grove, D., Chambers, C.: Optimization of object-oriented programs using static class hierarchy analysis. In: Proc. European Conf. Object-Oriented Programming. (1995)","DOI":"10.1007\/3-540-49538-X_5"},{"key":"8_CR21","unstructured":"League, C., Trifonov, V., Shao, Z.: Functional Java bytecode. In: Proc. 5th World Conf. on Systemics, Cybernetics, and Informatics. (2001) Workshop on Intermediate Representation Engineering for the Java Virtual Machine."},{"key":"8_CR22","doi-asserted-by":"crossref","unstructured":"Shao, Z., Saha, B., Trifonov, V., Papaspyrou, N.: A type system for certified binaries. In: Proc. Symp. on Principles of Programming Languages. (2002)","DOI":"10.1145\/503272.503293"},{"key":"8_CR23","unstructured":"George, L.: Customizable and reusable code generators. Technical report, Bell Labs (1997)"},{"key":"8_CR24","doi-asserted-by":"crossref","unstructured":"Benton, N., Kennedy, A.: Interlanguage working without tears: Blending ML with Java. In: Proc. Int\u2019l Conf. Functional Programming, Paris, ACM (1999) 126\u2013137","DOI":"10.1145\/317636.317791"},{"key":"8_CR25","doi-asserted-by":"crossref","unstructured":"League, C.: A Type-Preserving Compiler Infrastructure. PhD thesis, Yale University (2002)","DOI":"10.21236\/ADA436496"},{"key":"8_CR26","unstructured":"Canning, P., Cook, W., Hill, W., Oltho., W., Mitchell, J. C.: F-bounded polymorphism for object-oriented programming. In: Proc. Int\u2019l Conf. on Functional Programming and Computer Architecture, ACM (1989) 273\u2013280"},{"key":"8_CR27","doi-asserted-by":"crossref","unstructured":"Castagna, G., Pierce, B. C.: Decidable bounded quantification. In: Proc. Symp. on Principles of Programming Languages, Portland, ACM (1994)","DOI":"10.1145\/174675.177844"},{"key":"8_CR28","doi-asserted-by":"crossref","unstructured":"Barendregt, H.: Typed lambda calculi. In Abramsky, S., Gabbay, D., Maibaum, T., eds.: Handbook of Logic in Computer Science. Volume 2. Oxford (1992)","DOI":"10.1093\/oso\/9780198537618.003.0002"},{"key":"8_CR29","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1145\/44501.45065","volume":"10","author":"J. C. Mitchell","year":"1988","unstructured":"Mitchell, J. C., Plotkin, G. D.: Abstract types have existential type. ACM Transactions on Programming Languages and Systems 10 (1988) 470\u2013502","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"8_CR30","unstructured":"Sch\u00fcrmann, C., Yu, D., Ni, Z.: An encoding of F-omega in LF. In: Proc.Workshop on Mechanized Reasoning about Languages with Variable Binding, Siena (2001)"},{"key":"8_CR31","doi-asserted-by":"crossref","unstructured":"Peyton Jones, S., Ramsey, N., Reig, F.: C\u2014: a portable assembly language that supports garbage collection. In Nadathur, G., ed.: Proc. Conf. on Principles and Practice of Declarative Programming. Springer (1999) 1\u201328","DOI":"10.1007\/10704567_1"},{"key":"8_CR32","doi-asserted-by":"crossref","unstructured":"Bothner, P.: A GCC-based Java implementation. In: Proc. IEEE Compcon. (1997)","DOI":"10.1109\/CMPCON.1997.584695"},{"key":"8_CR33","doi-asserted-by":"crossref","unstructured":"Benton, N., Kennedy, A., Russell, G.: Compiling Standard ML to Java bytecodes. In: Proc. Int\u2019l Conf. Functional Programming, Baltimore, ACM (1998) 129\u2013140","DOI":"10.1145\/289423.289435"},{"key":"8_CR34","series-title":"Lect Notes Comput Sci","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/BFb0055510","volume-title":"Proc. Int\u2019l Workshop on Types in Compilation","author":"A. Wright","year":"1998","unstructured":"Wright, A., Jagannathan, S., Ungureanu, C., Hertzmann, A.: Compiling Java to a typed lambda-calculus: A preliminary report. In: Proc. Int\u2019l Workshop on Types in Compilation. Volume 1473 of LNCS., Berlin, Springer (1998) 1\u201314"},{"key":"8_CR35","doi-asserted-by":"crossref","unstructured":"Glew, N.: An efficient class and object encoding. In: Proc. Conf. on Object-Oriented Programming Systems, Languages, and Applications, ACM (2000)","DOI":"10.1145\/353171.353192"},{"key":"8_CR36","doi-asserted-by":"crossref","unstructured":"Knoblock, T., Rehof, J.: Type elaboration and subtype completion for Java bytecode. In: Proc. Symp. on Principles of Programming Languages. (2000) 228\u2013242","DOI":"10.1145\/325694.325725"},{"key":"8_CR37","doi-asserted-by":"crossref","unstructured":"Gagnon, E., Hendren, L., Marceau, G.: Efficient inference of static types for Java bytecode. In: Proc. Static Analysis Symp. (2000)","DOI":"10.1007\/978-3-540-45099-3_11"},{"key":"8_CR38","doi-asserted-by":"crossref","unstructured":"Amme, W., Dalton, N., von Ronne, J., Franz, M.: SafeTSA: A type safe and referentially secure mobile-code representation based on static single assignment form. In: Proc. Conf. on Programming Language Design and Implementation, ACM (2001)","DOI":"10.1145\/378795.378825"}],"container-title":["Lecture Notes in Computer Science","Compiler Construction"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-36579-6_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,2,14]],"date-time":"2024-02-14T22:40:25Z","timestamp":1707950425000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-36579-6_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003]]},"ISBN":["9783540009047","9783540365792"],"references-count":38,"URL":"https:\/\/doi.org\/10.1007\/3-540-36579-6_8","relation":{},"ISSN":["0302-9743"],"issn-type":[{"type":"print","value":"0302-9743"}],"subject":[],"published":{"date-parts":[[2003]]}}}