{"id":"https://openalex.org/W2069902027","doi":"https://doi.org/10.1145/2384716.2384723","title":"Truffle: a self-optimizing runtime system","display_name":"Truffle: a self-optimizing runtime system","publication_year":2012,"publication_date":"2012-10-18","ids":{"openalex":"https://openalex.org/W2069902027","doi":"https://doi.org/10.1145/2384716.2384723","mag":"2069902027"},"language":"en","primary_location":{"id":"doi:10.1145/2384716.2384723","doi":"https://doi.org/10.1145/2384716.2384723","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2384716.2384723","pdf_url":null,"source":{"id":"https://openalex.org/S7407086162","display_name":"ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH)","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 3rd annual conference on Systems, programming, and applications: software for humanity","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/A5013620492","display_name":"Christian L. Wimmer","orcid":"https://orcid.org/0000-0003-4691-4265","observed_orcids":["https://orcid.org/0000-0003-4691-4265"]},"institutions":[{"id":"https://openalex.org/I1342911587","display_name":"Oracle (United States)","ror":"https://ror.org/006c77m33","country_code":"US","type":"company","lineage":["https://openalex.org/I1342911587"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Christian Wimmer","raw_affiliation_strings":["Oracle Labs, Redwood Shores, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Redwood Shores, CA, USA","institution_ids":["https://openalex.org/I1342911587"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078436726","display_name":"Thomas W\u00fcrthinger","orcid":"https://orcid.org/0009-0007-0441-5173","observed_orcids":["https://orcid.org/0009-0007-0441-5173"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Thomas W\u00fcrthinger","raw_affiliation_strings":["Oracle Labs, Linz, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Linz, Austria","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.3867,"has_fulltext":false,"cited_by_count":120,"citation_normalized_percentile":{"value":0.89826916,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"13","last_page":"14"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9740999937057495,"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":0.9740999937057495,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.020800000056624413,"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.0005000000237487257,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/truffles","display_name":"truffles","score":0.8450000286102295},{"id":"https://openalex.org/keywords/managed-languages","display_name":"managed languages","score":0.7279999852180481},{"id":"https://openalex.org/keywords/tree-rewriting","display_name":"tree rewriting","score":0.9760000109672546},{"id":"https://openalex.org/keywords/partial-evaluation","display_name":"partial evaluation","score":0.8040000200271606},{"id":"https://openalex.org/keywords/graal","display_name":"GRAAL","score":0.4309999942779541},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"just-in-time compilation","score":0.9200000166893005},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.46799999475479126},{"id":"https://openalex.org/keywords/j-programming-language","display_name":"J programming language","score":0.8370000123977661},{"id":"https://openalex.org/keywords/array-programming-language","display_name":"array programming language","score":0.8119999766349792},{"id":"https://openalex.org/keywords/dynamic-typing","display_name":"dynamic typing","score":0.4350000023841858},{"id":"https://openalex.org/keywords/programming-language-implementation","display_name":"programming language implementation","score":0.550000011920929}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8673118352890015},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7962208390235901},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6624764204025269},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.5476258993148804},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5451710224151611},{"id":"https://openalex.org/C201997060","wikidata":"https://www.wikidata.org/wiki/Q4117406","display_name":"Programming language implementation","level":5,"score":0.5292902588844299},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.5050674080848694},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.2414848506450653},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.1120518147945404},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.11154341697692871}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2384716.2384723","doi":"https://doi.org/10.1145/2384716.2384723","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2384716.2384723","pdf_url":null,"source":{"id":"https://openalex.org/S7407086162","display_name":"ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity (SPLASH)","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 3rd annual conference on Systems, programming, and applications: software for humanity","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":4,"referenced_works":["https://openalex.org/W1993335798","https://openalex.org/W2058213389","https://openalex.org/W2091228796","https://openalex.org/W2159558457"],"related_works":["https://openalex.org/W2018107877","https://openalex.org/W2889098827","https://openalex.org/W6987787794","https://openalex.org/W2979495078","https://openalex.org/W2759895039","https://openalex.org/W2064918005","https://openalex.org/W6941182630","https://openalex.org/W2794883415","https://openalex.org/W7131088976","https://openalex.org/W2741254607"],"abstract_inverted_index":{"We":[0],"present":[1,103],"Truffle,":[2],"a":[3,58,96],"novel":[4],"framework":[5,24],"for":[6],"implementing":[7],"managed":[8],"languages":[9],"in":[10,22],"Java\u2122.":[11],"The":[12,70],"language":[13,100],"implementer":[14],"writes":[15],"an":[16],"AST":[17,30],"interpreter,":[18],"which":[19],"is":[20,73],"integrated":[21],"our":[23,81],"that":[25,93],"allows":[26],"tree":[27,47,56,65],"rewriting":[28],"during":[29],"interpretation.":[31],"Tree":[32],"rewrites":[33],"incorporate":[34],"type":[35],"feedback":[36],"and":[37,48,113],"other":[38],"profiling":[39],"information":[40],"into":[41,66],"the":[42,46,55,64,77,87],"tree,":[43],"thus":[44],"specializing":[45],"augmenting":[49],"it":[50],"with":[51],"run-time":[52],"information.":[53],"When":[54],"reaches":[57],"stable":[59],"state,":[60],"partial":[61,71],"evaluation":[62,72],"compiles":[63],"optimized":[67],"machine":[68],"code.":[69],"done":[74],"by":[75],"Graal,":[76],"just-in-time":[78],"compiler":[79],"of":[80,86,98,106],"Java":[82,88],"VM":[83],"(a":[84,108],"variation":[85],"HotSpot":[89],"VM).":[90],"To":[91],"show":[92],"Truffle":[94],"supports":[95],"variety":[97],"programming":[99,111,117],"paradigms,":[101],"we":[102],"prototype":[104],"implementations":[105],"JavaScript":[107],"dynamically":[109],"typed":[110],"language)":[112],"J":[114],"(an":[115],"array":[116],"language).":[118]},"counts_by_year":[{"year":2026,"cited_by_count":5},{"year":2025,"cited_by_count":12},{"year":2024,"cited_by_count":10},{"year":2023,"cited_by_count":8},{"year":2022,"cited_by_count":12},{"year":2021,"cited_by_count":14},{"year":2020,"cited_by_count":10},{"year":2019,"cited_by_count":7},{"year":2018,"cited_by_count":14},{"year":2017,"cited_by_count":8},{"year":2016,"cited_by_count":7},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":3}],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
