{"id":"https://openalex.org/W2794883415","doi":"https://doi.org/10.22152/programming-journal.org/2018/2/14","title":"Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools","display_name":"Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools","publication_year":2018,"publication_date":"2018-03-28","ids":{"openalex":"https://openalex.org/W2794883415","doi":"https://doi.org/10.22152/programming-journal.org/2018/2/14","mag":"2794883415"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2018/2/14","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/14","pdf_url":"https://arxiv.org/pdf/1803.10201v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://arxiv.org/pdf/1803.10201v1","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5058699158","display_name":"Michael L. Van De Vanter","orcid":null},"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":"Michael Van De Vanter","raw_affiliation_strings":["Oracle Labs, United States"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, United States","institution_ids":["https://openalex.org/I1342911587"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037104076","display_name":"Chris Seaton","orcid":null},"institutions":[{"id":"https://openalex.org/I4210107681","display_name":"Oracle (United Kingdom)","ror":"https://ror.org/01pe8xs92","country_code":"GB","type":"company","lineage":["https://openalex.org/I1342911587","https://openalex.org/I4210107681"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Chris Seaton","raw_affiliation_strings":["Oracle Labs, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, United Kingdom","institution_ids":["https://openalex.org/I4210107681"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103954618","display_name":"Michael Haupt","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael Haupt","raw_affiliation_strings":["self, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"self, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5044392329","display_name":"Christian Humer","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Christian Humer","raw_affiliation_strings":["Oracle Labs, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Switzerland","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078436726","display_name":"Thomas W\u00fcrthinger","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Thomas W\u00fcrthinger","raw_affiliation_strings":["Oracle Labs, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Switzerland","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.5781,"has_fulltext":true,"cited_by_count":27,"citation_normalized_percentile":{"value":0.90025628,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"2","issue":"3","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T12127","display_name":"Software System Performance and Reliability","score":0.9987000226974487,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.9983000159263611,"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.8783068060874939},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.6752302646636963},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.5732815861701965},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4289427101612091},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4148194491863251},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.412077933549881},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.38982391357421875}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8783068060874939},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.6752302646636963},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5732815861701965},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4289427101612091},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4148194491863251},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.412077933549881},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.38982391357421875},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2018/2/14","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/14","pdf_url":"https://arxiv.org/pdf/1803.10201v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1803.10201","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1803.10201","pdf_url":"https://arxiv.org/pdf/1803.10201","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"doi:10.22152/programming-journal.org/2018/2/14","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2018/2/14","pdf_url":"https://arxiv.org/pdf/1803.10201v1","source":{"id":"https://openalex.org/S4210199781","display_name":"The Art Science and Engineering of Programming","issn_l":"2473-7321","issn":["2473-7321"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Art, Science, and Engineering of Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.44999998807907104}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2794883415.pdf","grobid_xml":"https://content.openalex.org/works/W2794883415.grobid-xml"},"referenced_works_count":1,"referenced_works":["https://openalex.org/W1501829296"],"related_works":["https://openalex.org/W2120447654","https://openalex.org/W2977179488","https://openalex.org/W2144453115","https://openalex.org/W2128223750","https://openalex.org/W4238532390","https://openalex.org/W562823126","https://openalex.org/W2106037662","https://openalex.org/W2188872161","https://openalex.org/W1530419332","https://openalex.org/W2045782830"],"abstract_inverted_index":{"Context:":[0],"Software":[1],"development":[2,323],"tools":[3,34,164,223,305,319],"that":[4,138,188,224,302],"interact":[5],"with":[6,83,182,296],"running":[7,53,260],"programs":[8],"such":[9,252],"as":[10,110,246,248,253,307],"debuggers,":[11],"profilers,":[12],"and":[13,29,47,100,148,152,156,190,222,273,335,341],"dynamic":[14,271],"analysis":[15],"frameworks":[16],"are":[17,35,275,281],"presumed":[18],"to":[19,102,128,133,179,208],"demand":[20],"difficult":[21],"tradeoffs":[22],"among":[23,150],"implementation":[24,72],"complexity":[25],"(cost),":[26],"functionality,":[27,43],"usability,":[28],"performance.Among":[30],"the":[31,76,84,107,134,300,314,337],"many":[32,161],"consequences,":[33],"often":[36],"delivered":[37],"late":[38],"(if":[39],"ever),":[40],"have":[41,286],"limited":[42],"require":[44],"non-standard":[45],"configurations,":[46],"impose":[48],"serious":[49],"performance":[50,92,105],"costs":[51],"on":[52,256],"programs.Inquiry:":[54],"Can":[55],"flexible":[56],"tool":[57,293],"support":[58,157,306],"become":[59],"a":[60,67,173,176,308,325],"practical,":[61,317],"first":[62],"class,":[63],"intrinsic":[64],"requirement":[65],"for":[66,143,159,172,226,239,263,291,320],"modern":[68],"highperformance":[69,321],"programming":[70],"language":[71,93,112,244,329],"framework?Approach:":[73],"We":[74],"extended":[75],"Truffle":[77,289,297],"Language":[78,135],"Implementation":[79,136],"Framework,":[80],"which":[81],"together":[82],"GraalVM":[85,220,250,279],"execution":[86,121,194,212],"environment":[87,178],"makes":[88],"possible":[89,171],"very":[90,202],"high":[91,104],"implementations.Truffle's":[94],"new":[95],"Instrumentation":[96,114,290,298],"Framework":[97,137],"is":[98,169],"language-agnostic":[99],"designed":[101],"derive":[103],"from":[106],"same":[108],"technologies":[109],"do":[111],"implementations.Truffle":[113],"includes:":[115],"(1)":[116],"low":[117,203],"overhead":[118,204],"capture":[119,214],"of":[120,146,163,218,278,316,328,339],"events":[122],"by":[123,259],"dynamically":[124],"adding":[125],"\"wrapper\"":[126],"nodes":[127],"executing":[129],"ASTs;":[130],"(2)":[131],"extensions":[132],"allow":[139],"per-language":[140],"specialization,":[141],"primarily":[142],"visual":[144],"display":[145],"values":[147],"names,":[149],"others;":[151],"(3)":[153],"versatile":[154],"APIs":[155],"services":[158,221,251],"implementing":[160,240],"kinds":[162],"without":[165],"VM":[166],"modification.Knowledge:":[167],"It":[168],"now":[170,276],"client":[174],"in":[175,197,233,282],"production":[177],"insert":[180],"(dynamically,":[181],"thread":[183],"safety)":[184],"an":[185],"instrumentation":[186],"probe":[187,196],"captures":[189],"reports":[191],"abstractly":[192],"specified":[193],"events.A":[195],"fully":[198],"optimized":[199],"code":[200],"imposes":[201],"until":[205],"actually":[206],"used":[207,288],"access":[209],"(or":[210],"modify)":[211],"state.Event":[213],"has":[215,235],"enabled":[216],"construction":[217],"numerous":[219],"work":[225],"all":[227],"implemented":[228],"languages,":[229],"either":[230],"singly":[231],"or":[232,280],"combination.Instrumentation":[234],"also":[236,287],"proved":[237],"valuable":[238],"some":[241,249],"traditionally":[242],"tricky":[243],"features,":[245],"well":[247],"placing":[254],"bounds":[255],"resources":[257],"consumed":[258],"programs.Grounding:":[261],"Tools":[262],"debugging":[264],"(via":[265],"multiple":[266],"clients),":[267],"profiling,":[268],"statement":[269],"counting,":[270],"analysis,":[272],"others":[274],"part":[277,327],"active":[283],"development.Third":[284],"parties":[285],"innovative":[292],"implementations.Importance:":[294],"Experience":[295],"validates":[299],"notion":[301],"addressing":[303],"developer":[304],"forethought":[309],"can":[310],"change":[311],"expectations":[312],"about":[313],"availability":[315],"efficient":[318],"languages.Tool":[322],"becomes":[324],"natural":[326],"implementation,":[330],"requiring":[331],"little":[332],"additional":[333],"effort":[334],"offering":[336],"advantage":[338],"early":[340],"continuous":[342],"availability.":[343]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":1}],"updated_date":"2026-08-12T07:12:00.856984","created_date":"2018-04-06T00:00:00"}
