{"id":"https://openalex.org/W7147697345","doi":"https://doi.org/10.48550/arxiv.2603.27224","title":"Finding Memory Leaks in C/C++ Programs via Neuro-Symbolic Augmented Static Analysis","display_name":"Finding Memory Leaks in C/C++ Programs via Neuro-Symbolic Augmented Static Analysis","publication_year":2026,"publication_date":"2026-03-28","ids":{"openalex":"https://openalex.org/W7147697345","doi":"https://doi.org/10.48550/arxiv.2603.27224"},"language":null,"primary_location":{"id":"doi:10.48550/arxiv.2603.27224","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2603.27224","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article"},"type":"preprint","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.48550/arxiv.2603.27224","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5132550242","display_name":"Huihui Huang","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Huang, Huihui","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002667771","display_name":"Jieke Shi","orcid":"https://orcid.org/0000-0002-0799-5018"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Shi, Jieke","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5132549325","display_name":"Bo Wang","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Wang, Bo","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5132623993","display_name":"Zhou Yang","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Yang, Zhou","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5132551437","display_name":"David Lo","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Lo, David","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5132550242"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"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.24819999933242798,"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.24819999933242798,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.20469999313354492,"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"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.15410000085830688,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/symbolic-execution","display_name":"Symbolic execution","score":0.6827999949455261},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.5591999888420105},{"id":"https://openalex.org/keywords/memory-errors","display_name":"Memory errors","score":0.49309998750686646},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.4526999890804291},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4521999955177307},{"id":"https://openalex.org/keywords/memory-safety","display_name":"Memory safety","score":0.4487000107765198},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.4255000054836273},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.42329999804496765},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.42329999804496765},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4219000041484833}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8083999752998352},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.6827999949455261},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.5591999888420105},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5378000140190125},{"id":"https://openalex.org/C119907115","wikidata":"https://www.wikidata.org/wiki/Q6815725","display_name":"Memory errors","level":3,"score":0.49309998750686646},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.4526999890804291},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4521999955177307},{"id":"https://openalex.org/C28180684","wikidata":"https://www.wikidata.org/wiki/Q4080983","display_name":"Memory safety","level":3,"score":0.4487000107765198},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.4255000054836273},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.42329999804496765},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.42329999804496765},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4219000041484833},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3921999931335449},{"id":"https://openalex.org/C51929080","wikidata":"https://www.wikidata.org/wiki/Q2425187","display_name":"Codebase","level":3,"score":0.37619999051094055},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.37049999833106995},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.36890000104904175},{"id":"https://openalex.org/C136085584","wikidata":"https://www.wikidata.org/wiki/Q910289","display_name":"Overlay","level":2,"score":0.362199991941452},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.35679998993873596},{"id":"https://openalex.org/C1009929","wikidata":"https://www.wikidata.org/wiki/Q179550","display_name":"Software bug","level":3,"score":0.3359000086784363},{"id":"https://openalex.org/C2777735758","wikidata":"https://www.wikidata.org/wiki/Q817765","display_name":"Path (computing)","level":2,"score":0.32269999384880066},{"id":"https://openalex.org/C176649486","wikidata":"https://www.wikidata.org/wiki/Q2308807","display_name":"Memory management","level":3,"score":0.31279999017715454},{"id":"https://openalex.org/C153247305","wikidata":"https://www.wikidata.org/wiki/Q835713","display_name":"Memory address","level":3,"score":0.2953999936580658},{"id":"https://openalex.org/C2776291640","wikidata":"https://www.wikidata.org/wiki/Q2912517","display_name":"Value (mathematics)","level":2,"score":0.2939999997615814},{"id":"https://openalex.org/C77618280","wikidata":"https://www.wikidata.org/wiki/Q1155772","display_name":"Scheme (mathematics)","level":2,"score":0.29319998621940613},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.290800005197525},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.2874999940395355},{"id":"https://openalex.org/C79403827","wikidata":"https://www.wikidata.org/wiki/Q3988","display_name":"Real-time computing","level":1,"score":0.28619998693466187},{"id":"https://openalex.org/C65620979","wikidata":"https://www.wikidata.org/wiki/Q7661176","display_name":"Symbolic data analysis","level":2,"score":0.2849999964237213},{"id":"https://openalex.org/C125411270","wikidata":"https://www.wikidata.org/wiki/Q18653","display_name":"Encoding (memory)","level":2,"score":0.2766000032424927},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.27459999918937683},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.26930001378059387},{"id":"https://openalex.org/C186799414","wikidata":"https://www.wikidata.org/wiki/Q3494571","display_name":"Logical address","level":4,"score":0.25780001282691956},{"id":"https://openalex.org/C64869954","wikidata":"https://www.wikidata.org/wiki/Q1859747","display_name":"False positive paradox","level":2,"score":0.2515000104904175}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.48550/arxiv.2603.27224","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2603.27224","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article"}],"best_oa_location":{"id":"doi:10.48550/arxiv.2603.27224","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.2603.27224","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Memory":[0],"leaks":[1,181],"remain":[2],"prevalent":[3],"in":[4],"real-world":[5,167],"C/C++":[6,168],"software.":[7],"Static":[8],"analyzers":[9],"such":[10,20,97],"as":[11,69,98],"CodeQL":[12,132,198],"provide":[13],"scalable":[14],"program":[15],"analysis":[16],"but":[17],"frequently":[18],"miss":[19],"bugs":[21],"because":[22],"they":[23],"cannot":[24],"recognize":[25],"project-specific":[26],"custom":[27],"memory-management":[28],"functions":[29],"and":[30,61,100,133,150,199],"lack":[31],"path-sensitive":[32],"control-flow":[33,112],"modeling.":[34],"We":[35],"present":[36],"MemHint,":[37],"a":[38,70,151,162],"neuro-symbolic":[39],"pipeline":[40],"that":[41,79],"addresses":[42],"both":[43],"limitations":[44],"by":[45,196,201],"combining":[46],"LLMs'":[47],"semantic":[48],"understanding":[49],"of":[50,174],"code":[51],"with":[52],"Z3-based":[53,103],"symbolic":[54],"reasoning.":[55],"MemHint":[56,176],"parses":[57],"the":[58,90,110],"target":[59],"codebase":[60],"applies":[62],"an":[63],"LLM":[64],"to":[65,194],"classify":[66],"each":[67,107,158],"function":[68,77],"memory":[71,87,118,180],"allocator,":[72],"deallocator,":[73],"or":[74,83],"neither,":[75],"producing":[76],"summaries":[78,128],"record":[80],"which":[81],"argument":[82],"return":[84],"value":[85],"carries":[86],"ownership,":[88],"extending":[89],"analyzer's":[91],"built-in":[92],"knowledge":[93],"beyond":[94],"standard":[95],"primitives":[96],"malloc":[99],"free.":[101],"A":[102],"validation":[104,154],"step":[105,155],"checks":[106],"summary":[108],"against":[109],"function's":[111],"graph,":[113],"discarding":[114],"those":[115],"whose":[116],"claimed":[117],"operation":[119],"is":[120,161],"unreachable":[121],"on":[122,147],"any":[123],"feasible":[124],"path.":[125],"The":[126],"validated":[127],"are":[129],"injected":[130],"into":[131],"Infer":[134],"via":[135],"their":[136],"respective":[137],"extension":[138],"mechanisms.":[139],"Z3":[140],"path":[141],"feasibility":[142],"filtering":[143],"then":[144],"eliminates":[145],"warnings":[146],"infeasible":[148],"paths,":[149],"final":[152],"LLM-based":[153],"confirms":[156],"whether":[157],"remaining":[159],"warning":[160],"genuine":[163],"bug.":[164],"On":[165],"seven":[166],"projects":[169],"totaling":[170],"over":[171],"3.4M":[172],"lines":[173],"code,":[175],"detects":[177],"52":[178],"unique":[179],"(49":[182],"confirmed/fixed,":[183],"4":[184],"CVEs":[185],"submitted)":[186],"at":[187],"approximately":[188],"$1.7":[189],"per":[190],"detected":[191],"bug,":[192],"compared":[193],"19":[195],"vanilla":[197,202],"3":[200],"Infer.":[203]},"counts_by_year":[],"updated_date":"2026-04-30T06:05:26.967640","created_date":"2026-04-02T00:00:00"}
