{"id":"https://openalex.org/W4248066040","doi":"https://doi.org/10.1145/1190216.1190225","title":"Dynamic heap type inference for program understanding and debugging","display_name":"Dynamic heap type inference for program understanding and debugging","publication_year":2007,"publication_date":"2007-01-17","ids":{"openalex":"https://openalex.org/W4248066040","doi":"https://doi.org/10.1145/1190216.1190225"},"language":"en","primary_location":{"id":"doi:10.1145/1190216.1190225","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1190216.1190225","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"},"type":"conference-paper","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/A5103845098","display_name":"Marina Polishchuk","orcid":null},"institutions":[{"id":"https://openalex.org/I4210105678","display_name":"Microsoft (Finland)","ror":"https://ror.org/01nehjf29","country_code":"FI","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210105678"]}],"countries":["FI"],"is_corresponding":false,"raw_author_name":"Marina Polishchuk","raw_affiliation_strings":["Microsoft Corporation"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Corporation","institution_ids":["https://openalex.org/I4210105678"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030632138","display_name":"Ben Liblit","orcid":"https://orcid.org/0000-0002-2245-2839"},"institutions":[{"id":"https://openalex.org/I135310074","display_name":"University of Wisconsin\u2013Madison","ror":"https://ror.org/01y2jtd41","country_code":"US","type":"education","lineage":["https://openalex.org/I135310074"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ben Liblit","raw_affiliation_strings":["University of Wisconsin--Madison"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Wisconsin--Madison","institution_ids":["https://openalex.org/I135310074"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072555959","display_name":"Chlo\u00eb W. Schulze","orcid":null},"institutions":[{"id":"https://openalex.org/I1342911587","display_name":"Oracle (United States)","ror":"https://ror.org/006c77m33","country_code":"US","type":"company","lineage":["https://openalex.org/I1342911587"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Chlo\u00eb W. Schulze","raw_affiliation_strings":["Oracle Corporation"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Corporation","institution_ids":["https://openalex.org/I1342911587"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.8726,"has_fulltext":false,"cited_by_count":15,"citation_normalized_percentile":{"value":0.75081146,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"39","last_page":"46"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9994000196456909,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9994000196456909,"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"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9977999925613403,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8155078887939453},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.7925313711166382},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.7694910168647766},{"id":"https://openalex.org/keywords/debugger","display_name":"Debugger","score":0.6767736673355103},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6383585333824158},{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.5696850419044495},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.5309234261512756},{"id":"https://openalex.org/keywords/garbage-collection","display_name":"Garbage collection","score":0.5247678756713867},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.5165919065475464},{"id":"https://openalex.org/keywords/memory-leak","display_name":"Memory leak","score":0.4174973666667938},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.41670554876327515},{"id":"https://openalex.org/keywords/consistency","display_name":"Consistency (knowledge bases)","score":0.41381579637527466},{"id":"https://openalex.org/keywords/manual-memory-management","display_name":"Manual memory management","score":0.41361430287361145},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.40472203493118286},{"id":"https://openalex.org/keywords/garbage","display_name":"Garbage","score":0.26024842262268066},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.13761785626411438},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13427692651748657}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8155078887939453},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.7925313711166382},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.7694910168647766},{"id":"https://openalex.org/C2778485113","wikidata":"https://www.wikidata.org/wiki/Q193231","display_name":"Debugger","level":3,"score":0.6767736673355103},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6383585333824158},{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.5696850419044495},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.5309234261512756},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.5247678756713867},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.5165919065475464},{"id":"https://openalex.org/C156731835","wikidata":"https://www.wikidata.org/wiki/Q751740","display_name":"Memory leak","level":4,"score":0.4174973666667938},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.41670554876327515},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.41381579637527466},{"id":"https://openalex.org/C82810778","wikidata":"https://www.wikidata.org/wiki/Q6752316","display_name":"Manual memory management","level":4,"score":0.41361430287361145},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.40472203493118286},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.26024842262268066},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.13761785626411438},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13427692651748657}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1190216.1190225","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1190216.1190225","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":14,"referenced_works":["https://openalex.org/W220935706","https://openalex.org/W1499992849","https://openalex.org/W1514171102","https://openalex.org/W1973326708","https://openalex.org/W2005907808","https://openalex.org/W2007181618","https://openalex.org/W2098806455","https://openalex.org/W2099587209","https://openalex.org/W2105899810","https://openalex.org/W2114958714","https://openalex.org/W2131135493","https://openalex.org/W2131403402","https://openalex.org/W2134691366","https://openalex.org/W2147683775"],"related_works":["https://openalex.org/W2182829270","https://openalex.org/W2145076998","https://openalex.org/W2188240052","https://openalex.org/W2304927939","https://openalex.org/W2011342976","https://openalex.org/W2592247214","https://openalex.org/W2007630246","https://openalex.org/W54833955","https://openalex.org/W2146166870","https://openalex.org/W2005907808"],"abstract_inverted_index":{"C":[0,23],"programs":[1],"can":[2],"be":[3],"difficult":[4],"to":[5,8,15,113],"debug":[6,71],"due":[7],"lax":[9],"type":[10,49,64],"enforcement":[11],"and":[12,41,88,102],"low-level":[13],"access":[14],"memory.":[16],"We":[17,45,92],"present":[18],"a":[19,47,82],"dynamic":[20],"analysis":[21,68,96],"for":[22,28,50],"that":[24,59],"checks":[25],"heap":[26,61,90],"snapshots":[27],"consistency":[29],"with":[30,110],"program":[31,86],"types.":[32],"Our":[33],"approach":[34],"builds":[35],"on":[36],"ideas":[37],"from":[38],"physical":[39],"subtyping":[40],"conservative":[42],"garbage":[43],"collection.":[44],"infer":[46],"program-defined":[48],"each":[51],"allocated":[52,89],"storage":[53],"location":[54],"or":[55,63,79],"identify":[56],"\"untypable\"":[57],"blocks":[58],"reveal":[60],"corruption":[62],"safety":[65],"violations.":[66],"The":[67],"exploits":[69],"symbolic":[70],"information":[72],"if":[73],"present,":[74],"but":[75],"requires":[76],"no":[77],"annotation":[78],"recompilation":[80],"beyond":[81],"list":[83],"of":[84],"defined":[85],"types":[87],"blocks.":[91],"have":[93],"integrated":[94],"our":[95,104],"into":[97],"the":[98],"GNU":[99],"Debugger":[100],"(gdb),":[101],"describe":[103],"initial":[105],"experience":[106],"using":[107],"this":[108],"tool":[109],"several":[111],"small":[112],"medium-sized":[114],"programs.":[115]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
