{"id":"https://openalex.org/W2135163511","doi":"https://doi.org/10.1145/1250734.1250764","title":"Shape analysis with inductive recursion synthesis","display_name":"Shape analysis with inductive recursion synthesis","publication_year":2007,"publication_date":"2007-06-10","ids":{"openalex":"https://openalex.org/W2135163511","doi":"https://doi.org/10.1145/1250734.1250764","mag":"2135163511"},"language":"en","primary_location":{"id":"doi:10.1145/1250734.1250764","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1250734.1250764","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-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/A5066073966","display_name":"Bolei Guo","orcid":null},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Bolei Guo","raw_affiliation_strings":["Princeton University, Princeton, NJ"],"affiliations":[{"raw_affiliation_string":"Princeton University, Princeton, NJ","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108771160","display_name":"Neil Vachharajani","orcid":null},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Neil Vachharajani","raw_affiliation_strings":["Princeton University, Princeton, NJ"],"affiliations":[{"raw_affiliation_string":"Princeton University, Princeton, NJ","institution_ids":["https://openalex.org/I20089843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5008319090","display_name":"David I. August","orcid":"https://orcid.org/0000-0003-3327-1803"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David I. August","raw_affiliation_strings":["Princeton University, Princeton, NJ"],"affiliations":[{"raw_affiliation_string":"Princeton University, Princeton, NJ","institution_ids":["https://openalex.org/I20089843"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5066073966"],"corresponding_institution_ids":["https://openalex.org/I20089843"],"apc_list":null,"apc_paid":null,"fwci":21.5898,"has_fulltext":false,"cited_by_count":93,"citation_normalized_percentile":{"value":0.99446744,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"256","last_page":"265"},"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.9977999925613403,"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.9977999925613403,"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/T12002","display_name":"Computability, Logic, AI Algorithms","score":0.9833999872207642,"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.9832000136375427,"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/recursion","display_name":"Recursion (computer science)","score":0.8299304842948914},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.716947615146637},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7127318978309631},{"id":"https://openalex.org/keywords/a-priori-and-a-posteriori","display_name":"A priori and a posteriori","score":0.6654521226882935},{"id":"https://openalex.org/keywords/limiting","display_name":"Limiting","score":0.5710556507110596},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.5508284568786621},{"id":"https://openalex.org/keywords/logic-program","display_name":"Logic program","score":0.5416690707206726},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.47444283962249756},{"id":"https://openalex.org/keywords/program-synthesis","display_name":"Program synthesis","score":0.4715944230556488},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.45340695977211},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4525841474533081},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.44981223344802856},{"id":"https://openalex.org/keywords/inductive-logic-programming","display_name":"Inductive logic programming","score":0.44440510869026184},{"id":"https://openalex.org/keywords/shape-analysis","display_name":"Shape analysis (program analysis)","score":0.4430457055568695},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.44169488549232483},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.2573226988315582},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.23913586139678955},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.20855426788330078}],"concepts":[{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.8299304842948914},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.716947615146637},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7127318978309631},{"id":"https://openalex.org/C75553542","wikidata":"https://www.wikidata.org/wiki/Q178161","display_name":"A priori and a posteriori","level":2,"score":0.6654521226882935},{"id":"https://openalex.org/C188198153","wikidata":"https://www.wikidata.org/wiki/Q1613840","display_name":"Limiting","level":2,"score":0.5710556507110596},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5508284568786621},{"id":"https://openalex.org/C2987117450","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic program","level":3,"score":0.5416690707206726},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.47444283962249756},{"id":"https://openalex.org/C2776937632","wikidata":"https://www.wikidata.org/wiki/Q4117718","display_name":"Program synthesis","level":2,"score":0.4715944230556488},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.45340695977211},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4525841474533081},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.44981223344802856},{"id":"https://openalex.org/C2779382394","wikidata":"https://www.wikidata.org/wiki/Q1464197","display_name":"Inductive logic programming","level":2,"score":0.44440510869026184},{"id":"https://openalex.org/C112604564","wikidata":"https://www.wikidata.org/wiki/Q7489226","display_name":"Shape analysis (program analysis)","level":3,"score":0.4430457055568695},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.44169488549232483},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.2573226988315582},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.23913586139678955},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.20855426788330078},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C78519656","wikidata":"https://www.wikidata.org/wiki/Q101333","display_name":"Mechanical engineering","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1250734.1250764","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1250734.1250764","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 28th ACM SIGPLAN Conference on Programming Language Design and Implementation","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.41999998688697815,"display_name":"Peace, Justice and strong institutions","id":"https://metadata.un.org/sdg/16"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W79448102","https://openalex.org/W148396834","https://openalex.org/W152868167","https://openalex.org/W263344851","https://openalex.org/W1485372940","https://openalex.org/W1490638967","https://openalex.org/W1495368328","https://openalex.org/W1500590019","https://openalex.org/W1508811155","https://openalex.org/W1518169998","https://openalex.org/W1519498387","https://openalex.org/W1530971713","https://openalex.org/W1552065586","https://openalex.org/W1572006999","https://openalex.org/W1627097261","https://openalex.org/W1887332367","https://openalex.org/W1975914482","https://openalex.org/W1982812416","https://openalex.org/W1983820815","https://openalex.org/W1988441831","https://openalex.org/W1991837261","https://openalex.org/W2010204191","https://openalex.org/W2076242896","https://openalex.org/W2080769562","https://openalex.org/W2088126145","https://openalex.org/W2102440514","https://openalex.org/W2108611287","https://openalex.org/W2118511313","https://openalex.org/W2130162474","https://openalex.org/W2133074047","https://openalex.org/W2137628566","https://openalex.org/W2138245690","https://openalex.org/W2160563691","https://openalex.org/W2168056516","https://openalex.org/W2171546589","https://openalex.org/W3003411691","https://openalex.org/W3146075203","https://openalex.org/W4250522981"],"related_works":["https://openalex.org/W1558569658","https://openalex.org/W20280825","https://openalex.org/W228104253","https://openalex.org/W4232219978","https://openalex.org/W2985615839","https://openalex.org/W3212891530","https://openalex.org/W2149404336","https://openalex.org/W4281620337","https://openalex.org/W4387185152","https://openalex.org/W2135163511"],"abstract_inverted_index":{"Separation":[0],"logic":[1,23,71],"with":[2],"recursively":[3],"defined":[4],"predicates":[5],"allows":[6],"for":[7,24],"concise":[8],"yet":[9],"precise":[10],"description":[11],"of":[12,15,21,35],"the":[13,33],"shapes":[14],"data":[16,45],"structures.":[17,46],"However,":[18],"most":[19],"uses":[20],"separation":[22,70],"program":[25,56],"analysis":[26,67],"rely":[27],"on":[28,54,69],"pre-defined":[29],"recursive":[30,61],"predicates,":[31],"limiting":[32],"class":[34],"programs":[36],"analyzable":[37],"to":[38,76],"those":[39],"that":[40,58,72],"manipulate":[41],"only":[42],"a":[43,50,65],"priori":[44],"This":[47],"paper":[48],"describes":[49],"general":[51],"algorithm":[52],"based":[53,68],"inductive":[55],"synthesis":[57],"automatically":[59],"infers":[60],"shape":[62,66],"invariants,":[63],"yielding":[64],"can":[73],"be":[74],"applied":[75],"any":[77],"program.":[78]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":9},{"year":2012,"cited_by_count":6}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
