{"id":"https://openalex.org/W1966130668","doi":"https://doi.org/10.1145/292540.292549","title":"A simple, comprehensive type system for Java bytecode subroutines","display_name":"A simple, comprehensive type system for Java bytecode subroutines","publication_year":1999,"publication_date":"1999-01-01","ids":{"openalex":"https://openalex.org/W1966130668","doi":"https://doi.org/10.1145/292540.292549","mag":"1966130668"},"language":"en","primary_location":{"id":"doi:10.1145/292540.292549","doi":"https://doi.org/10.1145/292540.292549","is_oa":false,"landing_page_url":"https://doi.org/10.1145/292540.292549","pdf_url":null,"source":{"id":"https://openalex.org/S7407088133","display_name":"ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5067957452","display_name":"Robert O'Callahan","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Robert O'Callahan","raw_affiliation_strings":["Carnegie Mellon University, 500 Forbes Avenue, Pittsburgh, PA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University, 500 Forbes Avenue, Pittsburgh, PA","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5067957452"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":5.0854,"has_fulltext":false,"cited_by_count":55,"citation_normalized_percentile":{"value":0.96361799,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":93},"biblio":{"volume":null,"issue":null,"first_page":"70","last_page":"78"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.0,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/type-systems","display_name":"type systems","score":0.7599999904632568},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.8730000257492065},{"id":"https://openalex.org/keywords/subroutines","display_name":"subroutines","score":0.6729999780654907},{"id":"https://openalex.org/keywords/type-soundness","display_name":"type soundness","score":0.8939999938011169},{"id":"https://openalex.org/keywords/type-constraints","display_name":"type constraints","score":0.8090000152587891},{"id":"https://openalex.org/keywords/polymorphic-recursion","display_name":"polymorphic recursion","score":0.9950000047683716},{"id":"https://openalex.org/keywords/continuations","display_name":"continuations","score":0.9959999918937683},{"id":"https://openalex.org/keywords/bytecode-verification","display_name":"bytecode verification","score":0.5929999947547913},{"id":"https://openalex.org/keywords/java-virtual-machine","display_name":"Java Virtual Machine","score":0.7179999947547913}],"concepts":[{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.9442453384399414},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8496361970901489},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8455064296722412},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.813066303730011},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.7204800248146057},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.68595951795578},{"id":"https://openalex.org/C96147967","wikidata":"https://www.wikidata.org/wiki/Q190686","display_name":"Subroutine","level":2,"score":0.591181218624115},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5796223282814026},{"id":"https://openalex.org/C96324660","wikidata":"https://www.wikidata.org/wiki/Q205446","display_name":"Dataflow","level":2,"score":0.5667104125022888},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.4652107357978821},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4576081931591034},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.44505512714385986},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.4434519112110138},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.4070817828178406},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.3081906735897064},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.13713997602462769},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.09709343314170837},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/292540.292549","doi":"https://doi.org/10.1145/292540.292549","is_oa":false,"landing_page_url":"https://doi.org/10.1145/292540.292549","pdf_url":null,"source":{"id":"https://openalex.org/S7407088133","display_name":"ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W4015096","https://openalex.org/W1514258760","https://openalex.org/W1820096046","https://openalex.org/W1964952791","https://openalex.org/W2035069210","https://openalex.org/W2095629885","https://openalex.org/W2095851537","https://openalex.org/W2105360973","https://openalex.org/W2168734799"],"related_works":["https://openalex.org/W2031833469","https://openalex.org/W7095163529","https://openalex.org/W4235014231","https://openalex.org/W2112796584","https://openalex.org/W7096541863","https://openalex.org/W7095439103","https://openalex.org/W1561142965","https://openalex.org/W4249764155","https://openalex.org/W2168448595","https://openalex.org/W7096467321"],"abstract_inverted_index":{"A":[0],"type":[1,26,49,56,70,85,139],"system":[2,27,71,79],"with":[3],"proven":[4],"soundness":[5],"is":[6,80,113],"a":[7,25,30],"prerequisite":[8],"for":[9,72],"the":[10,35,38,122],"safe":[11],"and":[12,60,67,75,82,98],"efficient":[13],"execution":[14],"of":[15,37,55,105,121,136],"Java":[16,40,96,107],"bytecode":[17,43,73],"programs.":[18],"So":[19],"far,":[20],"efforts":[21],"to":[22,65,84],"construct":[23],"such":[24,111],"have":[28],"followed":[29],"forward":[31],"dataflow":[32],"approach,":[33],"in":[34,102],"spirit":[36],"original":[39],"Virtual":[41],"Machine":[42],"verifier.":[44],"We":[45,62,118],"present":[46],"an":[47],"alternative":[48],"system,":[50],"based":[51],"on":[52],"conventional":[53],"ideas":[54],"constraints,":[57],"polymorphic":[58],"recursion":[59],"continuations.":[61],"compare":[63],"it":[64],"Stata":[66],"Abadi's":[68],"JVML-0":[69],"subroutines,":[74],"demonstrate":[76],"that":[77,91,110,132],"our":[78,137],"simpler":[81,138],"able":[83],"strictly":[86],"more":[87],"programs,":[88],"including":[89],"code":[90,112],"could":[92],"be":[93,100],"produced":[94],"by":[95,127,130],"compilers":[97],"cannot":[99],"typed":[101],"JVML-0.":[103],"Examination":[104],"real":[106],"programs":[108],"shows":[109],"rare":[114],"but":[115],"does":[116],"occur.":[117],"explain":[119],"some":[120],"apparently":[123],"arbitrary":[124],"constraints":[125],"imposed":[126],"previous":[128],"approaches":[129],"showing":[131],"they":[133],"are":[134],"consequences":[135],"rules,":[140],"or":[141],"actually":[142],"unnecessary.":[143]},"counts_by_year":[{"year":2018,"cited_by_count":1}],"updated_date":"2026-10-05T09:50:58.205359","created_date":"2016-06-24T00:00:00"}
