{"id":"https://openalex.org/W7133949612","doi":"https://doi.org/10.22152/programming-journal.org/2026/11/2","title":"Pitfalls in VM Implementation on CHERI: Lessons from Porting CRuby","display_name":"Pitfalls in VM Implementation on CHERI: Lessons from Porting CRuby","publication_year":2026,"publication_date":"2026-02-15","ids":{"openalex":"https://openalex.org/W7133949612","doi":"https://doi.org/10.22152/programming-journal.org/2026/11/2"},"language":"en","primary_location":{"id":"doi:10.22152/programming-journal.org/2026/11/2","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2026/11/2","pdf_url":null,"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":"green","oa_url":"https://arxiv.org/pdf/2603.05645","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5125745541","display_name":"Hanhaotian Liu","orcid":null},"institutions":[{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Hanhaotian Liu","raw_affiliation_strings":["University of Tokyo, Japan"],"affiliations":[{"raw_affiliation_string":"University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5059407520","display_name":"Tetsuro Yamazaki","orcid":"https://orcid.org/0000-0002-2065-5608"},"institutions":[{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Tetsuro Yamazaki","raw_affiliation_strings":["University of Tokyo, Japan"],"affiliations":[{"raw_affiliation_string":"University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5055482058","display_name":"Tomoharu Ugawa","orcid":"https://orcid.org/0000-0002-3849-8639"},"institutions":[{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Tomoharu Ugawa","raw_affiliation_strings":["University of Tokyo, Japan"],"affiliations":[{"raw_affiliation_string":"University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5125745541"],"corresponding_institution_ids":["https://openalex.org/I74801974"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.52360877,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"11","issue":"1","first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.03849999979138374,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.03849999979138374,"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/T11938","display_name":"ERP Systems Implementation and Impact","score":0.01679999940097332,"subfield":{"id":"https://openalex.org/subfields/1404","display_name":"Management Information Systems"},"field":{"id":"https://openalex.org/fields/14","display_name":"Business, Management and Accounting"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T11810","display_name":"Complex Systems and Decision Making","score":0.016499999910593033,"subfield":{"id":"https://openalex.org/subfields/1803","display_name":"Management Science and Operations Research"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/porting","display_name":"Porting","score":0.3970000147819519},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2777999937534332},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.25850000977516174}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5992000102996826},{"id":"https://openalex.org/C106251023","wikidata":"https://www.wikidata.org/wiki/Q851989","display_name":"Porting","level":3,"score":0.3970000147819519},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.3296999931335449},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.2847999930381775},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2838999927043915},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.27869999408721924},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2777999937534332},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.26089999079704285},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.25850000977516174},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.24860000610351562}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.22152/programming-journal.org/2026/11/2","is_oa":false,"landing_page_url":"https://doi.org/10.22152/programming-journal.org/2026/11/2","pdf_url":null,"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:2603.05645","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2603.05645","pdf_url":"https://arxiv.org/pdf/2603.05645","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"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"},{"id":"pmh:doi:10.48550/arxiv.2603.05645","is_oa":true,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4406922384","display_name":"Open MIND","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"publisher-specific-oa","license_id":"https://openalex.org/licenses/publisher-specific-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Article"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:2603.05645","is_oa":true,"landing_page_url":"http://arxiv.org/abs/2603.05645","pdf_url":"https://arxiv.org/pdf/2603.05645","source":{"id":"https://openalex.org/S4393918464","display_name":"ArXiv.org","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"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"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1069223013","display_name":null,"funder_award_id":"JSPS KAKENHI","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G2082701797","display_name":"Research on Managed Languages and Runtime Systems to Utilize Memory with Computational Capabilities","funder_award_id":"23K24822","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G4636223006","display_name":null,"funder_award_id":"JSPS KAK","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320320337","display_name":"University of Glasgow","ror":"https://ror.org/00vtgdb53"},{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"CHERI":[0,57,127,144,261],"(Capability":[1],"Hardware":[2],"Enhanced":[3],"RISC":[4],"Instructions)":[5],"is":[6,34,58,131],"a":[7,59,146],"novel":[8],"hardware":[9,21],"designed":[10],"to":[11,56,143,156,234,250,260],"address":[12],"memory":[13,49,89],"safety":[14,90],"issues.":[15,138],"By":[16],"replacing":[17],"traditional":[18,205],"pointers":[19],"with":[20,86],"capabilities,":[22],"it":[23,45,130],"enhances":[24],"security":[25],"in":[26,126,189,193],"modern":[27],"software":[28],"systems.":[29],"A":[30],"Virtual":[31],"Machine":[32],"(VM)":[33],"one":[35],"such":[36],"system":[37],"that":[38,207],"can":[39],"benefit":[40],"from":[41,67,185],"CHERI's":[42,87],"protection,":[43],"as":[44,145],"may":[46],"contain":[47],"latent":[48],"vulnerabilities.":[50],"However,":[51],"developing":[52,256],"and":[53,149,160,197,218,238,257,262],"porting":[54,104,111,154,258],"VMs":[55,155,200,259],"non-trivial":[60],"task.":[61],"There":[62],"are":[63,208],"many":[64],"subtle":[65],"pitfalls":[66,116,176,183],"the":[68,71,75,101,109,115,162,174,182,186,190,219,226,229,241,251],"assumptions":[69,84],"on":[70,80,108,120,153,166,210,255],"undefined":[72,187],"behaviors":[73,188,203],"of":[74,103,114,181,199,204,221,228,243,253],"C":[76,191],"language":[77],"made":[78],"based":[79,165],"conventional":[81],"architectures.":[82],"Those":[83],"conflict":[85],"stricter":[88],"model,":[91],"causing":[92],"unexpected":[93],"failures.":[94],"Although":[95],"several":[96],"prior":[97,244],"works":[98,152],"have":[99,140],"discussed":[100,161],"process":[102,112],"VMs,":[105],"they":[106],"focus":[107],"overall":[110],"instead":[113],"for":[117,124,132,177,216],"VM":[118],"implementation":[119,195],"CHERI.":[121,157,211],"The":[122],"guide":[123,265],"programming":[125],"exists,":[128],"but":[129],"general":[133],"programming,":[134],"not":[135],"addressing":[136],"VM-specific":[137,175],"We":[139,158,212,224],"ported":[141],"CRuby":[142,236],"case":[147,245],"study":[148],"surveyed":[150],"previous":[151],"categorized":[159],"issues":[163],"found":[164],"their":[167],"causes.":[168],"In":[169],"this":[170],"paper,":[171],"we":[172],"illustrate":[173],"each":[178],"category.":[179],"Most":[180],"arise":[184],"language;":[192],"particular,":[194],"techniques":[196],"idioms":[198],"often":[201],"assume":[202],"architectures":[206],"invalid":[209],"also":[213],"discuss":[214],"workarounds":[215,230],"them":[217,233],"impacts":[220],"those":[222],"workarounds.":[223],"verified":[225],"validity":[227],"by":[231,239],"applying":[232],"our":[235],"port":[237],"surveying":[240],"codebases":[242],"studies.":[246],"This":[247],"work":[248],"contributes":[249],"body":[252],"knowledge":[254],"will":[263],"help":[264],"efforts":[266],"toward":[267],"constructing":[268],"safer":[269],"VMs.":[270]},"counts_by_year":[],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2026-03-06T00:00:00"}
