{"id":"https://openalex.org/W2974181915","doi":"https://doi.org/10.1145/3357390.3361027","title":"An analysis of call-site patching without strong hardware support for self-modifying-code","display_name":"An analysis of call-site patching without strong hardware support for self-modifying-code","publication_year":2019,"publication_date":"2019-10-10","ids":{"openalex":"https://openalex.org/W2974181915","doi":"https://doi.org/10.1145/3357390.3361027","mag":"2974181915"},"language":"en","primary_location":{"id":"doi:10.1145/3357390.3361027","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3357390.3361027","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://pure.manchester.ac.uk/ws/files/133783637/hartley_mplr2019.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5008291713","display_name":"Tim Hartley","orcid":null},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Tim Hartley","raw_affiliation_strings":["University of Manchester, UK"],"affiliations":[{"raw_affiliation_string":"University of Manchester, UK","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5005469596","display_name":"Foivos S. Zakkak","orcid":"https://orcid.org/0000-0001-5554-7538"},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Foivos S. Zakkak","raw_affiliation_strings":["University of Manchester, UK"],"affiliations":[{"raw_affiliation_string":"University of Manchester, UK","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5049593939","display_name":"Christos Kotselidis","orcid":null},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Christos Kotselidis","raw_affiliation_strings":["University of Manchester, UK"],"affiliations":[{"raw_affiliation_string":"University of Manchester, UK","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5026069638","display_name":"Mikel Luj\u00e1n","orcid":"https://orcid.org/0000-0002-0842-1083"},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Mikel Luj\u00e1n","raw_affiliation_strings":["University of Manchester, UK"],"affiliations":[{"raw_affiliation_string":"University of Manchester, UK","institution_ids":["https://openalex.org/I28407311"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5008291713"],"corresponding_institution_ids":["https://openalex.org/I28407311"],"apc_list":null,"apc_paid":null,"fwci":0.2469,"has_fulltext":true,"cited_by_count":1,"citation_normalized_percentile":{"value":0.50993545,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"131","last_page":"143"},"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.9997000098228455,"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.9997000098228455,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9993000030517578,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.8629133701324463},{"id":"https://openalex.org/keywords/porting","display_name":"Porting","score":0.7710462808609009},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6834338903427124},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6217748522758484},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.5150818228721619},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.48854169249534607},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.46678057312965393},{"id":"https://openalex.org/keywords/microarchitecture","display_name":"Microarchitecture","score":0.46223148703575134},{"id":"https://openalex.org/keywords/power","display_name":"Power (physics)","score":0.42067909240722656},{"id":"https://openalex.org/keywords/architecture","display_name":"Architecture","score":0.41268062591552734},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.3892529010772705},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3548412322998047},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.33428293466567993},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3226380944252014},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.15815216302871704},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.13734546303749084},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.13310569524765015}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8629133701324463},{"id":"https://openalex.org/C106251023","wikidata":"https://www.wikidata.org/wiki/Q851989","display_name":"Porting","level":3,"score":0.7710462808609009},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6834338903427124},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6217748522758484},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.5150818228721619},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.48854169249534607},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.46678057312965393},{"id":"https://openalex.org/C107598950","wikidata":"https://www.wikidata.org/wiki/Q259864","display_name":"Microarchitecture","level":2,"score":0.46223148703575134},{"id":"https://openalex.org/C163258240","wikidata":"https://www.wikidata.org/wiki/Q25342","display_name":"Power (physics)","level":2,"score":0.42067909240722656},{"id":"https://openalex.org/C123657996","wikidata":"https://www.wikidata.org/wiki/Q12271","display_name":"Architecture","level":2,"score":0.41268062591552734},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.3892529010772705},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3548412322998047},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.33428293466567993},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3226380944252014},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.15815216302871704},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.13734546303749084},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.13310569524765015},{"id":"https://openalex.org/C153349607","wikidata":"https://www.wikidata.org/wiki/Q36649","display_name":"Visual arts","level":1,"score":0.0},{"id":"https://openalex.org/C95457728","wikidata":"https://www.wikidata.org/wiki/Q309","display_name":"History","level":0,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","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/C142362112","wikidata":"https://www.wikidata.org/wiki/Q735","display_name":"Art","level":0,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C166957645","wikidata":"https://www.wikidata.org/wiki/Q23498","display_name":"Archaeology","level":1,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3357390.3361027","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3357390.3361027","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.atira.dk:publications/5251c1d8-fda7-4748-a7bd-8499c9e4a05e","is_oa":true,"landing_page_url":"https://research.manchester.ac.uk/en/publications/5251c1d8-fda7-4748-a7bd-8499c9e4a05e","pdf_url":"https://pure.manchester.ac.uk/ws/files/133783637/hartley_mplr2019.pdf","source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Hartley, T, Zakkak, F, Kotselidis, C & Luj\u00e1n, M 2019, An Analysis of Call-Site Patching without Strong Hardware Support for Self-Modifying-Code. in Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR '19). Association for Computing Machinery. https://doi.org/10.1145/3357390.3361027","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.atira.dk:publications/5251c1d8-fda7-4748-a7bd-8499c9e4a05e","is_oa":false,"landing_page_url":"https://www.research.manchester.ac.uk/portal/en/publications/an-analysis-of-callsite-patching-without-strong-hardware-support-for-selfmodifyingcode(5251c1d8-fda7-4748-a7bd-8499c9e4a05e).html","pdf_url":null,"source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"pmh:oai:pure.atira.dk:publications/5251c1d8-fda7-4748-a7bd-8499c9e4a05e","is_oa":true,"landing_page_url":"https://research.manchester.ac.uk/en/publications/5251c1d8-fda7-4748-a7bd-8499c9e4a05e","pdf_url":"https://pure.manchester.ac.uk/ws/files/133783637/hartley_mplr2019.pdf","source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Hartley, T, Zakkak, F, Kotselidis, C & Luj\u00e1n, M 2019, An Analysis of Call-Site Patching without Strong Hardware Support for Self-Modifying-Code. in Proceedings of the 16th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes (MPLR '19). Association for Computing Machinery. https://doi.org/10.1145/3357390.3361027","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[{"score":0.46000000834465027,"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure"}],"awards":[{"id":"https://openalex.org/G6233652293","display_name":null,"funder_award_id":"1849183","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8409149716","display_name":null,"funder_award_id":"732366 & 780245","funder_id":"https://openalex.org/F4320335254","funder_display_name":"Horizon 2020"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"},{"id":"https://openalex.org/F4320335254","display_name":"Horizon 2020","ror":null}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2974181915.pdf","grobid_xml":"https://content.openalex.org/works/W2974181915.grobid-xml"},"referenced_works_count":19,"referenced_works":["https://openalex.org/W1489187435","https://openalex.org/W1520961453","https://openalex.org/W1978174330","https://openalex.org/W2001154106","https://openalex.org/W2021246880","https://openalex.org/W2028045612","https://openalex.org/W2102839400","https://openalex.org/W2112460268","https://openalex.org/W2124873267","https://openalex.org/W2140823840","https://openalex.org/W2158874007","https://openalex.org/W2166091242","https://openalex.org/W2178735577","https://openalex.org/W2199558228","https://openalex.org/W2600423655","https://openalex.org/W2801279143","https://openalex.org/W2956875759","https://openalex.org/W3150650777","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2352639277","https://openalex.org/W1823084595","https://openalex.org/W122453572","https://openalex.org/W2351011383","https://openalex.org/W2146879484","https://openalex.org/W4221002079","https://openalex.org/W1757458251","https://openalex.org/W2141090099","https://openalex.org/W2045325972","https://openalex.org/W1980898636"],"abstract_inverted_index":{"With":[0],"micro-services":[1],"continuously":[2],"gaining":[3,25],"popularity":[4],"and":[5,35,55,82,128,132,153],"low-power":[6,21,46,76,93],"processors":[7],"making":[8],"their":[9,130],"way":[10],"into":[11],"data":[12],"centers,":[13],"efficient":[14],"execution":[15,83],"of":[16,66,137],"managed":[17,41],"runtime":[18,42,117],"systems":[19],"on":[20,105,148,160],"architectures":[22],"is":[23],"also":[24],"interest.":[26],"Apart":[27],"from":[28],"the":[29,64,109,116,135,156,161],"inherent":[30],"performance":[31,166],"differences":[32,167],"between":[33],"high":[34],"low":[36],"power":[37],"processors,":[38],"porting":[39],"a":[40,45],"system":[43],"to":[44,112,169],"architecture":[47],"may":[48],"result":[49],"in":[50,75,84,134],"spuriously":[51],"introducing":[52],"additional":[53],"overheads":[54],"design":[56],"trade-offs.":[57],"In":[58,88],"this":[59],"work":[60],"we":[61,90,144,154],"investigate":[62],"how":[63,92],"lack":[65],"strong":[67,138],"hardware":[68,99,139],"support":[69,100,140],"for":[70,101,125,141],"Self":[71],"Modifying":[72],"Code":[73],"(SMC)":[74],"architectures,":[77,94],"influences":[78],"Just-In-Time":[79],"(JIT)":[80],"compilation":[81],"modern":[85],"virtual":[86],"machines.":[87],"particular,":[89],"examine":[91],"with":[95],"no":[96],"or":[97],"limited":[98],"SMC,":[102],"impose":[103],"restrictions":[104],"call-site":[106,126],"implementations,":[107],"when":[108],"latter":[110],"need":[111],"be":[113],"patchable":[114],"by":[115],"system.":[118],"We":[119],"present":[120],"four":[121],"different":[122,149],"memory-safe":[123],"implementations":[124],"generation":[127],"discuss":[129],"advantages":[131],"disadvantages":[133],"absence":[136],"SMC.":[142],"Finally,":[143],"evaluate":[145,155],"each":[146],"technique":[147],"workloads":[150],"using":[151],"micro-benchmarks":[152],"best":[157],"two":[158],"techniques":[159],"Dacapo":[162],"benchmark":[163],"suite":[164],"showcasing":[165],"up":[168],"15%.":[170]},"counts_by_year":[{"year":2022,"cited_by_count":1}],"updated_date":"2026-04-19T08:26:33.389920","created_date":"2025-10-10T00:00:00"}
