{"id":"https://openalex.org/W1965166558","doi":"https://doi.org/10.1145/1296907.1296911","title":"Safe manual memory management","display_name":"Safe manual memory management","publication_year":2007,"publication_date":"2007-10-21","ids":{"openalex":"https://openalex.org/W1965166558","doi":"https://doi.org/10.1145/1296907.1296911","mag":"1965166558"},"language":"en","primary_location":{"id":"doi:10.1145/1296907.1296911","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1296907.1296911","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th international symposium on Memory management","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5111945527","display_name":"David Gay","orcid":null},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"David Gay","raw_affiliation_strings":["Intel, Berkeley, CA"],"affiliations":[{"raw_affiliation_string":"Intel, Berkeley, CA","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5040869435","display_name":"Rob Ennals","orcid":null},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rob Ennals","raw_affiliation_strings":["Intel, Berkeley, CA"],"affiliations":[{"raw_affiliation_string":"Intel, Berkeley, CA","institution_ids":["https://openalex.org/I1343180700"]}]},{"author_position":"last","author":{"id":null,"display_name":"Eric Brewer","orcid":null},"institutions":[{"id":"https://openalex.org/I1343180700","display_name":"Intel (United States)","ror":"https://ror.org/01ek73717","country_code":"US","type":"company","lineage":["https://openalex.org/I1343180700"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Eric Brewer","raw_affiliation_strings":["Intel, Berkeley, CA"],"affiliations":[{"raw_affiliation_string":"Intel, Berkeley, CA","institution_ids":["https://openalex.org/I1343180700"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5111945527"],"corresponding_institution_ids":["https://openalex.org/I1343180700"],"apc_list":null,"apc_paid":null,"fwci":4.4556,"has_fulltext":false,"cited_by_count":24,"citation_normalized_percentile":{"value":0.94105827,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"2","last_page":"14"},"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.9998999834060669,"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.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9994999766349792,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9972000122070312,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8666961193084717},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.6648162007331848},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.6269881725311279},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5604824423789978},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5454025268554688},{"id":"https://openalex.org/keywords/porting","display_name":"Porting","score":0.5438085794448853},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.5339592099189758},{"id":"https://openalex.org/keywords/perl","display_name":"Perl","score":0.5278176069259644},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5255535840988159},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.4936257600784302},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4158087372779846},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.38945990800857544},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.23653468489646912}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8666961193084717},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.6648162007331848},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.6269881725311279},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5604824423789978},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5454025268554688},{"id":"https://openalex.org/C106251023","wikidata":"https://www.wikidata.org/wiki/Q851989","display_name":"Porting","level":3,"score":0.5438085794448853},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.5339592099189758},{"id":"https://openalex.org/C2777002779","wikidata":"https://www.wikidata.org/wiki/Q42478","display_name":"Perl","level":2,"score":0.5278176069259644},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5255535840988159},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.4936257600784302},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4158087372779846},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.38945990800857544},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.23653468489646912},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1296907.1296911","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1296907.1296911","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 6th international symposium on Memory management","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.165.6179","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.165.6179","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://berkeley.intel-research.net/rennals/pubs/ismm.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W145355838","https://openalex.org/W1499992849","https://openalex.org/W1509600745","https://openalex.org/W1546392358","https://openalex.org/W1596586791","https://openalex.org/W1685737956","https://openalex.org/W1825457006","https://openalex.org/W1874682220","https://openalex.org/W1967121117","https://openalex.org/W1972544179","https://openalex.org/W1973326708","https://openalex.org/W2005907808","https://openalex.org/W2007181618","https://openalex.org/W2027519032","https://openalex.org/W2043647957","https://openalex.org/W2046866979","https://openalex.org/W2062730511","https://openalex.org/W2063453797","https://openalex.org/W2071565225","https://openalex.org/W2087466192","https://openalex.org/W2098806455","https://openalex.org/W2107089133","https://openalex.org/W2107285171","https://openalex.org/W2121218648","https://openalex.org/W2130376240","https://openalex.org/W2149984854","https://openalex.org/W2999857599","https://openalex.org/W4251803824"],"related_works":["https://openalex.org/W2096662407","https://openalex.org/W2115447959","https://openalex.org/W158838145","https://openalex.org/W2011342976","https://openalex.org/W2356222173","https://openalex.org/W2362520115","https://openalex.org/W2391811762","https://openalex.org/W3000464808","https://openalex.org/W2182829270","https://openalex.org/W2762262390"],"abstract_inverted_index":{"We":[0,124],"present":[1],"HeapSafe,":[2],"a":[3,85,122,129,190,210],"tool":[4],"that":[5,111,114,126,213],"uses":[6],"reference":[7],"counting":[8],"to":[9,26,103,116,168,185],"dynamically":[10],"verify":[11],"the":[12,27,66,215],"soundness":[13],"of":[14,18,76,88],"manual":[15,106],"memory":[16,30,134,143],"management":[17,31,135,144],"C":[19,89,100,192],"programs.":[20,138],"HeapSafe":[21,48,127,140,153,160,173,183],"relies":[22],"on":[23,82],"asimple":[24],"extension":[25],"usual":[28],"malloc/free":[29],"API:":[32],"delayed":[33],"free":[34],"scopes":[35],"during":[36],"which":[37],"otherwise":[38],"dangling":[39],"references":[40],"can":[41,166],"exist.":[42],"Porting":[43],"programs":[44,101,171,184],"for":[45,136],"use":[46,104],"with":[47,189],"typically":[49],"requires":[50],"little":[51],"effort":[52],"(on":[53],"average":[54,60,75],"0.6%":[55],"oflines":[56],"change),":[57],"adds":[58],"an":[59,74],"11%":[61],"time":[62],"overhead":[63],"(84%":[64],"in":[65],"worst":[67],"case),":[68],"and":[69,187,207],"increases":[70],"space":[71,205],"usage":[72],"by":[73],"13%.":[77],"These":[78],"results":[79],"are":[80],"based":[81],"portingover":[83],"half":[84],"million":[86],"lines":[87],"code,":[90],"including":[91],"perl":[92],"where":[93],"we":[94,196],"found":[95],"sixpreviously":[96],"unknown":[97],"bugs.Many":[98],"existing":[99,142],"continue":[102],"unchecked":[105],"memorymanagement.":[107],"One":[108],"reason":[109],"is":[110,119,128,176],"programmers":[112,149,165],"fear":[113],"moving":[115],"garbage":[117,198],"collection":[118],"too":[120],"big":[121],"risk.":[123],"believe":[125],"practical":[130],"way":[131],"toprovide":[132],"safe":[133],"such":[137],"Since":[139],"checks":[141],"rather":[145],"than":[146],"changing":[147],"it,":[148],"need":[150],"not":[151,162],"worrythat":[152],"will":[154],"introduce":[155],"new":[156],"bugs;":[157],"and,":[158],"since":[159],"does":[161],"managememory":[163],"itself,":[164],"choose":[167],"deploy":[169],"their":[170],"without":[172],"if":[174],"performance":[175],"critical":[177],"(a":[178],"simple":[179],"header":[180],"file":[181],"allows":[182],"compile":[186],"run":[188],"regular":[191],"compiler).":[193],"In":[194],"contrast,":[195],"foundthat":[197],"collection,":[199],"although":[200],"faster,":[201],"had":[202],"much":[203],"higher":[204],"overhead,":[206],"occasionally":[208],"caused":[209],"space-usage":[211],"explosion":[212],"made":[214],"program":[216],"unusable.":[217]},"counts_by_year":[{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":3}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
