{"id":"https://openalex.org/W2761428514","doi":"https://doi.org/10.1145/3133892","title":"Heaps don't lie: countering unsoundness with heap snapshots","display_name":"Heaps don't lie: countering unsoundness with heap snapshots","publication_year":2017,"publication_date":"2017-10-12","ids":{"openalex":"https://openalex.org/W2761428514","doi":"https://doi.org/10.1145/3133892","mag":"2761428514"},"language":"en","primary_location":{"id":"doi:10.1145/3133892","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3133892","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3133892&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=3133892&type=pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5068595267","display_name":"Neville Grech","orcid":"https://orcid.org/0000-0002-6790-2872"},"institutions":[{"id":"https://openalex.org/I197854408","display_name":"University of Malta","ror":"https://ror.org/03a62bv60","country_code":"MT","type":"education","lineage":["https://openalex.org/I197854408"]},{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR","MT"],"is_corresponding":true,"raw_author_name":"Neville Grech","raw_affiliation_strings":["University of Athens, Greece / University of Malta, Malta"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece / University of Malta, Malta","institution_ids":["https://openalex.org/I197854408","https://openalex.org/I200777214"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5029661538","display_name":"George Fourtounis","orcid":null},"institutions":[{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR"],"is_corresponding":false,"raw_author_name":"George Fourtounis","raw_affiliation_strings":["University of Athens, Greece"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece","institution_ids":["https://openalex.org/I200777214"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077349456","display_name":"Adrian Francalanza","orcid":"https://orcid.org/0000-0003-3829-7391"},"institutions":[{"id":"https://openalex.org/I197854408","display_name":"University of Malta","ror":"https://ror.org/03a62bv60","country_code":"MT","type":"education","lineage":["https://openalex.org/I197854408"]}],"countries":["MT"],"is_corresponding":false,"raw_author_name":"Adrian Francalanza","raw_affiliation_strings":["University of Malta, Malta"],"affiliations":[{"raw_affiliation_string":"University of Malta, Malta","institution_ids":["https://openalex.org/I197854408"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043949214","display_name":"Yannis Smaragdakis","orcid":"https://orcid.org/0000-0002-0499-0182"},"institutions":[{"id":"https://openalex.org/I200777214","display_name":"National and Kapodistrian University of Athens","ror":"https://ror.org/04gnjpq42","country_code":"GR","type":"education","lineage":["https://openalex.org/I200777214"]}],"countries":["GR"],"is_corresponding":false,"raw_author_name":"Yannis Smaragdakis","raw_affiliation_strings":["University of Athens, Greece"],"affiliations":[{"raw_affiliation_string":"University of Athens, Greece","institution_ids":["https://openalex.org/I200777214"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5068595267"],"corresponding_institution_ids":["https://openalex.org/I197854408","https://openalex.org/I200777214"],"apc_list":null,"apc_paid":null,"fwci":5.9905,"has_fulltext":true,"cited_by_count":26,"citation_normalized_percentile":{"value":0.96616915,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"1","issue":"OOPSLA","first_page":"1","last_page":"27"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998999834060669,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9998000264167786,"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/T10260","display_name":"Software Engineering Research","score":0.9997000098228455,"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/heap","display_name":"Heap (data structure)","score":0.9072055220603943},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8154162764549255},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.760009765625},{"id":"https://openalex.org/keywords/taint-checking","display_name":"Taint checking","score":0.5806625485420227},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5588567852973938},{"id":"https://openalex.org/keywords/toolchain","display_name":"Toolchain","score":0.47359326481819153},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.45961564779281616},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.4552151560783386},{"id":"https://openalex.org/keywords/symbolic-execution","display_name":"Symbolic execution","score":0.4520053267478943},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.4151002764701843},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3653927743434906},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3223974406719208},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.17575517296791077}],"concepts":[{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.9072055220603943},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8154162764549255},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.760009765625},{"id":"https://openalex.org/C63116202","wikidata":"https://www.wikidata.org/wiki/Q7676227","display_name":"Taint checking","level":3,"score":0.5806625485420227},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5588567852973938},{"id":"https://openalex.org/C2777062904","wikidata":"https://www.wikidata.org/wiki/Q545406","display_name":"Toolchain","level":3,"score":0.47359326481819153},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.45961564779281616},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.4552151560783386},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.4520053267478943},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.4151002764701843},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3653927743434906},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3223974406719208},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.17575517296791077}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3133892","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3133892","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3133892&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1905.02088","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1905.02088","pdf_url":"https://arxiv.org/pdf/1905.02088","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":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:www.um.edu.mt:123456789/86114","is_oa":true,"landing_page_url":"https://www.um.edu.mt/library/oar/handle/123456789/86114","pdf_url":null,"source":{"id":"https://openalex.org/S4306400782","display_name":"OAR@UM (University of Malta)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I197854408","host_organization_name":"University of Malta","host_organization_lineage":["https://openalex.org/I197854408"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3133892","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3133892","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3133892&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.41999998688697815,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G3353455283","display_name":null,"funder_award_id":"307334","funder_id":"https://openalex.org/F4320334678","funder_display_name":"European Research Council"},{"id":"https://openalex.org/G5374134968","display_name":null,"funder_award_id":"European Social Fund","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G6870533126","display_name":null,"funder_award_id":"2014-2020","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G8051717526","display_name":null,"funder_award_id":"Grant","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G8332591845","display_name":"Sophisticated Program Analysis, Declaratively","funder_award_id":"307334","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"}],"funders":[{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320334678","display_name":"European Research Council","ror":"https://ror.org/0472cxd90"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2761428514.pdf","grobid_xml":"https://content.openalex.org/works/W2761428514.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W4015096","https://openalex.org/W100035078","https://openalex.org/W148396834","https://openalex.org/W1498382327","https://openalex.org/W1568105243","https://openalex.org/W1668251704","https://openalex.org/W1810163311","https://openalex.org/W1877117362","https://openalex.org/W2008865455","https://openalex.org/W2009489720","https://openalex.org/W2051527230","https://openalex.org/W2080696000","https://openalex.org/W2086014732","https://openalex.org/W2089380104","https://openalex.org/W2096449544","https://openalex.org/W2105559023","https://openalex.org/W2117562822","https://openalex.org/W2119424404","https://openalex.org/W2122592814","https://openalex.org/W2126667017","https://openalex.org/W2134732158","https://openalex.org/W2139980638","https://openalex.org/W2140021378","https://openalex.org/W2148535470","https://openalex.org/W2151955461","https://openalex.org/W2162405266","https://openalex.org/W2162544703","https://openalex.org/W2166091242","https://openalex.org/W2166743230","https://openalex.org/W2167363133","https://openalex.org/W2493901872","https://openalex.org/W2514626402","https://openalex.org/W2583141382","https://openalex.org/W2617348763","https://openalex.org/W2763994238","https://openalex.org/W4237492309","https://openalex.org/W4247889999","https://openalex.org/W4249990212","https://openalex.org/W4251478049","https://openalex.org/W4386688170"],"related_works":["https://openalex.org/W4313212223","https://openalex.org/W4376622240","https://openalex.org/W4313547540","https://openalex.org/W4317382974","https://openalex.org/W4285104766","https://openalex.org/W2004278744","https://openalex.org/W2919495556","https://openalex.org/W1637912404","https://openalex.org/W2058510542","https://openalex.org/W2138788987"],"abstract_inverted_index":{"Static":[0],"analyses":[1,25],"aspire":[2],"to":[3,10,18,48,77,102,124,149],"explore":[4],"all":[5],"possible":[6],"executions":[7,175],"in":[8,14,57,85,91],"order":[9],"achieve":[11],"soundness.":[12],"Yet,":[13],"practice,":[15],"they":[16],"fail":[17],"capture":[19,103],"common":[20,31],"dynamic":[21,27,45,107,143,174],"behavior.":[22,115],"Enhancing":[23],"static":[24,71,126,147,159],"with":[26,33,73],"information":[28,138],"is":[29,83],"a":[30,70,146],"pattern,":[32],"tools":[34],"such":[35,114],"as":[36,121],"Tamiflex.":[37],"Past":[38],"approaches,":[39],"however,":[40],"miss":[41],"significant":[42,104],"portions":[43],"of":[44,69,106,110,113,142,161,168,172],"behavior,":[46,108],"due":[47],"native":[49],"code,":[50],"unsupported":[51],"features":[52],"(e.g.,":[53],"invokedynamic":[54],"or":[55],"lambdas":[56],"Java),":[58],"and":[59,89,133],"more.":[60],"We":[61],"present":[62],"techniques":[63],"that":[64,98],"substantially":[65],"counteract":[66],"the":[67,78,86,111,125,162,169,179],"unsoundness":[68],"analysis,":[72],"virtually":[74],"no":[75],"intrusion":[76],"analysis":[79,148,160],"logic.":[80],"Our":[81],"approach":[82,129],"reified":[84],"HeapDL":[87],"toolchain":[88],"consists":[90],"taking":[92],"whole-heap":[93],"snapshots":[94,117],"during":[95],"program":[96],"execution,":[97],"are":[99,118],"further":[100],"enriched":[101],"aspects":[105],"regardless":[109],"causes":[112],"The":[116,128],"then":[119],"used":[120],"extra":[122],"inputs":[123,144],"analysis.":[127],"exhibits":[130],"both":[131],"portability":[132],"significantly":[134],"increased":[135],"coverage.":[136],"Heap":[137],"under":[139,154],"one":[140],"set":[141],"allows":[145],"cover":[150],"many":[151],"more":[152],"behaviors":[153],"other":[155],"inputs.":[156],"A":[157],"HeapDL-enhanced":[158],"DaCapo":[163],"benchmarks":[164],"computes":[165],"99.5%":[166],"(median)":[167],"call-graph":[170],"edges":[171],"unseen":[173],"(vs.":[176],"76.9%":[177],"for":[178],"Tamiflex":[180],"tool).":[181]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":10},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
