{"id":"https://openalex.org/W2135531618","doi":"https://doi.org/10.1145/1254810.1254820","title":"How to shadow every byte of memory used by a program","display_name":"How to shadow every byte of memory used by a program","publication_year":2007,"publication_date":"2007-06-13","ids":{"openalex":"https://openalex.org/W2135531618","doi":"https://doi.org/10.1145/1254810.1254820","mag":"2135531618"},"language":"en","primary_location":{"id":"doi:10.1145/1254810.1254820","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1254810.1254820","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 3rd international conference on Virtual execution environments","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/A5009493544","display_name":"Nicholas Nethercote","orcid":null},"institutions":[{"id":"https://openalex.org/I42894916","display_name":"Data61","ror":"https://ror.org/03q397159","country_code":"AU","type":"other","lineage":["https://openalex.org/I1292875679","https://openalex.org/I2801453606","https://openalex.org/I42894916","https://openalex.org/I4387156119"]}],"countries":["AU"],"is_corresponding":true,"raw_author_name":"Nicholas Nethercote","raw_affiliation_strings":["National ICT Australia, Melbourne, Australia"],"affiliations":[{"raw_affiliation_string":"National ICT Australia, Melbourne, Australia","institution_ids":["https://openalex.org/I42894916"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5040938803","display_name":"Julian Seward","orcid":null},"institutions":[{"id":"https://openalex.org/I2800220363","display_name":"Open Group","ror":"https://ror.org/01j5zzr31","country_code":"GB","type":"other","lineage":["https://openalex.org/I2800220363"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Julian Seward","raw_affiliation_strings":["OpenWorks LLP, Cambridge, United Kngdm"],"affiliations":[{"raw_affiliation_string":"OpenWorks LLP, Cambridge, United Kngdm","institution_ids":["https://openalex.org/I2800220363"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5009493544"],"corresponding_institution_ids":["https://openalex.org/I42894916"],"apc_list":null,"apc_paid":null,"fwci":19.0956,"has_fulltext":false,"cited_by_count":241,"citation_normalized_percentile":{"value":0.99607693,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"65","last_page":"74"},"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.9995999932289124,"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.9995999932289124,"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.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/T11005","display_name":"Radiation Effects in Electronics","score":0.9962000250816345,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8265849947929382},{"id":"https://openalex.org/keywords/shadow","display_name":"Shadow (psychology)","score":0.7279796004295349},{"id":"https://openalex.org/keywords/memory-address","display_name":"Memory address","score":0.6425919532775879},{"id":"https://openalex.org/keywords/byte","display_name":"Byte","score":0.5738043785095215},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.5724784135818481},{"id":"https://openalex.org/keywords/memory-map","display_name":"Memory map","score":0.5429184436798096},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.5081775188446045},{"id":"https://openalex.org/keywords/flat-memory-model","display_name":"Flat memory model","score":0.4915092885494232},{"id":"https://openalex.org/keywords/c-dynamic-memory-allocation","display_name":"C dynamic memory allocation","score":0.4663758873939514},{"id":"https://openalex.org/keywords/memory-errors","display_name":"Memory errors","score":0.44463589787483215},{"id":"https://openalex.org/keywords/extended-memory","display_name":"Extended memory","score":0.4393296539783478},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.33337774872779846},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.2972073554992676}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8265849947929382},{"id":"https://openalex.org/C117797892","wikidata":"https://www.wikidata.org/wiki/Q286363","display_name":"Shadow (psychology)","level":2,"score":0.7279796004295349},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.6425919532775879},{"id":"https://openalex.org/C43364308","wikidata":"https://www.wikidata.org/wiki/Q8799","display_name":"Byte","level":2,"score":0.5738043785095215},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.5724784135818481},{"id":"https://openalex.org/C74426580","wikidata":"https://www.wikidata.org/wiki/Q719484","display_name":"Memory map","level":3,"score":0.5429184436798096},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.5081775188446045},{"id":"https://openalex.org/C57863822","wikidata":"https://www.wikidata.org/wiki/Q905488","display_name":"Flat memory model","level":4,"score":0.4915092885494232},{"id":"https://openalex.org/C34339311","wikidata":"https://www.wikidata.org/wiki/Q1050390","display_name":"C dynamic memory allocation","level":4,"score":0.4663758873939514},{"id":"https://openalex.org/C119907115","wikidata":"https://www.wikidata.org/wiki/Q6815725","display_name":"Memory errors","level":3,"score":0.44463589787483215},{"id":"https://openalex.org/C171675096","wikidata":"https://www.wikidata.org/wiki/Q1143380","display_name":"Extended memory","level":4,"score":0.4393296539783478},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.33337774872779846},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.2972073554992676},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.0},{"id":"https://openalex.org/C100660578","wikidata":"https://www.wikidata.org/wiki/Q18733","display_name":"Recall","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C542102704","wikidata":"https://www.wikidata.org/wiki/Q183257","display_name":"Psychotherapist","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1254810.1254820","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1254810.1254820","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 3rd international conference on Virtual execution environments","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.643.7117","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.643.7117","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.tufts.edu/comp/150BUGS/valgrind-2007.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W145355838","https://openalex.org/W1504080977","https://openalex.org/W1514171102","https://openalex.org/W1561114929","https://openalex.org/W1603941001","https://openalex.org/W1788386172","https://openalex.org/W1972544179","https://openalex.org/W1989918304","https://openalex.org/W1995330182","https://openalex.org/W2041879716","https://openalex.org/W2102970979","https://openalex.org/W2117115928","https://openalex.org/W2134633067","https://openalex.org/W2144789413","https://openalex.org/W2156858199","https://openalex.org/W2157575657","https://openalex.org/W2161992906","https://openalex.org/W2183177643","https://openalex.org/W2186641673","https://openalex.org/W4239813889","https://openalex.org/W4241742433"],"related_works":["https://openalex.org/W2334181344","https://openalex.org/W2401095501","https://openalex.org/W1554378476","https://openalex.org/W2558276258","https://openalex.org/W4293054943","https://openalex.org/W4214748026","https://openalex.org/W2033239416","https://openalex.org/W4205681535","https://openalex.org/W4320916037","https://openalex.org/W2135531618"],"abstract_inverted_index":{"Several":[0],"existing":[1,38,60],"dynamic":[2,102],"binary":[3,103],"analysis":[4],"tools":[5,61],"use":[6,63],"shadowmemory-they":[7],"shadow,":[8],"in":[9,46,92,123],"software,":[10],"every":[11],"byte":[12],"of":[13,58,77,89,128,166,188,212,224],"memory":[14,28,40,53,71,91,96,133,159,177,204,216,227,237],"used":[15,183],"by":[16,186],"a":[17,94,101,124,154,213],"program":[18],"with":[19,99,240],"another":[20],"value":[21],"that":[22,62,112],"says":[23],"something":[24],"about":[25,164],"it.":[26],"Shadow":[27],"is":[29,49,54,143,179,182,199,207],"difficult":[30],"to":[31,201,234],"implement":[32],"both":[33],"efficiently":[34],"and":[35,75,120,131,147,157,196,198,218],"robustly.":[36],"Nonetheless,":[37],"shadow":[39,52,90,158,176,215,226,236],"implementations":[41],"have":[42],"not":[43],"been":[44],"studied":[45],"detail.":[47],"This":[48,106,135,206],"unfortunate,":[50],"because":[51],"powerful-for":[55],"example,":[56],"some":[57,173],"the":[59,87,208,219],"it":[64,114,142,181],"detect":[65],"critical":[66],"errors":[67],"such":[68,193],"as":[69,194],"bad":[70],"accesses,":[72],"data":[73,118],"races,":[74],"uses":[76],"uninitialised":[78],"or":[79],"untrusted":[80],"data.":[81],"In":[82],"this":[83],"paper":[84],"we":[85,140],"describe":[86],"implementation":[88,107,178],"Memcheck,":[93],"popular":[95],"checker":[97],"built":[98,239],"Valgrind,":[100],"instrumentation":[104,242],"framework.":[105,243],"has":[108],"several":[109],"novel":[110],"features":[111],"make":[113],"efficient:":[115],"carefully":[116],"chosen":[117],"structures":[119],"operations":[121,160],"result":[122],"mean":[125],"slow-down":[126],"factor":[127],"only":[129,163],"22.2":[130],"moderate":[132],"usage.":[134],"may":[136],"sound":[137],"slow,":[138],"but":[139],"show":[141],"8.9":[144],"times":[145,149],"faster":[146],"8.5":[148],"smaller":[150],"on":[151,184,190],"average":[152],"than":[153],"naive":[155],"implementation,":[156,217],"account":[161],"for":[162],"half":[165],"Memcheck's":[167,175],"execution":[168],"time.":[169],"Equally":[170],"importantly,":[171],"unlike":[172],"tools,":[174],"robust:":[180],"Linux":[185],"thousands":[187],"programmers":[189],"sizeable":[191],"programs":[192],"Mozilla":[195],"OpenOffice,":[197],"suited":[200],"almost":[202],"any":[203,225,235,241],"configuration.":[205],"first":[209,220],"detailed":[210,221],"description":[211],"robust":[214],"experimental":[222],"evaluation":[223],"implementation.":[228],"The":[229],"ideas":[230],"within":[231],"are":[232],"applicable":[233],"tool":[238]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":6},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":7},{"year":2020,"cited_by_count":6},{"year":2019,"cited_by_count":12},{"year":2018,"cited_by_count":20},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":9},{"year":2015,"cited_by_count":20},{"year":2014,"cited_by_count":14},{"year":2013,"cited_by_count":24},{"year":2012,"cited_by_count":26}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
