{"id":"https://openalex.org/W4401537660","doi":"https://doi.org/10.1109/tse.2024.3443624","title":"rCanary: Detecting Memory Leaks Across Semi-Automated Memory Management Boundary in Rust","display_name":"rCanary: Detecting Memory Leaks Across Semi-Automated Memory Management Boundary in Rust","publication_year":2024,"publication_date":"2024-08-13","ids":{"openalex":"https://openalex.org/W4401537660","doi":"https://doi.org/10.1109/tse.2024.3443624"},"language":"en","primary_location":{"id":"doi:10.1109/tse.2024.3443624","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tse.2024.3443624","pdf_url":null,"source":{"id":"https://openalex.org/S8351582","display_name":"IEEE Transactions on Software Engineering","issn_l":"0098-5589","issn":["0098-5589","1939-3520","2326-3881"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Software Engineering","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":[],"countries":[],"is_corresponding":false,"raw_author_name":"Mohan Cui","raw_affiliation_strings":["Ant Group, Beijing, China"],"raw_orcid":"https://orcid.org/0000-0001-5117-5829","affiliations":[{"raw_affiliation_string":"Ant Group, Beijing, China","institution_ids":[]}]},{"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":["Fudan University of Computer Science, Shanghai, China"],"raw_orcid":"https://orcid.org/0000-0003-2465-8627","affiliations":[{"raw_affiliation_string":"Fudan University of Computer Science, Shanghai, China","institution_ids":["https://openalex.org/I24943067"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100563445","display_name":"Hongliang Tian","orcid":"https://orcid.org/0009-0005-1248-4078"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Hongliang Tian","raw_affiliation_strings":["Ant Group, Beijing, China"],"raw_orcid":"https://orcid.org/0009-0005-1248-4078","affiliations":[{"raw_affiliation_string":"Ant Group, Beijing, China","institution_ids":[]}]},{"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":["Fudan University of Computer Science, Shanghai, China"],"raw_orcid":"https://orcid.org/0000-0002-9184-7383","affiliations":[{"raw_affiliation_string":"Fudan University of Computer Science, Shanghai, China","institution_ids":["https://openalex.org/I24943067"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9366,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.76288265,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"50","issue":"9","first_page":"2472","last_page":"2484"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.6223000288009644,"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"}},"topics":[{"id":"https://openalex.org/T11181","display_name":"Advanced Data Storage Technologies","score":0.6223000288009644,"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.8010773658752441},{"id":"https://openalex.org/keywords/rust","display_name":"Rust (programming language)","score":0.68948894739151},{"id":"https://openalex.org/keywords/memory-management","display_name":"Memory management","score":0.6701422929763794},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.5915179252624512},{"id":"https://openalex.org/keywords/memory-protection","display_name":"Memory protection","score":0.41324496269226074},{"id":"https://openalex.org/keywords/boundary","display_name":"Boundary (topology)","score":0.4102778732776642},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.31305253505706787},{"id":"https://openalex.org/keywords/virtual-memory","display_name":"Virtual memory","score":0.3081546723842621},{"id":"https://openalex.org/keywords/semiconductor-memory","display_name":"Semiconductor memory","score":0.28104302287101746},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2460891306400299}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8010773658752441},{"id":"https://openalex.org/C197781089","wikidata":"https://www.wikidata.org/wiki/Q575650","display_name":"Rust (programming language)","level":2,"score":0.68948894739151},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.6701422929763794},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.5915179252624512},{"id":"https://openalex.org/C18131444","wikidata":"https://www.wikidata.org/wiki/Q163585","display_name":"Memory protection","level":5,"score":0.41324496269226074},{"id":"https://openalex.org/C62354387","wikidata":"https://www.wikidata.org/wiki/Q875399","display_name":"Boundary (topology)","level":2,"score":0.4102778732776642},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.31305253505706787},{"id":"https://openalex.org/C76399640","wikidata":"https://www.wikidata.org/wiki/Q189401","display_name":"Virtual memory","level":4,"score":0.3081546723842621},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.28104302287101746},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2460891306400299},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/tse.2024.3443624","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tse.2024.3443624","pdf_url":null,"source":{"id":"https://openalex.org/S8351582","display_name":"IEEE Transactions on Software Engineering","issn_l":"0098-5589","issn":["0098-5589","1939-3520","2326-3881"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320439","host_organization_name":"IEEE Computer Society","host_organization_lineage":["https://openalex.org/P4310320439","https://openalex.org/P4310319808"],"host_organization_lineage_names":["IEEE Computer Society","Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Software Engineering","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4395371404","display_name":null,"funder_award_id":"62372304","funder_id":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China"}],"funders":[{"id":"https://openalex.org/F4320321001","display_name":"National Natural Science Foundation of China","ror":"https://ror.org/01h0zpd94"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":59,"referenced_works":["https://openalex.org/W612300255","https://openalex.org/W1480909796","https://openalex.org/W1507902915","https://openalex.org/W1553136405","https://openalex.org/W1553894716","https://openalex.org/W1554164734","https://openalex.org/W1582836852","https://openalex.org/W1991546210","https://openalex.org/W1998587679","https://openalex.org/W2014764321","https://openalex.org/W2030776771","https://openalex.org/W2043100293","https://openalex.org/W2043855508","https://openalex.org/W2052087935","https://openalex.org/W2062838583","https://openalex.org/W2072385532","https://openalex.org/W2073407646","https://openalex.org/W2077288840","https://openalex.org/W2101512909","https://openalex.org/W2123683215","https://openalex.org/W2136839747","https://openalex.org/W2149127686","https://openalex.org/W2156428492","https://openalex.org/W2166140339","https://openalex.org/W2297774820","https://openalex.org/W2584230735","https://openalex.org/W2737641195","https://openalex.org/W2762171171","https://openalex.org/W2779850521","https://openalex.org/W2794379539","https://openalex.org/W2911865844","https://openalex.org/W2912106379","https://openalex.org/W2963104396","https://openalex.org/W2988850119","https://openalex.org/W2996725384","https://openalex.org/W3001001866","https://openalex.org/W3011557297","https://openalex.org/W3039784053","https://openalex.org/W3099830904","https://openalex.org/W3105175523","https://openalex.org/W3109383821","https://openalex.org/W3147482974","https://openalex.org/W3151648723","https://openalex.org/W3151891900","https://openalex.org/W3206881395","https://openalex.org/W3212191335","https://openalex.org/W4212853489","https://openalex.org/W4241006348","https://openalex.org/W4244800399","https://openalex.org/W4246166885","https://openalex.org/W4296880735","https://openalex.org/W4391985729","https://openalex.org/W4394744163","https://openalex.org/W6634991822","https://openalex.org/W6637688222","https://openalex.org/W6639560864","https://openalex.org/W6686122121","https://openalex.org/W6712807605","https://openalex.org/W6758589049"],"related_works":["https://openalex.org/W2055367414","https://openalex.org/W2052673929","https://openalex.org/W2138847","https://openalex.org/W261562921","https://openalex.org/W1584308544","https://openalex.org/W2379457214","https://openalex.org/W2373327185","https://openalex.org/W2351705013","https://openalex.org/W4243333834","https://openalex.org/W141798819"],"abstract_inverted_index":{"Rust":[0,134,160],"is":[1,28,71,137,167,201],"an":[2,108],"effective":[3],"system":[4],"programming":[5],"language":[6],"that":[7,37,165,204],"guarantees":[8,58],"memory":[9,32,44,70,121,197],"safety":[10],"via":[11],"compile-time":[12],"verifications.":[13],"It":[14,127],"employs":[15],"a":[16,91,118,140],"novel":[17],"ownership-based":[18],"resource":[19],"management":[20,45],"model":[21,27,97,122],"to":[22,30,50,55,99,110,169,183],"facilitate":[23],"automated":[24,96],"deallocation.":[25],"This":[26],"anticipated":[29],"eliminate":[31],"leaks.":[33,52,198],"However,":[34],"we":[35,86],"observed":[36],"user":[38],"intervention":[39],"drives":[40],"it":[41,48,166],"into":[42],"semi-automated":[43,104],"and":[46,73,94,116,136,191],"makes":[47],"error-prone":[49],"cause":[51],"In":[53,83],"contrast":[54],"violating":[56],"memory-safety":[57],"restricted":[59],"by":[60,148],"the":[61,66,74,103,155],"<italic":[62],"xmlns:mml=\"http://www.w3.org/1998/Math/MathML\"":[63,89,146],"xmlns:xlink=\"http://www.w3.org/1999/xlink\">unsafe</i>":[64],"keyword,":[65],"boundary":[67],"of":[68,158],"leaking":[69],"implicit,":[72],"compiler":[75],"would":[76],"not":[77],"emit":[78],"any":[79],"warnings":[80],"for":[81,133],"developers.":[82],"this":[84],"paper,":[85],"present":[87],"<sc":[88,145],"xmlns:xlink=\"http://www.w3.org/1999/xlink\">rCanary</small>,":[90],"static,":[92],"non-intrusive,":[93],"fully":[95],"checker":[98],"detect":[100],"leaks":[101],"across":[102],"boundary.":[105],"We":[106,143,178],"design":[107],"encoder":[109],"abstract":[111],"data":[112],"with":[113,174],"heap":[114],"allocation":[115],"formalize":[117],"refined":[119],"leak-free":[120],"based":[123],"on":[124],"boolean":[125],"satisfiability.":[126],"can":[128],"generate":[129],"SMT-Lib2":[130],"format":[131],"constraints":[132],"MIR":[135],"implemented":[138],"as":[139],"Cargo":[141],"component.":[142],"evaluate":[144],"xmlns:xlink=\"http://www.w3.org/1999/xlink\">rCanary</small>":[147],"using":[149],"flawed":[150],"package":[151],"benchmarks":[152],"collected":[153],"from":[154,189],"pull":[156],"requests":[157],"open-source":[159],"projects.":[161],"The":[162],"results":[163],"indicate":[164],"possible":[168],"recall":[170],"all":[171],"these":[172],"defects":[173],"acceptable":[175],"false":[176],"positives.":[177],"further":[179],"apply":[180],"our":[181],"tool":[182],"more":[184],"than":[185],"1,200":[186],"real-world":[187],"crates":[188,195],"crates.io":[190],"GitHub,":[192],"identifying":[193],"19":[194],"having":[196],"Our":[199],"analyzer":[200],"also":[202],"efficient,":[203],"costs":[205],"8.4":[206],"seconds":[207],"per":[208],"package.":[209]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
