{"id":"https://openalex.org/W2883187296","doi":"https://doi.org/10.1145/3290385","title":"Structuring the synthesis of heap-manipulating programs","display_name":"Structuring the synthesis of heap-manipulating programs","publication_year":2019,"publication_date":"2019-01-02","ids":{"openalex":"https://openalex.org/W2883187296","doi":"https://doi.org/10.1145/3290385","mag":"2883187296"},"language":"en","primary_location":{"id":"doi:10.1145/3290385","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290385","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290385","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3290385","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5090671359","display_name":"Nadia Polikarpova","orcid":"https://orcid.org/0000-0001-5571-173X"},"institutions":[{"id":"https://openalex.org/I36258959","display_name":"University of California San Diego","ror":"https://ror.org/0168r3w48","country_code":"US","type":"education","lineage":["https://openalex.org/I36258959"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Nadia Polikarpova","raw_affiliation_strings":["University of California at San Diego, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California at San Diego, USA","institution_ids":["https://openalex.org/I36258959"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5009639508","display_name":"Ilya Sergey","orcid":"https://orcid.org/0000-0003-4250-5392"},"institutions":[{"id":"https://openalex.org/I165932596","display_name":"National University of Singapore","ror":"https://ror.org/01tgyzw49","country_code":"SG","type":"education","lineage":["https://openalex.org/I165932596"]},{"id":"https://openalex.org/I3089745140","display_name":"Yale-NUS College","ror":"https://ror.org/04g9wch13","country_code":"SG","type":"education","lineage":["https://openalex.org/I3089745140"]}],"countries":["SG"],"is_corresponding":false,"raw_author_name":"Ilya Sergey","raw_affiliation_strings":["Yale-NUS College, Singapore / National University of Singapore, Singapore"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Yale-NUS College, Singapore / National University of Singapore, Singapore","institution_ids":["https://openalex.org/I3089745140","https://openalex.org/I165932596"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.9044,"has_fulltext":true,"cited_by_count":46,"citation_normalized_percentile":{"value":0.94777748,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":95,"max":99},"biblio":{"volume":"3","issue":"POPL","first_page":"1","last_page":"30"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"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/T10142","display_name":"Formal Methods in Verification","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9973000288009644,"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.9402533769607544},{"id":"https://openalex.org/keywords/assertion","display_name":"Assertion","score":0.7550740838050842},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6399824023246765},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6241434216499329},{"id":"https://openalex.org/keywords/commutative-property","display_name":"Commutative property","score":0.49689963459968567},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.46985188126564026},{"id":"https://openalex.org/keywords/structuring","display_name":"Structuring","score":0.4359092712402344},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.43114325404167175},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3816450834274292},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3131512403488159},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.28572237491607666}],"concepts":[{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.9402533769607544},{"id":"https://openalex.org/C40422974","wikidata":"https://www.wikidata.org/wiki/Q741248","display_name":"Assertion","level":2,"score":0.7550740838050842},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6399824023246765},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6241434216499329},{"id":"https://openalex.org/C183778304","wikidata":"https://www.wikidata.org/wiki/Q165474","display_name":"Commutative property","level":2,"score":0.49689963459968567},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.46985188126564026},{"id":"https://openalex.org/C2775945657","wikidata":"https://www.wikidata.org/wiki/Q381442","display_name":"Structuring","level":2,"score":0.4359092712402344},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43114325404167175},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3816450834274292},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3131512403488159},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.28572237491607666},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3290385","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290385","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290385","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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:1807.07022","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1807.07022","pdf_url":"https://arxiv.org/pdf/1807.07022","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"}],"best_oa_location":{"id":"doi:10.1145/3290385","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290385","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290385","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2883187296.pdf","grobid_xml":"https://content.openalex.org/works/W2883187296.grobid-xml"},"referenced_works_count":83,"referenced_works":["https://openalex.org/W12427088","https://openalex.org/W169519546","https://openalex.org/W564852913","https://openalex.org/W569543113","https://openalex.org/W634201214","https://openalex.org/W1495368328","https://openalex.org/W1506927614","https://openalex.org/W1557561422","https://openalex.org/W1560253649","https://openalex.org/W1562865234","https://openalex.org/W1565541828","https://openalex.org/W1566438397","https://openalex.org/W1567479568","https://openalex.org/W1581674879","https://openalex.org/W1597320794","https://openalex.org/W1858945639","https://openalex.org/W1905591175","https://openalex.org/W1912569824","https://openalex.org/W1965602413","https://openalex.org/W1974454942","https://openalex.org/W1976978933","https://openalex.org/W1983496086","https://openalex.org/W1993129359","https://openalex.org/W2012436850","https://openalex.org/W2013532785","https://openalex.org/W2013596093","https://openalex.org/W2025772870","https://openalex.org/W2027294620","https://openalex.org/W2045388381","https://openalex.org/W2053154567","https://openalex.org/W2057156093","https://openalex.org/W2060610732","https://openalex.org/W2073742357","https://openalex.org/W2086221190","https://openalex.org/W2091385303","https://openalex.org/W2093535699","https://openalex.org/W2094878426","https://openalex.org/W2098959411","https://openalex.org/W2101432564","https://openalex.org/W2102928769","https://openalex.org/W2105315191","https://openalex.org/W2124461564","https://openalex.org/W2128953477","https://openalex.org/W2130111506","https://openalex.org/W2130162474","https://openalex.org/W2137628566","https://openalex.org/W2141978322","https://openalex.org/W2142524717","https://openalex.org/W2144951274","https://openalex.org/W2170612356","https://openalex.org/W2171339035","https://openalex.org/W2187944941","https://openalex.org/W2213989452","https://openalex.org/W2263738566","https://openalex.org/W2294722445","https://openalex.org/W2395069443","https://openalex.org/W2397043727","https://openalex.org/W2409856616","https://openalex.org/W2536320597","https://openalex.org/W2550471858","https://openalex.org/W2564359929","https://openalex.org/W2603456259","https://openalex.org/W2621117964","https://openalex.org/W2761874473","https://openalex.org/W2762513422","https://openalex.org/W2763166759","https://openalex.org/W2770855842","https://openalex.org/W2786407536","https://openalex.org/W2795338679","https://openalex.org/W2796692086","https://openalex.org/W2883187296","https://openalex.org/W2897229241","https://openalex.org/W2899244789","https://openalex.org/W2899376621","https://openalex.org/W2952270548","https://openalex.org/W2963821837","https://openalex.org/W3192343331","https://openalex.org/W4214826241","https://openalex.org/W4229652664","https://openalex.org/W4242364663","https://openalex.org/W4245933182","https://openalex.org/W4246191294","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W4296607663","https://openalex.org/W1481101394","https://openalex.org/W4290679430","https://openalex.org/W2950271872","https://openalex.org/W4283582377","https://openalex.org/W2594835963","https://openalex.org/W3102946249","https://openalex.org/W62586952","https://openalex.org/W2136242294","https://openalex.org/W4307017008"],"abstract_inverted_index":{"This":[0],"paper":[1],"describes":[2],"a":[3,25,31,42,91,95,102,113,117,131,166,173,237],"deductive":[4],"approach":[5,59],"to":[6,60,89,130,201,209,235],"synthesizing":[7],"imperative":[8],"programs":[9,136,241],"with":[10],"pointers":[11],"from":[12],"declarative":[13],"specifications":[14],"expressed":[15],"in":[16,65,142,172],"Separation":[17,75],"Logic.":[18],"Our":[19,58],"synthesis":[20,62,127],"algorithm":[21],"takes":[22],"as":[23,191],"input":[24],"pair":[26],"of":[27,36,55,73,83,93,175,187,195,205,217,225,232,239],"assertions\u2014a":[28],"pre-":[29],"and":[30,40,125,151,193,213,227],"postcondition\u2014which":[32],"describe":[33,222],"two":[34],"states":[35],"the":[37,49,53,56,70,80,126,143,148,176,183,203,215,223],"symbolic":[38],"heap,":[39],"derives":[41],"program":[43,61,111,177],"that":[44,145],"transforms":[45],"one":[46],"state":[47],"into":[48,101],"other,":[50],"guided":[51],"by":[52,140,154],"shape":[54],"heap.":[57],"is":[63],"grounded":[64],"proof":[66,114,132,156,167],"theory:":[67],"we":[68],"introduce":[69],"novel":[71],"framework":[72],"Synthetic":[74],"Logic":[76],"(SSL),":[77],"which":[78,158],"generalises":[79],"classical":[81],"notion":[82],"heap":[84,96,103],"entailment":[85,119],"P":[86,100,121],"\u22a2":[87],"Q":[88,107,123],"incorporate":[90],"possibility":[92],"transforming":[94,118],"satisfying":[97,104],"an":[98,105],"assertion":[99,106],".":[108],"A":[109],"synthesized":[110],"represents":[112],"term":[115],"for":[116,170],"statement":[120],"\u219d":[122],",":[124],"procedure":[128],"corresponds":[129],"search.":[133],"The":[134],"derived":[135],"are,":[137],"thus,":[138],"correct":[139],"construction,":[141],"sense":[144],"they":[146],"satisfy":[147],"ascribed":[149],"pre/postconditions,":[150],"are":[152],"accompanied":[153],"complete":[155],"derivations,":[157],"can":[159],"be":[160],"checked":[161],"independently.":[162],"We":[163,211],"have":[164],"implemented":[165],"search":[168],"engine":[169,184],"SSL":[171,188,218],"form":[174],"synthesizer":[178],"called":[179],"SuSLik.":[180],"For":[181],"efficiency,":[182],"exploits":[185],"properties":[186],"rules,":[189],"such":[190],"invertibility":[192],"commutativity":[194],"rule":[196],"applications":[197],"on":[198,219,229],"separate":[199],"heaps,":[200],"prune":[202],"space":[204],"derivations":[206],"it":[207,234],"has":[208],"consider.":[210],"explain":[212],"showcase":[214],"use":[216],"characteristic":[220],"examples,":[221],"design":[224],"SuSLik,":[226],"report":[228],"our":[230],"experience":[231],"using":[233],"synthesize":[236],"series":[238],"benchmark":[240],"manipulating":[242],"heap-based":[243],"linked":[244],"data":[245],"structures.":[246]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":7},{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":6},{"year":2021,"cited_by_count":8},{"year":2020,"cited_by_count":10},{"year":2019,"cited_by_count":3}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2018-08-03T00:00:00"}
