{"id":"https://openalex.org/W2075090836","doi":"https://doi.org/10.1145/2807426.2807440","title":"Mining Method Handle Graphs for Efficient Dynamic JVM Languages","display_name":"Mining Method Handle Graphs for Efficient Dynamic JVM Languages","publication_year":2015,"publication_date":"2015-09-08","ids":{"openalex":"https://openalex.org/W2075090836","doi":"https://doi.org/10.1145/2807426.2807440","mag":"2075090836"},"language":"en","primary_location":{"id":"doi:10.1145/2807426.2807440","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2807426.2807440","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Principles and Practices of Programming on The Java Platform","raw_type":"proceedings-article"},"type":"conference-paper","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/A5101411240","display_name":"Shijie Xu","orcid":"https://orcid.org/0000-0001-6522-5778"},"institutions":[{"id":"https://openalex.org/I106938459","display_name":"University of New Brunswick","ror":"https://ror.org/05nkf0n29","country_code":"CA","type":"education","lineage":["https://openalex.org/I106938459"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Shijie Xu","raw_affiliation_strings":["IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3","IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3","institution_ids":["https://openalex.org/I106938459"]},{"raw_affiliation_string":"IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3#TAB#","institution_ids":["https://openalex.org/I106938459"]}]},{"author_position":"middle","author":{"id":null,"display_name":"David Bremner","orcid":null},"institutions":[{"id":"https://openalex.org/I106938459","display_name":"University of New Brunswick","ror":"https://ror.org/05nkf0n29","country_code":"CA","type":"education","lineage":["https://openalex.org/I106938459"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"David Bremner","raw_affiliation_strings":["IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3","IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3","institution_ids":["https://openalex.org/I106938459"]},{"raw_affiliation_string":"IBM Centre for Advanced Studies (CAS Atlantic), University of New Brunswick, Fredericton, Canada E3B 5A3#TAB#","institution_ids":["https://openalex.org/I106938459"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5023800413","display_name":"Daniel Heidinga","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Daniel Heidinga","raw_affiliation_strings":["IBM Ottawa, 770 Palladium Dr, Ottawa, ON, Canada, K2V 1C8"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Ottawa, 770 Palladium Dr, Ottawa, ON, Canada, K2V 1C8","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":2,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"159","last_page":"169"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9980999827384949,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9975000023841858,"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/computer-science","display_name":"Computer science","score":0.9140523672103882},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.8782413005828857},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7983723878860474},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.691899836063385},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.6395021677017212},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.5574573874473572},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.48911672830581665},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.477083295583725},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.45446884632110596},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.4488546848297119},{"id":"https://openalex.org/keywords/virtual-machine","display_name":"Virtual machine","score":0.44637757539749146},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.42529332637786865},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.3478090167045593},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.3273763656616211}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9140523672103882},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.8782413005828857},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7983723878860474},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.691899836063385},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.6395021677017212},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.5574573874473572},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.48911672830581665},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.477083295583725},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.45446884632110596},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.4488546848297119},{"id":"https://openalex.org/C25344961","wikidata":"https://www.wikidata.org/wiki/Q192726","display_name":"Virtual machine","level":2,"score":0.44637757539749146},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.42529332637786865},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.3478090167045593},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.3273763656616211}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2807426.2807440","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2807426.2807440","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Principles and Practices of Programming on The Java Platform","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G8454967535","display_name":null,"funder_award_id":"195163","funder_id":"https://openalex.org/F4320323028","funder_display_name":"Atlantic Canada Opportunities Agency"}],"funders":[{"id":"https://openalex.org/F4320323028","display_name":"Atlantic Canada Opportunities Agency","ror":"https://ror.org/03jp5g380"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W1981602871","https://openalex.org/W1982450011","https://openalex.org/W2033370780","https://openalex.org/W2053610489","https://openalex.org/W2077956834","https://openalex.org/W2086014732","https://openalex.org/W2100886660","https://openalex.org/W2294532279","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2138972873","https://openalex.org/W2464014640","https://openalex.org/W1970806266","https://openalex.org/W1902013399","https://openalex.org/W2408282970","https://openalex.org/W2008905239","https://openalex.org/W2293062955","https://openalex.org/W2350074571","https://openalex.org/W2066444215","https://openalex.org/W3213724464"],"abstract_inverted_index":{"The":[0,23],"Java":[1,55],"Virtual":[2],"Machine":[3],"(JVM)":[4],"has":[5,59],"been":[6,60],"used":[7],"as":[8,18],"an":[9,45],"execution":[10],"platform":[11],"by":[12],"many":[13],"dynamically-typed":[14],"programming":[15],"languages":[16,31],"such":[17,28],"Ruby,":[19],"Python,":[20],"and":[21,72,93],"Groovy.":[22],"main":[24],"challenge":[25],"to":[26,64,84,89,99,115],"compile":[27],"dynamic":[29],"JVM":[30],"is":[32,87],"choosing":[33],"the":[34,66,90,97],"most":[35],"appropriate":[36],"implementation":[37],"of":[38,44,107],"a":[39,53,69,73,79,85,100,104,108,123],"method":[40,74,80,86,106,109,117,120],"for":[41],"various":[42],"types":[43],"object":[46],"at":[47],"runtime.":[48],"To":[49],"address":[50],"this":[51,77],"challenge,":[52],"new":[54],"bytecode":[56],"instruction,":[57,78],"invokedynamic,":[58],"introduced,":[61],"allowing":[62],"users":[63],"control":[65],"linkage":[67],"between":[68],"call":[70,91],"site":[71,92],"implementation.":[75,102],"With":[76],"handle":[81,110],"that":[82],"refers":[83],"linked":[88],"then":[94],"potentially":[95],"transforms":[96],"invocation":[98],"real":[101],"As":[103],"referenced":[105],"might":[111],"in":[112],"turn":[113],"refer":[114],"other":[116],"handles,":[118],"multiple":[119],"handles":[121],"constitute":[122],"Method":[124],"Handle":[125],"Graph":[126],"(MHG).":[127]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1}],"updated_date":"2026-07-21T08:15:58.654021","created_date":"2025-10-10T00:00:00"}
