{"id":"https://openalex.org/W3151648723","doi":"https://doi.org/10.1145/3542948","title":"SafeDrop: Detecting Memory Deallocation Bugs of Rust Programs via Static Data-flow Analysis","display_name":"SafeDrop: Detecting Memory Deallocation Bugs of Rust Programs via Static Data-flow Analysis","publication_year":2022,"publication_date":"2022-06-21","ids":{"openalex":"https://openalex.org/W3151648723","doi":"https://doi.org/10.1145/3542948","mag":"3151648723"},"language":"en","primary_location":{"id":"doi:10.1145/3542948","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3542948","pdf_url":null,"source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"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 Software Engineering and Methodology","raw_type":"journal-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/A5072937197","display_name":"Mohan Cui","orcid":"https://orcid.org/0000-0001-5117-5829"},"institutions":[{"id":"https://openalex.org/I24943067","display_name":"Fudan University","ror":"https://ror.org/013q1eq08","country_code":"CN","type":"education","lineage":["https://openalex.org/I24943067"]}],"countries":["CN"],"is_corresponding":true,"raw_author_name":"Mohan Cui","raw_affiliation_strings":["School of Computer Science, Fudan University, China"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, Fudan University, China","institution_ids":["https://openalex.org/I24943067"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5061366737","display_name":"Chengjun Chen","orcid":"https://orcid.org/0000-0001-7622-560X"},"institutions":[{"id":"https://openalex.org/I24943067","display_name":"Fudan University","ror":"https://ror.org/013q1eq08","country_code":"CN","type":"education","lineage":["https://openalex.org/I24943067"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Chengjun Chen","raw_affiliation_strings":["School of Computer Science, Fudan University, China"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, Fudan University, China","institution_ids":["https://openalex.org/I24943067"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014520888","display_name":"Hui Xu","orcid":"https://orcid.org/0000-0003-2465-8627"},"institutions":[{"id":"https://openalex.org/I24943067","display_name":"Fudan University","ror":"https://ror.org/013q1eq08","country_code":"CN","type":"education","lineage":["https://openalex.org/I24943067"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Hui Xu","raw_affiliation_strings":["School of Computer Science, Fudan University, China"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, Fudan University, China","institution_ids":["https://openalex.org/I24943067"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101465219","display_name":"Yangfan Zhou","orcid":"https://orcid.org/0000-0002-9184-7383"},"institutions":[{"id":"https://openalex.org/I24943067","display_name":"Fudan University","ror":"https://ror.org/013q1eq08","country_code":"CN","type":"education","lineage":["https://openalex.org/I24943067"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Yangfan Zhou","raw_affiliation_strings":["School of Computer Science, Fudan University and Shanghai Key Laboratory of Intelligent Information Processing, China"],"affiliations":[{"raw_affiliation_string":"School of Computer Science, Fudan University and Shanghai Key Laboratory of Intelligent Information Processing, China","institution_ids":["https://openalex.org/I24943067"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5072937197"],"corresponding_institution_ids":["https://openalex.org/I24943067"],"apc_list":null,"apc_paid":null,"fwci":5.1363,"has_fulltext":false,"cited_by_count":42,"citation_normalized_percentile":{"value":0.95856597,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":100},"biblio":{"volume":"32","issue":"4","first_page":"1","last_page":"21"},"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.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"}},"topics":[{"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9986000061035156,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8532251119613647},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.7562798261642456},{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.7301305532455444},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.48913079500198364},{"id":"https://openalex.org/keywords/false-positive-paradox","display_name":"False positive paradox","score":0.4139529764652252},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4029506742954254},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.3309166133403778},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.22248578071594238},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.19702047109603882},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.10686731338500977}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8532251119613647},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.7562798261642456},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.7301305532455444},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.48913079500198364},{"id":"https://openalex.org/C64869954","wikidata":"https://www.wikidata.org/wiki/Q1859747","display_name":"False positive paradox","level":2,"score":0.4139529764652252},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4029506742954254},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.3309166133403778},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.22248578071594238},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.19702047109603882},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.10686731338500977}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3542948","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3542948","pdf_url":null,"source":{"id":"https://openalex.org/S142627899","display_name":"ACM Transactions on Software Engineering and Methodology","issn_l":"1049-331X","issn":["1049-331X","1557-7392"],"is_oa":false,"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 Software Engineering and Methodology","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Decent work and economic growth","id":"https://metadata.un.org/sdg/8","score":0.4399999976158142}],"awards":[{"id":"https://openalex.org/G235309033","display_name":null,"funder_award_id":"22ZR1407900","funder_id":"https://openalex.org/F4320309612","funder_display_name":"Natural Science Foundation of Shanghai"}],"funders":[{"id":"https://openalex.org/F4320309612","display_name":"Natural Science Foundation of Shanghai","ror":null}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":46,"referenced_works":["https://openalex.org/W135050590","https://openalex.org/W1527905812","https://openalex.org/W1878544538","https://openalex.org/W1967629533","https://openalex.org/W1991546210","https://openalex.org/W1996567876","https://openalex.org/W1997394198","https://openalex.org/W2020841721","https://openalex.org/W2030776771","https://openalex.org/W2036918610","https://openalex.org/W2059278087","https://openalex.org/W2062838583","https://openalex.org/W2072385532","https://openalex.org/W2114054012","https://openalex.org/W2131135493","https://openalex.org/W2136938453","https://openalex.org/W2149237601","https://openalex.org/W2156858199","https://openalex.org/W2245053900","https://openalex.org/W2249862487","https://openalex.org/W2400705738","https://openalex.org/W2606752733","https://openalex.org/W2737641195","https://openalex.org/W2751343396","https://openalex.org/W2765284675","https://openalex.org/W2779850521","https://openalex.org/W2794379539","https://openalex.org/W2794889478","https://openalex.org/W2913530642","https://openalex.org/W2953899265","https://openalex.org/W2963566160","https://openalex.org/W2994905145","https://openalex.org/W2996725384","https://openalex.org/W3010592047","https://openalex.org/W3034030180","https://openalex.org/W3039784053","https://openalex.org/W3089734599","https://openalex.org/W3091734871","https://openalex.org/W3099830904","https://openalex.org/W3109383821","https://openalex.org/W3202751128","https://openalex.org/W3206881395","https://openalex.org/W3212191335","https://openalex.org/W4239035626","https://openalex.org/W4244800399","https://openalex.org/W6772279401"],"related_works":["https://openalex.org/W2479014312","https://openalex.org/W1583465708","https://openalex.org/W1541585229","https://openalex.org/W1601646354","https://openalex.org/W4235959758","https://openalex.org/W1577309527","https://openalex.org/W2036928080","https://openalex.org/W1979576862","https://openalex.org/W3129453358","https://openalex.org/W3151648723"],"abstract_inverted_index":{"Rust":[0,17,95,133],"is":[1],"an":[2],"emerging":[3],"programming":[4],"language":[5],"that":[6,138],"aims":[7],"to":[8,58,84,110,164],"prevent":[9],"memory-safety":[10,28],"bugs.":[11,87],"However,":[12],"the":[13,25,46,68,132,139,165],"current":[14],"design":[15],"of":[16,27,41,70,93,154],"also":[18],"brings":[19],"side":[20],"effects,":[21],"which":[22],"may":[23,50],"increase":[24],"risk":[26],"issues.":[29,62],"In":[30,63],"particular,":[31],"it":[32,130],"employs":[33],"ownership-based":[34],"resource":[35],"management":[36],"and":[37,56,74,101,115,128,157],"enforces":[38],"automatic":[39],"deallocation":[40,73],"unused":[42],"resources":[43],"without":[44],"using":[45],"garbage":[47],"collector.":[48],"It":[49,104],"therefore":[51],"falsely":[52],"deallocate":[53],"reclaimed":[54],"memory":[55,72],"lead":[57],"use-after-free":[59],"or":[60],"double-free":[61],"this":[64],"article,":[65],"we":[66],"study":[67],"problem":[69],"invalid":[71],"propose":[75],"SafeDrop":[76],",":[77],"a":[78,94,99,106,116,151,159],"static":[79],"path-sensitive":[80,113],"data-flow":[81],"analysis":[82,114],"approach":[83,89,127,140],"detect":[85,143],"such":[86,145],"Our":[88],"analyzes":[90],"each":[91],"function":[92],"crate":[96],"iteratively":[97],"in":[98,147],"flow-sensitive":[100],"field-sensitive":[102],"way.":[103],"leverages":[105],"modified":[107],"Tarjan":[108],"algorithm":[109],"achieve":[111],"scalable":[112],"cache-based":[117],"strategy":[118],"for":[119],"efficient":[120],"inter-procedural":[121],"analysis.":[122],"We":[123],"have":[124],"implemented":[125],"our":[126,148],"integrated":[129],"into":[131],"compiler.":[134],"Experiment":[135],"results":[136],"show":[137],"can":[141],"successfully":[142],"all":[144],"bugs":[146],"experiments":[149],"with":[150],"limited":[152],"number":[153],"false":[155],"positives":[156],"incurs":[158],"very":[160],"small":[161],"overhead":[162],"compared":[163],"original":[166],"compilation":[167],"time.":[168]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":13},{"year":2024,"cited_by_count":15},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":3}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
