{"id":"https://openalex.org/W4212792638","doi":"https://doi.org/10.1145/964001.964021","title":"Abstractions from proofs","display_name":"Abstractions from proofs","publication_year":2004,"publication_date":"2004-01-01","ids":{"openalex":"https://openalex.org/W4212792638","doi":"https://doi.org/10.1145/964001.964021"},"language":"en","primary_location":{"id":"doi:10.1145/964001.964021","is_oa":false,"landing_page_url":"https://doi.org/10.1145/964001.964021","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages","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/A5080555605","display_name":"Thomas A. Henzinger","orcid":"https://orcid.org/0000-0002-2985-7724"},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Thomas A. Henzinger","raw_affiliation_strings":["University of California, Berkeley, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Berkeley, CA","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5002412544","display_name":"Ranjit Jhala","orcid":"https://orcid.org/0000-0002-1802-9421"},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ranjit Jhala","raw_affiliation_strings":["University of California, Berkeley, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Berkeley, CA","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081010207","display_name":"Rupak Majumdar","orcid":"https://orcid.org/0000-0003-2136-0542"},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rupak Majumdar","raw_affiliation_strings":["University of California, Berkeley, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of California, Berkeley, CA","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047507250","display_name":"Kenneth L. McMillan","orcid":"https://orcid.org/0009-0000-9380-1939"},"institutions":[{"id":"https://openalex.org/I148283060","display_name":"Lawrence Berkeley National Laboratory","ror":"https://ror.org/02jbv0t02","country_code":"US","type":"facility","lineage":["https://openalex.org/I1330989302","https://openalex.org/I148283060","https://openalex.org/I39565521"]},{"id":"https://openalex.org/I66217453","display_name":"Cadence Design Systems (United States)","ror":"https://ror.org/04w8xa018","country_code":"US","type":"company","lineage":["https://openalex.org/I66217453"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kenneth L. McMillan","raw_affiliation_strings":["Cadence Berkeley Labs., Berkeley, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Cadence Berkeley Labs., Berkeley, CA","institution_ids":["https://openalex.org/I66217453","https://openalex.org/I148283060"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":26.6509,"has_fulltext":false,"cited_by_count":304,"citation_normalized_percentile":{"value":0.99827549,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"232","last_page":"244"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9997000098228455,"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"}},"topics":[{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9997000098228455,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9991000294685364,"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.9980000257492065,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7634531259536743},{"id":"https://openalex.org/keywords/predicate","display_name":"Predicate (mathematical logic)","score":0.7143657803535461},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6868457198143005},{"id":"https://openalex.org/keywords/trace","display_name":"TRACE (psycholinguistics)","score":0.6859453320503235},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.6644227504730225},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5929121971130371},{"id":"https://openalex.org/keywords/predicate-abstraction","display_name":"Predicate abstraction","score":0.5500343441963196},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.5387573838233948},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5235283374786377},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.46523967385292053},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4316056966781616},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.4150081276893616},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.4141181707382202},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.1920323371887207},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15998244285583496}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7634531259536743},{"id":"https://openalex.org/C140146324","wikidata":"https://www.wikidata.org/wiki/Q1144319","display_name":"Predicate (mathematical logic)","level":2,"score":0.7143657803535461},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6868457198143005},{"id":"https://openalex.org/C75291252","wikidata":"https://www.wikidata.org/wiki/Q1315756","display_name":"TRACE (psycholinguistics)","level":2,"score":0.6859453320503235},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.6644227504730225},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5929121971130371},{"id":"https://openalex.org/C2779907942","wikidata":"https://www.wikidata.org/wiki/Q7239630","display_name":"Predicate abstraction","level":3,"score":0.5500343441963196},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.5387573838233948},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5235283374786377},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.46523967385292053},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4316056966781616},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.4150081276893616},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.4141181707382202},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.1920323371887207},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15998244285583496},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"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/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/964001.964021","is_oa":false,"landing_page_url":"https://doi.org/10.1145/964001.964021","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W1510368738","https://openalex.org/W1554161785","https://openalex.org/W1585020894","https://openalex.org/W1593025666","https://openalex.org/W1593280365","https://openalex.org/W1982205631","https://openalex.org/W1992431017","https://openalex.org/W1993836075","https://openalex.org/W2034711041","https://openalex.org/W2044095368","https://openalex.org/W2044632231","https://openalex.org/W2067836954","https://openalex.org/W2080573945","https://openalex.org/W2082000355","https://openalex.org/W2086991228","https://openalex.org/W2098244894","https://openalex.org/W2103714221","https://openalex.org/W2147543351","https://openalex.org/W2156268601","https://openalex.org/W2295903414","https://openalex.org/W6683354071"],"related_works":["https://openalex.org/W2096561672","https://openalex.org/W278680301","https://openalex.org/W1531204343","https://openalex.org/W2522501807","https://openalex.org/W2348940122","https://openalex.org/W4232099822","https://openalex.org/W2120526551","https://openalex.org/W2144996318","https://openalex.org/W1780369767","https://openalex.org/W96703786"],"abstract_inverted_index":{"The":[0],"success":[1],"of":[2,35,111,134,145,165,168,170,196,206,212,246],"model":[3,225],"checking":[4],"for":[5,43,48,176],"large":[6],"programs":[7,177,240],"depends":[8],"crucially":[9],"on":[10],"the":[11,106,112,116,123,128,131,135,166,171,203,207,210,213,217],"ability":[12],"to":[13,76,88,238],"efficiently":[14,89],"construct":[15,61],"parsimonious":[16,22,62,257],"abstractions.":[17,258],"A":[18],"predicate":[19,51,229],"abstraction":[20,103],"is":[21,56,139,149],"if":[23],"at":[24,82,152],"each":[25,109],"control":[26,80],"location,":[27],"it":[28,236],"specifies":[29],"only":[30,38,151,202],"relationships":[31],"between":[32,122,142],"current":[33,143],"values":[34,144,211],"variables,":[36,68,147],"and":[37,69,73,130,148,180,183,209,234],"those":[39],"which":[40,97,248],"are":[41,70],"required":[42],"proving":[44],"correctness.":[45],"Previous":[46],"methods":[47],"automatically":[49],"refining":[50],"abstractions":[52],"until":[53],"sufficient":[54],"precision":[55],"obtained":[57],"do":[58],"not":[59,250],"systematically":[60],"abstractions:":[63],"predicates":[64,118,199],"usually":[65],"contain":[66,201],"symbolic":[67],"added":[71],"heuristically":[72],"often":[74],"uniformly":[75],"many":[77],"or":[78],"all":[79],"locations":[81],"once.":[83],"We":[84,221],"use":[85],"Craig":[86,190,232],"interpolation":[87,191],"construct,":[90],"from":[91],"a":[92,101,140,162,193],"given":[93],"abstract":[94],"error":[95],"trace":[96],"cannot":[98],"be":[99,159],"concretized,":[100],"parsominous":[102],"that":[104,126,153,200,254],"removes":[105],"trace.":[107,136],"At":[108],"location":[110],"trace,":[113],"we":[114],"infer":[115],"relevant":[117,150,198],"as":[119],"an":[120],"interpolant":[121,138],"two":[124],"formulas":[125],"define":[127],"past":[129],"future":[132],"segment":[133],"Each":[137],"relationship":[141],"program":[146,155],"particular":[154],"location.":[156],"It":[157],"can":[158],"found":[160],"by":[161,231],"linear":[163],"scan":[164],"proof":[167],"infeasibility":[169],"trace.We":[172],"develop":[173],"our":[174,224],"method":[175],"with":[178,228,241,252],"arithmetic":[179],"pointer":[181],"expressions,":[182],"call-by-value":[184],"function":[185,188,208,218],"calls.":[186],"For":[187],"calls,":[189],"offers":[192],"systematic":[194],"way":[195],"generating":[197],"local":[204],"variables":[205],"formal":[214],"parameters":[215],"when":[216],"was":[219,249],"called.":[220],"have":[222],"extended":[223],"checker":[226],"Blast":[227],"discovery":[230],"interpolation,":[233],"applied":[235],"successfully":[237],"C":[239],"more":[242],"than":[243],"130,000":[244],"lines":[245],"code,":[247],"possible":[251],"approaches":[253],"build":[255],"less":[256]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":7},{"year":2024,"cited_by_count":9},{"year":2023,"cited_by_count":9},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":7},{"year":2020,"cited_by_count":5},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":14},{"year":2016,"cited_by_count":14},{"year":2015,"cited_by_count":15},{"year":2014,"cited_by_count":17},{"year":2013,"cited_by_count":16},{"year":2012,"cited_by_count":15}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
