{"id":"https://openalex.org/W2105360973","doi":"https://doi.org/10.1145/268946.268959","title":"A type system for Java bytecode subroutines","display_name":"A type system for Java bytecode subroutines","publication_year":1998,"publication_date":"1998-01-01","ids":{"openalex":"https://openalex.org/W2105360973","doi":"https://doi.org/10.1145/268946.268959","mag":"2105360973"},"language":"en","primary_location":{"id":"doi:10.1145/268946.268959","doi":"https://doi.org/10.1145/268946.268959","is_oa":true,"landing_page_url":"https://doi.org/10.1145/268946.268959","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/268946.268959","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 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/268946.268959","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5111970544","display_name":"Raymie Stata","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Raymie Stata","raw_affiliation_strings":["Digital Equipment Corporation, Systems Research Center"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Digital Equipment Corporation, Systems Research Center","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109387322","display_name":"Mart\u00edn Abadi","orcid":"https://orcid.org/0000-0001-9673-3476","observed_orcids":["https://orcid.org/0000-0001-9673-3476"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Mart\u00edn Abadi","raw_affiliation_strings":["Digital Equipment Corporation, Systems Research Center"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Digital Equipment Corporation, Systems Research Center","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":17.1477,"has_fulltext":true,"cited_by_count":159,"citation_normalized_percentile":{"value":0.99765533,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"149","last_page":"160"},"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/java-virtual-machine","display_name":"Java Virtual Machine","score":0.7020000219345093},{"id":"https://openalex.org/keywords/bytecode-verification","display_name":"bytecode verification","score":0.8149999976158142},{"id":"https://openalex.org/keywords/type-systems","display_name":"type systems","score":0.8640000224113464},{"id":"https://openalex.org/keywords/typing-rules","display_name":"typing rules","score":0.5649999976158142},{"id":"https://openalex.org/keywords/type-soundness","display_name":"type soundness","score":0.6019999980926514},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.49300000071525574},{"id":"https://openalex.org/keywords/security-verification","display_name":"security verification","score":0.3569999933242798},{"id":"https://openalex.org/keywords/polymorphism","display_name":"polymorphism","score":0.6589999794960022}],"concepts":[{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.8107246160507202},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.7808693647384644},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7689626812934875},{"id":"https://openalex.org/C96147967","wikidata":"https://www.wikidata.org/wiki/Q190686","display_name":"Subroutine","level":2,"score":0.7198264002799988},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6782861948013306},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6572576761245728},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4137958884239197},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.2561376392841339},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.2005411982536316}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/268946.268959","doi":"https://doi.org/10.1145/268946.268959","is_oa":true,"landing_page_url":"https://doi.org/10.1145/268946.268959","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/268946.268959","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 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/268946.268959","doi":"https://doi.org/10.1145/268946.268959","is_oa":true,"landing_page_url":"https://doi.org/10.1145/268946.268959","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/268946.268959","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 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '98","raw_type":"proceedings-article"},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2105360973.pdf","grobid_xml":"https://content.openalex.org/works/W2105360973.grobid-xml"},"referenced_works_count":8,"referenced_works":["https://openalex.org/W60185894","https://openalex.org/W1514258760","https://openalex.org/W1553537175","https://openalex.org/W1570258731","https://openalex.org/W1820096046","https://openalex.org/W1989536180","https://openalex.org/W2025672027","https://openalex.org/W2035069210"],"related_works":["https://openalex.org/W7095163529","https://openalex.org/W2787611639","https://openalex.org/W1966130668","https://openalex.org/W4235014231","https://openalex.org/W2168448595","https://openalex.org/W7096467321","https://openalex.org/W7095439103","https://openalex.org/W7095332313","https://openalex.org/W4249764155","https://openalex.org/W3014466547"],"abstract_inverted_index":{"Java":[0,14],"is":[1,10,21],"typically":[2],"compiled":[3],"into":[4],"an":[5,120],"intermediate":[6],"language,":[7],"JVML,":[8],"that":[9,31],"interpreted":[11],"by":[12],"the":[13,37,40,58,84,98],"Virtual":[15],"Machine.":[16],"Because":[17],"mobile":[18],"JVML":[19],"code":[20],"not":[22,104],"always":[23],"trusted,":[24],"a":[25,79,92,111,141,148,152],"bytecode":[26,41,59,99,145,157],"verifier":[27,42,60,100],"enforces":[28],"static":[29],"constraints":[30],"prevent":[32],"various":[33],"dynamic":[34],"errors.":[35],"Given":[36],"importance":[38],"of":[39,86,95,113,124,151,155],"for":[43,83,97,130,144],"security,":[44],"its":[45],"current":[46],"descriptions":[47],"are":[48,63,91,103],"inadequate.":[49],"This":[50],"paper":[51],"proposes":[52],"using":[53],"typing":[54,128],"rules":[55,129],"to":[56,73],"describe":[57],"because":[61,101,108],"they":[62,102,109],"more":[64],"precise":[65],"than":[66,69,76],"prose,":[67],"clearer":[68],"code,":[70],"and":[71,107,133,147],"easier":[72],"reason":[74],"about":[75],"either.JVML":[77],"has":[78],"subroutine":[80],"construct":[81],"used":[82],"compilation":[85],"Java's":[87],"try-finally":[88],"statement.":[89],"Subroutines":[90],"major":[93],"source":[94],"complexity":[96],"obviously":[105],"last-in/first-out":[106],"require":[110],"kind":[112],"polymorphism.":[114],"Focusing":[115],"on":[116],"subroutines,":[117],"we":[118],"isolate":[119],"interesting,":[121],"small":[122],"subset":[123,132],"JVML.":[125],"We":[126],"give":[127],"this":[131],"prove":[134],"their":[135],"correctness.":[136],"Our":[137],"type":[138],"system":[139],"constitutes":[140],"sound":[142],"basis":[143],"verification":[146],"rational":[149],"reconstruction":[150],"delicate":[153],"part":[154],"Sun's":[156],"verifier.":[158]},"counts_by_year":[{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2026-11-10T11:39:43.021295","created_date":"2016-06-24T00:00:00"}
