{"id":"https://openalex.org/W2047401676","doi":"https://doi.org/10.1145/1108970.1108971","title":"Dynamic software updating","display_name":"Dynamic software updating","publication_year":2005,"publication_date":"2005-11-01","ids":{"openalex":"https://openalex.org/W2047401676","doi":"https://doi.org/10.1145/1108970.1108971","mag":"2047401676"},"language":"en","primary_location":{"id":"doi:10.1145/1108970.1108971","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1108970.1108971","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108971","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108971","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5046625836","display_name":"Michael Hicks","orcid":"https://orcid.org/0000-0002-2759-9223"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Michael Hicks","raw_affiliation_strings":["University of Maryland, College Park, MD"],"affiliations":[{"raw_affiliation_string":"University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5053558310","display_name":"Scott Nettles","orcid":null},"institutions":[{"id":"https://openalex.org/I86519309","display_name":"The University of Texas at Austin","ror":"https://ror.org/00hj54h04","country_code":"US","type":"education","lineage":["https://openalex.org/I86519309"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Scott Nettles","raw_affiliation_strings":["The University of Texas at Austin, Austin, TX","The University of Texas at Austin, Austin, TX;"],"affiliations":[{"raw_affiliation_string":"The University of Texas at Austin, Austin, TX","institution_ids":["https://openalex.org/I86519309"]},{"raw_affiliation_string":"The University of Texas at Austin, Austin, TX;","institution_ids":["https://openalex.org/I86519309"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5046625836"],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":15.0846,"has_fulltext":true,"cited_by_count":199,"citation_normalized_percentile":{"value":0.98930428,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":100},"biblio":{"volume":"27","issue":"6","first_page":"1049","last_page":"1096"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9993000030517578,"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"}},"topics":[{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9993000030517578,"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.9986000061035156,"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/T11424","display_name":"Security and Verification in Computing","score":0.9984999895095825,"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.9081449508666992},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.664069414138794},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5727006196975708},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.5190987586975098},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.49778199195861816},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4917276203632355},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.47596997022628784},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.4200010299682617},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.33013221621513367},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.32964372634887695},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.13788092136383057}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9081449508666992},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.664069414138794},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5727006196975708},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.5190987586975098},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.49778199195861816},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4917276203632355},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.47596997022628784},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.4200010299682617},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.33013221621513367},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.32964372634887695},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.13788092136383057},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1108970.1108971","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1108970.1108971","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108971","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/1108970.1108971","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1108970.1108971","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1108970.1108971","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4066952101","display_name":"ITR: Collaborative Research: Resource Allocation and Denial of Service Prevention in Active Networks","funder_award_id":"0081360","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2047401676.pdf","grobid_xml":"https://content.openalex.org/works/W2047401676.grobid-xml"},"referenced_works_count":44,"referenced_works":["https://openalex.org/W5257913","https://openalex.org/W55667266","https://openalex.org/W100273451","https://openalex.org/W114470091","https://openalex.org/W127506714","https://openalex.org/W841409518","https://openalex.org/W1479933889","https://openalex.org/W1483079395","https://openalex.org/W1504738275","https://openalex.org/W1505144991","https://openalex.org/W1548316536","https://openalex.org/W1575008295","https://openalex.org/W1584322803","https://openalex.org/W1599629390","https://openalex.org/W1601205865","https://openalex.org/W1653193904","https://openalex.org/W1885645487","https://openalex.org/W1990241377","https://openalex.org/W2012566199","https://openalex.org/W2015739534","https://openalex.org/W2034711041","https://openalex.org/W2040015657","https://openalex.org/W2066660519","https://openalex.org/W2069107692","https://openalex.org/W2071515131","https://openalex.org/W2083140588","https://openalex.org/W2085631457","https://openalex.org/W2092062368","https://openalex.org/W2096870603","https://openalex.org/W2096910097","https://openalex.org/W2098130177","https://openalex.org/W2101307187","https://openalex.org/W2109387036","https://openalex.org/W2127023692","https://openalex.org/W2132581831","https://openalex.org/W2138510645","https://openalex.org/W2148620466","https://openalex.org/W2152893862","https://openalex.org/W2156094114","https://openalex.org/W2160468841","https://openalex.org/W2345477891","https://openalex.org/W2914920698","https://openalex.org/W4248319165","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W3137189469","https://openalex.org/W3160136729","https://openalex.org/W4246531319","https://openalex.org/W1482645738","https://openalex.org/W1503760549","https://openalex.org/W4237428255","https://openalex.org/W4206956498","https://openalex.org/W2046152088","https://openalex.org/W2499572819","https://openalex.org/W2771485382"],"abstract_inverted_index":{"Many":[0],"important":[1],"applications":[2],"must":[3,12],"run":[4],"continuously":[5],"and":[6,9,40,63,98,162,189,192],"without":[7],"interruption,":[8],"yet":[10],"also":[11],"be":[13,66],"changed":[14],"to":[15,77,102,108,167,194,210],"fix":[16],"bugs":[17],"or":[18,128],"upgrade":[19],"functionality.":[20],"No":[21],"prior":[22],"general-purpose":[23],"methodology":[24],"for":[25,46,205],"dynamic":[26,52,90],"updating":[27,53,83,211],"achieves":[28],"a":[29,178],"practical":[30],"balance":[31],"between":[32],"flexibility,":[33],"robustness,":[34],"low":[35,41],"overhead,":[36],"ease":[37],"of":[38,54,74,114,121,143],"use,":[39],"cost.We":[42],"present":[43,195],"an":[44,58],"approach":[45],"C-like":[47],"languages":[48],"that":[49,92,118,139,204],"provides":[50],"type-safe":[51],"native":[55,123,134],"code":[56,97,100,124,135,164],"in":[57,81],"extremely":[59],"flexible":[60],"manner---code,":[61],"data,":[62],"types":[64],"may":[65],"updated,":[67],"at":[68],"programmer-determined":[69],"times---and":[70],"permits":[71],"the":[72,79,82,95,99,105,109,144,207],"use":[73],"automated":[75],"tools":[76],"aid":[78],"programmer":[80],"process.":[84],"Our":[85],"system":[86],"is":[87,117,133,165,212],"based":[88],"on":[89],"patches":[91,116,150],"contain":[93],"both":[94],"updated":[96],"needed":[101],"transition":[103],"from":[104],"old":[106],"version":[107],"new.":[110],"A":[111],"novel":[112],"aspect":[113],"our":[115,173,186],"they":[119,156],"consist":[120],"verifiable":[122],"(e.g.":[125],"Proof-Carrying":[126],"Code":[127],"Typed":[129],"Assembly":[130],"Language),":[131],"which":[132],"accompanied":[136],"by":[137],"annotations":[138],"allow":[140],"online":[141],"verification":[142],"code's":[145],"safety.":[146],"We":[147,184],"discuss":[148,185],"how":[149,155,163],"are":[151,157],"generated":[152],"mostly":[153],"automatically,":[154],"applied":[158],"using":[159],"dynamic-linking":[160],"technology,":[161],"compiled":[166],"make":[168],"it":[169],"updateable.To":[170],"concretely":[171],"illustrate":[172],"system,":[174],"we":[175],"have":[176],"implemented":[177],"dynamically":[179],"updateable":[180,198],"web":[181],"server,":[182],"FlashEd.":[183],"experience":[187],"building":[188],"maintaining":[190],"FlashEd,":[191,206],"generalize":[193],"observations":[196],"about":[197],"software":[199],"development.":[200],"Performance":[201],"experiments":[202],"show":[203],"overhead":[208],"due":[209],"low:":[213],"typically":[214],"less":[215],"than":[216],"1":[217],"percent.":[218]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":6},{"year":2020,"cited_by_count":8},{"year":2019,"cited_by_count":7},{"year":2018,"cited_by_count":9},{"year":2017,"cited_by_count":10},{"year":2016,"cited_by_count":12},{"year":2015,"cited_by_count":7},{"year":2014,"cited_by_count":13},{"year":2013,"cited_by_count":17},{"year":2012,"cited_by_count":21}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
