{"id":"https://openalex.org/W4392389956","doi":"https://doi.org/10.22152/programming-journal.org/2024/8/16","title":"LiveRec: Prototyping Probes by Framing Debug Protocols","display_name":"LiveRec: Prototyping Probes by Framing Debug Protocols","publication_year":2024,"publication_date":"2024-02-15","ids":{"openalex":"https://openalex.org/W4392389956","doi":"https://doi.org/10.22152/programming-journal.org/2024/8/16"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2024/8/16","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2024/8/16","pdf_url":"https://arxiv.org/pdf/2403.02161.pdf","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/2403.02161.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5052334161","display_name":"Jean-Baptiste D\u00f6derlein","orcid":null},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"facility","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832","https://openalex.org/I4405262988"]},{"id":"https://openalex.org/I4210146044","display_name":"\u00c9cole Normale Sup\u00e9rieure de Rennes","ror":"https://ror.org/03rxtdc22","country_code":"FR","type":"education","lineage":["https://openalex.org/I4210146044","https://openalex.org/I56067802"]}],"countries":["FR","NL"],"is_corresponding":true,"raw_author_name":"Jean-Baptiste D\u00f6derlein","raw_affiliation_strings":["ENS Rennes, France","Centrum Wiskunde & Informatica (CWI), Amsterdam, The Netherlands","ENS Rennes, Bruz, France"],"affiliations":[{"raw_affiliation_string":"ENS Rennes, France","institution_ids":["https://openalex.org/I4210146044"]},{"raw_affiliation_string":"Centrum Wiskunde & Informatica (CWI), Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I1341640284"]},{"raw_affiliation_string":"ENS Rennes, Bruz, France","institution_ids":["https://openalex.org/I4210146044"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5017886100","display_name":"Riemer van Rozen","orcid":"https://orcid.org/0000-0002-3834-682X"},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"facility","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832","https://openalex.org/I4405262988"]},{"id":"https://openalex.org/I169381384","display_name":"University of Groningen","ror":"https://ror.org/012p63287","country_code":"NL","type":"education","lineage":["https://openalex.org/I169381384"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Riemer van Rozen","raw_affiliation_strings":["CWI, Netherlands","University of Groningen, Groningen, The Netherlands","Centrum Wiskunde & Informatica (CWI), Amsterdam, The Netherlands"],"affiliations":[{"raw_affiliation_string":"CWI, Netherlands","institution_ids":["https://openalex.org/I1341640284"]},{"raw_affiliation_string":"University of Groningen, Groningen, The Netherlands","institution_ids":["https://openalex.org/I169381384"]},{"raw_affiliation_string":"Centrum Wiskunde & Informatica (CWI), Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I1341640284"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5014852863","display_name":"Tijs van der Storm","orcid":"https://orcid.org/0000-0001-8853-7934"},"institutions":[{"id":"https://openalex.org/I1341640284","display_name":"Centrum Wiskunde & Informatica","ror":"https://ror.org/00x7ekv49","country_code":"NL","type":"facility","lineage":["https://openalex.org/I1341640284","https://openalex.org/I2800991832","https://openalex.org/I4405262988"]},{"id":"https://openalex.org/I169381384","display_name":"University of Groningen","ror":"https://ror.org/012p63287","country_code":"NL","type":"education","lineage":["https://openalex.org/I169381384"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Tijs van der Storm","raw_affiliation_strings":["CWI, Netherlands / University of Groningen, Netherlands"],"affiliations":[{"raw_affiliation_string":"CWI, Netherlands / University of Groningen, Netherlands","institution_ids":["https://openalex.org/I1341640284","https://openalex.org/I169381384"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5052334161"],"corresponding_institution_ids":["https://openalex.org/I1341640284","https://openalex.org/I4210146044"],"apc_list":null,"apc_paid":null,"fwci":0.4991,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.63817957,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":91,"max":95},"biblio":{"volume":"8","issue":"3","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.6977999806404114,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.6977999806404114,"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/T12784","display_name":"Modular Robots and Swarm Intelligence","score":0.642799973487854,"subfield":{"id":"https://openalex.org/subfields/2210","display_name":"Mechanical Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.752007007598877},{"id":"https://openalex.org/keywords/framing","display_name":"Framing (construction)","score":0.5898776054382324},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.5207376480102539},{"id":"https://openalex.org/keywords/rapid-prototyping","display_name":"Rapid prototyping","score":0.42871707677841187},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.33854448795318604},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.3286205530166626},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2405276596546173},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.20935380458831787},{"id":"https://openalex.org/keywords/mechanical-engineering","display_name":"Mechanical engineering","score":0.050494492053985596}],"concepts":[{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.752007007598877},{"id":"https://openalex.org/C169087156","wikidata":"https://www.wikidata.org/wiki/Q2131593","display_name":"Framing (construction)","level":2,"score":0.5898776054382324},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5207376480102539},{"id":"https://openalex.org/C2780395129","wikidata":"https://www.wikidata.org/wiki/Q1128971","display_name":"Rapid prototyping","level":2,"score":0.42871707677841187},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.33854448795318604},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3286205530166626},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2405276596546173},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.20935380458831787},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.050494492053985596},{"id":"https://openalex.org/C66938386","wikidata":"https://www.wikidata.org/wiki/Q633538","display_name":"Structural engineering","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.22152/programming-journal.org/2024/8/16","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2024/8/16","pdf_url":"https://arxiv.org/pdf/2403.02161.pdf","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:2403.02161","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2403.02161","pdf_url":"https://arxiv.org/pdf/2403.02161","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"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/2024/8/16","is_oa":true,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2024/8/16","pdf_url":"https://arxiv.org/pdf/2403.02161.pdf","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":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4392389956.pdf","grobid_xml":"https://content.openalex.org/works/W4392389956.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W2978026406","https://openalex.org/W2388687068","https://openalex.org/W1999657508","https://openalex.org/W2399091034","https://openalex.org/W4256495946","https://openalex.org/W2351581202","https://openalex.org/W2366922255","https://openalex.org/W2621101275","https://openalex.org/W4321782533","https://openalex.org/W3096156304"],"abstract_inverted_index":{"ContextIn":[0],"the":[1,26,50,58,82,113,136,144,174,177,184,194,201,226,246,270,292,301,318,357,368,380,401,406],"first":[2],"part":[3],"of":[4,17,29,31,37,61,78,84,112,138,146,179,261,272,314,321,346,359,367,408,427,433,447],"his":[5],"presentation":[6],"\"Inventing":[7],"on":[8,110,155,344,365,431],"Principle\"":[9],"[":[10,45,95,116,253,297],"],":[11,298],"Bret":[12],"Victor":[13,73],"gives":[14],"a":[15,18,75,104,125,273,388,440,445],"demo":[16],"live":[19,38,79,215,234,263,342,429],"code":[20,169,218],"editor":[21,195],"for":[22,91,128,198,213,289,303,354,444],"Javascript":[23],"which":[24,131],"shows":[25,74],"dynamic":[27,59],"history":[28],"values":[30],"variables":[32,182],"in":[33,81,135,183,266,420],"real":[34],"time.This":[35],"form":[36],"programming":[39,105,140,369,378,449],"has":[40],"become":[41],"known":[42],"as":[43],"\"probes\"":[44],",":[46,47,124],"].Probes":[48],"provide":[49,225],"programmer":[51,381,402],"with":[52,451],"permanent":[53],"and":[54,69,171,190,221,229,299,307,334,372,391,410,416,435],"continuous":[55],"insight":[56],"into":[57],"evolution":[60,178],"function":[62],"or":[63,148,163,196,239],"method":[64],"variables,":[65],"thus":[66],"improving":[67],"feedback":[68,386,403],"developer":[70],"experience.Inquiry":[71],"Although":[72],"working":[76],"prototype":[77],"probes":[80,130,284,324,343,412,430,443],"context":[83,137],"Javascript,":[85,308],"he":[86],"does":[87],"not":[88,414],"discuss":[89],"strategies":[90],"implementing":[92,129,214,262],"them.Later":[93],"work":[94],"]":[96,254],"provides":[97,255],"an":[98,256],"implementation":[99,371],"approach,":[100],"but":[101],"this":[102,118],"requires":[103],"language":[106,240,370],"to":[107,160,193,200,232,282,399],"be":[108,133,351],"implemented":[109,419],"top":[111,345,432],"GraalVM":[114],"runtime":[115],"].In":[117],"paper":[119],"we":[120],"present":[121],"L":[122,151,280,423],"R":[123,152,281,424],"generic":[126,259,436],"approach":[127,260,426],"can":[132,350],"applied":[134,279],"many":[139],"languages,":[141,450],"without":[142,236],"requiring":[143,310],"modification":[145],"compilers":[147,238],"run-time":[149,319],"systems.Approach":[150],"is":[153],"based":[154],"reusing":[156],"existing":[157,434],"debug":[158,208,348,437],"protocols":[159,209,438],"implement":[161,283],"probes.Methods":[162],"functions":[164,409],"are":[165,188,210,396,413],"compiled":[166],"after":[167],"every":[168],"change":[170],"executed":[172],"inside":[173],"debugger.During":[175],"execution":[176,390],"all":[180,309,322],"local":[181],"current":[185],"stack":[186,222,286,335],"frame":[187,223],"recorded":[189],"communicated":[191],"back":[192],"IDE":[197],"display":[199],"user.Knowledge":[202],"It":[203],"turns":[204,243],"out":[205,244],"that":[206,245,341],"mainstream":[207,448],"rich":[211],"enough":[212,353],"probes.Stepwise":[216],"execution,":[217],"hot":[219,329],"swapping,":[220],"inspection":[224],"right":[227],"granularity":[228],"sufficient":[230],"information":[231],"realize":[233],"probes,":[235,264],"modifying":[237],"runtimes.Furthermore,":[241],"it":[242,362],"recently":[247],"proposed":[248],"Debugger":[249],"Adapter":[250],"Protocol":[251],"(DAP)":[252],"even":[257],"more":[258],"but,":[265],"some":[267],"cases,":[268],"at":[269,405],"cost":[271],"significant":[274],"performance":[275,320],"penalty.Grounding":[276],"We":[277],"have":[278,417],"using":[285],"recording":[287,336],"natively":[288],"Java":[290,293],"through":[291,300],"Debug":[294],"Interface":[295],"(JDI)":[296],"DAP":[302],"Java,":[304],"Python,":[305],"C,":[306],"just":[311],"modest":[312],"amounts":[313],"configuration":[315],"code.We":[316],"evaluate":[317],"four":[323],"prototypes,":[325],"decomposed":[326],"into:":[327],"compile-after-change,":[328],"swap,":[330],"single":[331],"step":[332],"overhead,":[333],"overhead.Our":[337],"initial":[338],"results":[339],"show":[340],"native":[347],"APIs":[349],"performant":[352],"interactive":[355],"use.In":[356],"case":[358],"DAP,":[360],"however,":[361],"highly":[363],"depends":[364],"characteristics":[366],"its":[373],"associated":[374],"debugging":[375],"infrastructure.Importance":[376],"Live":[377],"improves":[379],"experience":[382],"by":[383],"providing":[384],"immediate":[385],"about":[387],"program's":[389],"eliminating":[392],"disruptive":[393],"edit-compile-restart":[394],"sequences.Probes":[395],"one":[397],"way":[398],"shorten":[400],"loop":[404],"level":[407],"methods.Although":[411],"new,":[415],"been":[418],"(prototype)":[421],"systems,":[422],"'s":[425],"building":[428],"promises":[439],"path":[441],"towards":[442],"host":[446],"reasonable":[452],"effort.":[453]},"counts_by_year":[{"year":2025,"cited_by_count":1}],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2025-10-10T00:00:00"}
