{"id":"https://openalex.org/W4206959453","doi":"https://doi.org/10.1145/3495152","title":"HeapCheck: Low-cost Hardware Support for Memory Safety","display_name":"HeapCheck: Low-cost Hardware Support for Memory Safety","publication_year":2022,"publication_date":"2022-01-23","ids":{"openalex":"https://openalex.org/W4206959453","doi":"https://doi.org/10.1145/3495152"},"language":"en","primary_location":{"id":"doi:10.1145/3495152","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3495152","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3495152","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"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 Architecture and Code Optimization","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3495152","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5071514906","display_name":"Gururaj Saileshwar","orcid":"https://orcid.org/0000-0003-3542-2548"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Gururaj Saileshwar","raw_affiliation_strings":["Georgia Tech, Georgia, USA"],"affiliations":[{"raw_affiliation_string":"Georgia Tech, Georgia, USA","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023066392","display_name":"Rick Boivie","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Rick Boivie","raw_affiliation_strings":["IBM Research, New York, USA"],"affiliations":[{"raw_affiliation_string":"IBM Research, New York, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100461265","display_name":"Tong Chen","orcid":"https://orcid.org/0000-0001-7269-146X"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Tong Chen","raw_affiliation_strings":["IBM Research, New York, USA"],"affiliations":[{"raw_affiliation_string":"IBM Research, New York, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039903543","display_name":"Benjamin M. Segal","orcid":"https://orcid.org/0000-0002-0906-6319"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Benjamin Segal","raw_affiliation_strings":["IBM Research, New York, USA"],"affiliations":[{"raw_affiliation_string":"IBM Research, New York, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5044824009","display_name":"Alper Buyuktosunoglu","orcid":"https://orcid.org/0000-0002-5341-8916"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Alper Buyuktosunoglu","raw_affiliation_strings":["IBM Research, New York, USA"],"affiliations":[{"raw_affiliation_string":"IBM Research, New York, USA","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5071514906"],"corresponding_institution_ids":["https://openalex.org/I130701444"],"apc_list":null,"apc_paid":null,"fwci":2.2068,"has_fulltext":true,"cited_by_count":17,"citation_normalized_percentile":{"value":0.89117816,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":"19","issue":"1","first_page":"1","last_page":"24"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T11005","display_name":"Radiation Effects in Electronics","score":0.9977999925613403,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.992900013923645,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8822495937347412},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.7522902488708496},{"id":"https://openalex.org/keywords/buffer-overflow","display_name":"Buffer overflow","score":0.4481007754802704},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.43716731667518616},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.42642444372177124},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.41767433285713196},{"id":"https://openalex.org/keywords/static-random-access-memory","display_name":"Static random-access memory","score":0.41145703196525574},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.38693878054618835},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.38462477922439575},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.24412322044372559},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.22933965921401978},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.11825427412986755}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8822495937347412},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.7522902488708496},{"id":"https://openalex.org/C40842320","wikidata":"https://www.wikidata.org/wiki/Q19423","display_name":"Buffer overflow","level":2,"score":0.4481007754802704},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.43716731667518616},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.42642444372177124},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.41767433285713196},{"id":"https://openalex.org/C68043766","wikidata":"https://www.wikidata.org/wiki/Q267416","display_name":"Static random-access memory","level":2,"score":0.41145703196525574},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.38693878054618835},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.38462477922439575},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.24412322044372559},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.22933965921401978},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.11825427412986755}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3495152","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3495152","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3495152","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"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 Architecture and Code Optimization","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3495152","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3495152","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3495152","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"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 Architecture and Code Optimization","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4206959453.pdf","grobid_xml":"https://content.openalex.org/works/W4206959453.grobid-xml"},"referenced_works_count":34,"referenced_works":["https://openalex.org/W1987898580","https://openalex.org/W2047321828","https://openalex.org/W2089448621","https://openalex.org/W2114030344","https://openalex.org/W2122757982","https://openalex.org/W2128637495","https://openalex.org/W2141365240","https://openalex.org/W2155851497","https://openalex.org/W2156858199","https://openalex.org/W2165266180","https://openalex.org/W2301548261","https://openalex.org/W2612168751","https://openalex.org/W2751343396","https://openalex.org/W2884076027","https://openalex.org/W2913686842","https://openalex.org/W2914982603","https://openalex.org/W2934720435","https://openalex.org/W2943086984","https://openalex.org/W2947243817","https://openalex.org/W2963934162","https://openalex.org/W2974932038","https://openalex.org/W2979641711","https://openalex.org/W2996860026","https://openalex.org/W3025512357","https://openalex.org/W3028062294","https://openalex.org/W3043044582","https://openalex.org/W3101333446","https://openalex.org/W3154844554","https://openalex.org/W3190533156","https://openalex.org/W3192385226","https://openalex.org/W4210676563","https://openalex.org/W4232120412","https://openalex.org/W4234020632","https://openalex.org/W4238851087"],"related_works":["https://openalex.org/W3016212467","https://openalex.org/W2052270512","https://openalex.org/W3004176791","https://openalex.org/W4249886898","https://openalex.org/W2899326588","https://openalex.org/W3016343721","https://openalex.org/W3014574736","https://openalex.org/W3004986831","https://openalex.org/W2617247280","https://openalex.org/W2483461216"],"abstract_inverted_index":{"Programs":[0],"written":[1],"in":[2,52,108,111,168,207,212,222,227,234],"C/C++":[3,174],"are":[4,160],"vulnerable":[5],"to":[6,16,44,61,64,101,114,127,137,239],"memory-safety":[7,58,84,143,166],"errors":[8,19,59,130,133,167,206],"like":[9,251],"buffer-overflows":[10],"and":[11,66,81,91,131,154],"use-after-free.":[12],"While":[13],"several":[14],"mechanisms":[15],"detect":[17,65],"such":[18],"have":[20,242],"been":[21,244],"previously":[22,245],"proposed,":[23],"they":[24],"suffer":[25],"from":[26],"a":[27,56,67,78,109,119,149],"variety":[28],"of":[29,38,70,97,104,165,204,225],"drawbacks,":[30],"including":[31],"poor":[32],"performance,":[33],"imprecise":[34],"or":[35,40,48],"probabilistic":[36],"detection":[37,203],"errors,":[39],"requiring":[41],"invasive":[42,80],"changes":[43],"the":[45,105,138,163,169,228],"ISA,":[46],"binary-layout,":[47],"source-code":[49],"that":[50,123,159,182],"results":[51],"compatibility":[53],"issues.":[54],"As":[55],"result,":[57],"continue":[60],"be":[62,125],"hard":[63],"principal":[68],"cause":[69],"security":[71],"problems.":[72],"In":[73],"this":[74,142],"work,":[75],"we":[76,146],"present":[77],"minimally":[79],"low-cost":[82],"hardware-based":[83],"checking":[85,144],"framework":[86],"for":[87,151,157,162,197],"detecting":[88,152],"out-of-bounds":[89,205,220],"accesses":[90,156,221],"use-after-free":[92,132],"errors.":[93],"The":[94],"key":[95],"idea":[96],"our":[98,183,240],"mechanism":[99,201,217],"is":[100],"re-purpose":[102],"some":[103],"\u201cunused":[106],"bits\u201d":[107],"pointer":[110],"64-bit":[112],"architectures":[113],"store":[115],"an":[116,191],"index":[117],"into":[118],"bounds":[120],"information":[121],"table":[122],"can":[124],"used":[126],"catch":[128],"out-bounds":[129],"without":[134],"any":[135],"change":[136],"binary":[139],"layout.":[140],"Using":[141],"framework,":[145],"enable":[147],"HeapCheck,":[148],"design":[150],"Out-of-bounds":[153],"Use-after-free":[155],"heap-objects,":[158],"responsible":[161],"majority":[164],"wild.":[170],"Our":[171,200,216],"evaluations":[172],"using":[173,190],"SPEC":[175,229],"CPU":[176,230],"2017":[177,231],"workloads":[178],"on":[179,188],"Gem5":[180],"show":[181],"solution":[184],"incurs":[185],"1.5%":[186],"slowdown":[187],"average,":[189],"8":[192],"KB":[193],"on-chip":[194],"SRAM":[195],"cache":[196],"caching":[198],"bounds-information.":[199],"allows":[202],"user-code":[208],"as":[209,211],"well":[210],"unmodified":[213],"shared-library":[214],"functions.":[215],"has":[218],"detected":[219,246],"87":[223],"lines":[224],"code":[226],"benchmarks,":[232],"primarily":[233],"Glibc":[235],"v2.27":[236],"functions,":[237],"that,":[238],"knowledge,":[241],"not":[243],"even":[247],"with":[248],"popular":[249],"tools":[250],"Address":[252],"Sanitizer.":[253]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":2}],"updated_date":"2026-03-13T16:22:10.518609","created_date":"2025-10-10T00:00:00"}
