{"id":"https://openalex.org/W2552428928","doi":"https://doi.org/10.4230/darts.2.1.5","title":"Magic with Dynamo \u2013 Flexible Cross-Component Linking for Java with Invokedynamic (Artifact)","display_name":"Magic with Dynamo \u2013 Flexible Cross-Component Linking for Java with Invokedynamic (Artifact)","publication_year":2016,"publication_date":"2016-01-01","ids":{"openalex":"https://openalex.org/W2552428928","doi":"https://doi.org/10.4230/darts.2.1.5","mag":"2552428928"},"language":"en","primary_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:6126","is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/DARTS.2.1.5","pdf_url":null,"source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"","raw_type":"Article"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://drops.dagstuhl.de/entities/document/10.4230/DARTS.2.1.5","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5110672260","display_name":"Kamil Je\u017eek","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Jezek, Kamil","raw_affiliation_strings":[],"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5075091948","display_name":"Jens Dietrich","orcid":"https://orcid.org/0000-0001-9019-6550"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Dietrich, Jens","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5110672260"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.12986647,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"2","issue":null,"first_page":"2","last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9977999925613403,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9977999925613403,"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/T11424","display_name":"Security and Verification in Computing","score":0.9973999857902527,"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/T10126","display_name":"Logic, programming, and type systems","score":0.993399977684021,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8381025791168213},{"id":"https://openalex.org/keywords/java-bytecode","display_name":"Java bytecode","score":0.693869948387146},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6436609625816345},{"id":"https://openalex.org/keywords/component","display_name":"Component (thermodynamics)","score":0.5128336548805237},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5119310617446899},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.48533669114112854},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.4242097735404968},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.34763357043266296},{"id":"https://openalex.org/keywords/java-annotation","display_name":"Java annotation","score":0.22630858421325684},{"id":"https://openalex.org/keywords/java-applet","display_name":"Java applet","score":0.22198745608329773}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8381025791168213},{"id":"https://openalex.org/C2777472213","wikidata":"https://www.wikidata.org/wiki/Q137496","display_name":"Java bytecode","level":5,"score":0.693869948387146},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6436609625816345},{"id":"https://openalex.org/C168167062","wikidata":"https://www.wikidata.org/wiki/Q1117970","display_name":"Component (thermodynamics)","level":2,"score":0.5128336548805237},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5119310617446899},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.48533669114112854},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.4242097735404968},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.34763357043266296},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.22630858421325684},{"id":"https://openalex.org/C15524039","wikidata":"https://www.wikidata.org/wiki/Q865817","display_name":"Java applet","level":3,"score":0.22198745608329773},{"id":"https://openalex.org/C97355855","wikidata":"https://www.wikidata.org/wiki/Q11473","display_name":"Thermodynamics","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:drops-oai.dagstuhl.de:6126","is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/DARTS.2.1.5","pdf_url":null,"source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"","raw_type":"Article"},{"id":"doi:10.4230/darts.2.1.5","is_oa":true,"landing_page_url":"https://doi.org/10.4230/darts.2.1.5","pdf_url":null,"source":{"id":"https://openalex.org/S7407052059","display_name":"Dagstuhl Research Online Publication Server","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":""},{"id":"mag:2552428928","is_oa":false,"landing_page_url":"https://drops.dagstuhl.de/opus/volltexte/2016/6126/pdf/DARTS-2-1-5.pdf/","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":null}],"best_oa_location":{"id":"pmh:oai:drops-oai.dagstuhl.de:6126","is_oa":true,"landing_page_url":"https://drops.dagstuhl.de/entities/document/10.4230/DARTS.2.1.5","pdf_url":null,"source":{"id":"https://openalex.org/S4377196569","display_name":"DROPS (Schloss Dagstuhl \u2013 Leibniz Center for Informatics)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I2799853480","host_organization_name":"Schloss Dagstuhl \u2013 Leibniz Center for Informatics","host_organization_lineage":["https://openalex.org/I2799853480"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"","raw_type":"Article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2546989706","https://openalex.org/W605834970","https://openalex.org/W155597923","https://openalex.org/W2141753159","https://openalex.org/W1976394633","https://openalex.org/W1517116390","https://openalex.org/W2947276825","https://openalex.org/W1508742040","https://openalex.org/W2772827996","https://openalex.org/W2084025113","https://openalex.org/W2101786162","https://openalex.org/W2040856861","https://openalex.org/W2126614224","https://openalex.org/W2043664979","https://openalex.org/W2790991633","https://openalex.org/W2560105213","https://openalex.org/W2093760065","https://openalex.org/W3065800921","https://openalex.org/W2099044956","https://openalex.org/W1965275787"],"abstract_inverted_index":{"Modern":[0],"software":[1],"systems":[2,24],"are":[3,20],"not":[4],"built":[5],"from":[6],"scratch.":[7],"They":[8],"use":[9,65,130],"functionality":[10],"provided":[11],"by":[12],"libraries.":[13,52],"These":[14],"libraries":[15],"evolve":[16],"and":[17,40,43,115,123,141],"often":[18],"upgrades":[19],"deployed":[21],"without":[22],"the":[23,36,44,64,105,129,132],"being":[25],"recompiled.":[26],"In":[27],"Java,":[28],"this":[29,60,88],"process":[30],"is":[31,78],"particularly":[32],"error-prone":[33],"due":[34],"to":[35,58,80,93],"mismatch":[37],"between":[38],"source":[39],"binary":[41],"compatibility,":[42],"lack":[45],"of":[46,66,76,131,139],"API":[47],"stability":[48],"in":[49,149],"many":[50],"popular":[51],"We":[53,85,103],"propose":[54],"a":[55,95,108],"novel":[56],"approach":[57,118],"mitigate":[59],"problem":[61],"based":[62],"on":[63],"invokedynamic":[67,77],"instructions":[68],"for":[69],"cross-component":[70],"method":[71],"invocations.":[72],"The":[73],"dispatch":[74],"mechanism":[75],"used":[79,92],"provide":[81],"on-the-fly":[82],"signature":[83],"adaptation.":[84],"show":[86],"how":[87,128],"idea":[89],"can":[90,135],"be":[91],"construct":[94],"Java":[96],"compiler":[97,134],"that":[98,145],"produces":[99],"more":[100],"resilient":[101],"bytecode.":[102],"present":[104],"dynamo":[106,133],"compiler,":[107,114],"proof-of-concept":[109],"implemented":[110],"as":[111],"javac":[112],"post":[113],"evaluate":[116],"our":[117],"using":[119],"several":[120],"benchmark":[121],"examples":[122],"two":[124],"case":[125],"studies":[126],"showing":[127],"prevent":[136],"certain":[137],"types":[138],"linkage":[140],"stack":[142],"overflow":[143],"errors":[144],"have":[146],"been":[147],"observed":[148],"real-world":[150],"systems.":[151]},"counts_by_year":[],"updated_date":"2025-11-06T06:51:31.235846","created_date":"2025-10-10T00:00:00"}
