{"id":"https://openalex.org/W2751239020","doi":"https://doi.org/10.1145/3110269","title":"SpaceSearch: a library for building and verifying solver-aided tools","display_name":"SpaceSearch: a library for building and verifying solver-aided tools","publication_year":2017,"publication_date":"2017-08-29","ids":{"openalex":"https://openalex.org/W2751239020","doi":"https://doi.org/10.1145/3110269","mag":"2751239020"},"language":"en","primary_location":{"id":"doi:10.1145/3110269","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110269","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110269&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":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=3110269&type=pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5052717111","display_name":"Konstantin Weitz","orcid":null},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Konstantin Weitz","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088878478","display_name":"Steven Lyubomirsky","orcid":"https://orcid.org/0009-0003-6747-7014"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Steven Lyubomirsky","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5064408830","display_name":"Stefan Heule","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Stefan Heule","raw_affiliation_strings":["Stanford University, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, USA","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5088791029","display_name":"Emina Torlak","orcid":"https://orcid.org/0000-0002-1155-2711"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Emina Torlak","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032068969","display_name":"Michael D. Ernst","orcid":"https://orcid.org/0000-0001-9379-277X"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michael D. Ernst","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5042187082","display_name":"Zachary Tatlock","orcid":"https://orcid.org/0000-0002-4731-0124"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zachary Tatlock","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.0629,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.79626004,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"1","issue":"ICFP","first_page":"1","last_page":"28"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9997000098228455,"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/T11424","display_name":"Security and Verification in Computing","score":0.9988999962806702,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8311018943786621},{"id":"https://openalex.org/keywords/solver","display_name":"Solver","score":0.8141236901283264},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.719771146774292},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6476465463638306},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6473898887634277},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6297683715820312},{"id":"https://openalex.org/keywords/satisfiability-modulo-theories","display_name":"Satisfiability modulo theories","score":0.6235103011131287},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.582980751991272},{"id":"https://openalex.org/keywords/interface","display_name":"Interface (matter)","score":0.5026843547821045},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.48843827843666077},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.2662920653820038},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.2295774221420288},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08347800374031067}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8311018943786621},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.8141236901283264},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.719771146774292},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6476465463638306},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6473898887634277},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6297683715820312},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.6235103011131287},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.582980751991272},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.5026843547821045},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.48843827843666077},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.2662920653820038},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.2295774221420288},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08347800374031067},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3110269","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110269","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110269&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"}],"best_oa_location":{"id":"doi:10.1145/3110269","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110269","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110269&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.6399999856948853,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[{"id":"https://openalex.org/G2995140273","display_name":null,"funder_award_id":"FA8750-16-2-0032","funder_id":"https://openalex.org/F4320338294","funder_display_name":"Air Force Research Laboratory"},{"id":"https://openalex.org/G3306206313","display_name":null,"funder_award_id":"FA8750-12- 2-0107","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G3785592558","display_name":null,"funder_award_id":"FA8750-16-2-0032","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G4713059963","display_name":null,"funder_award_id":"FA8750","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G5006468133","display_name":null,"funder_award_id":"FA8750-15-C-0010","funder_id":"https://openalex.org/F4320332467","funder_display_name":"U.S. Air Force"},{"id":"https://openalex.org/G8384269982","display_name":null,"funder_award_id":"FA8750-12-2-0107, FA8750-16-2-0032","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"},{"id":"https://openalex.org/F4320332467","display_name":"U.S. Air Force","ror":"https://ror.org/006gmme17"},{"id":"https://openalex.org/F4320338294","display_name":"Air Force Research Laboratory","ror":"https://ror.org/02e2egq70"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2751239020.pdf","grobid_xml":"https://content.openalex.org/works/W2751239020.grobid-xml"},"referenced_works_count":32,"referenced_works":["https://openalex.org/W46694604","https://openalex.org/W81349459","https://openalex.org/W993487908","https://openalex.org/W1249296113","https://openalex.org/W1519361875","https://openalex.org/W1534988187","https://openalex.org/W1545506277","https://openalex.org/W1991066194","https://openalex.org/W2003164052","https://openalex.org/W2009248821","https://openalex.org/W2057156093","https://openalex.org/W2062340141","https://openalex.org/W2098643127","https://openalex.org/W2110848488","https://openalex.org/W2119717320","https://openalex.org/W2126891436","https://openalex.org/W2130427425","https://openalex.org/W2134087751","https://openalex.org/W2144407603","https://openalex.org/W2146077028","https://openalex.org/W2156076209","https://openalex.org/W2163671349","https://openalex.org/W2166708428","https://openalex.org/W2168272209","https://openalex.org/W2213989452","https://openalex.org/W2294628582","https://openalex.org/W2339276203","https://openalex.org/W2536639940","https://openalex.org/W2538528660","https://openalex.org/W2576393274","https://openalex.org/W2914192673","https://openalex.org/W4242126179"],"related_works":["https://openalex.org/W3008339103","https://openalex.org/W2404647514","https://openalex.org/W1667647204","https://openalex.org/W3119814709","https://openalex.org/W2018477250","https://openalex.org/W4252501555","https://openalex.org/W2003848320","https://openalex.org/W2521529770","https://openalex.org/W4318620547","https://openalex.org/W2583022676"],"abstract_inverted_index":{"Many":[0],"verification":[1],"tools":[2,8,65],"build":[3],"on":[4,224],"automated":[5],"solvers.":[6,157],"These":[7,289],"reduce":[9],"problems":[10],"in":[11,41,76,113,146,204,209,228,285],"a":[12,27,59,67,114,144,147,192,236,295],"specific":[13],"application":[14],"domain":[15],"(e.g.,":[16,117],"compiler":[17],"optimization":[18],"validation)":[19],"to":[20,96,110,131,255,298],"queries":[21],"that":[22,46,87,187,292],"can":[23,107],"be":[24,108],"discharged":[25],"with":[26,129,150,196,267],"highly":[28],"optimized":[29],"solver.":[30,135],"But":[31],"the":[32,35,44,47,51,79,83,88,92,98,105,126,138,151,221,250,272,286],"correctness":[33,140,273],"of":[34,125,142,154,239,274],"reductions":[36],"themselves":[37],"is":[38,235,294],"rarely":[39],"verified":[40,166,220,237,301],"practice,":[42],"limiting":[43],"confidence":[45],"solver's":[48],"output":[49],"establishes":[50],"desired":[52,100],"domain-level":[53],"property.":[54],"This":[55,136,158],"paper":[56,159],"presents":[57],"SpaceSearch,":[58],"new":[60,162],"library":[61],"for":[62,164,191],"developing":[63,143,299],"solver-aided":[64,74,115,167,181,302],"within":[66],"proof":[68,148],"assistant.":[69],"A":[70],"user":[71,84],"builds":[72],"their":[73,217],"tool":[75,106,145],"Coq":[77],"against":[78],"SpaceSearch":[80,120,127,175,293],"interface,":[81],"and":[82,171,178,206,280],"then":[85],"verifies":[86],"results":[89,290],"provided":[90],"by":[91,176,216],"interface":[93,128],"are":[94],"sufficient":[95],"establish":[97],"tool's":[99],"high-level":[101],"properties.":[102],"Once":[103],"verified,":[104],"extracted":[109],"an":[111,122,132,240],"implementation":[112],"language":[116],"Rosette),":[118],"where":[119],"provides":[121],"efficient":[123],"instantiation":[124],"calls":[130],"underlying":[133],"SMT":[134,156],"combines":[137],"strong":[139],"guarantees":[141],"assistant":[149],"high":[152],"performance":[153],"modern":[155],"also":[160],"introduces":[161],"optimizations":[163],"such":[165],"tools,":[168],"including":[169],"parallelization":[170],"incrementalization.":[172],"We":[173],"evaluate":[174],"building":[177],"verifying":[179],"two":[180],"tools.":[182,303],"The":[183,231],"first,":[184],"SaltShaker,":[185],"checks":[186],"RockSalt's":[188],"x86":[189,198],"semantics":[190],"given":[193],"instruction":[194,226],"agrees":[195],"STOKE's":[197],"semantics.":[199],"SaltShaker":[200,219],"identified":[201],"7":[202],"bugs":[203,284],"RockSalt":[205],"1":[207],"bug":[208],"STOKE.":[210],"After":[211],"these":[212],"systems":[213],"were":[214],"patched":[215],"developers,":[218],"semantics'":[222],"agreement":[223],"15,255":[225],"instantiations":[227],"under":[229],"2h.":[230],"second":[232],"tool,":[233],"BGProof,":[234],"version":[238],"existing":[241,251],"Border":[242],"Gateway":[243],"Protocol":[244],"(BGP)":[245],"router":[246],"configuration":[247,265],"checker.":[248],"Like":[249],"checker,":[252],"BGProof":[253,275],"scales":[254],"checking":[256],"industrial":[257],"configurations":[258],"spanning":[259],"over":[260],"240":[261],"KLOC,":[262],"identifying":[263],"19":[264],"inconsistencies":[266],"no":[268],"false":[269],"positives.":[270],"However,":[271],"has":[276],"been":[277],"formally":[278],"proven,":[279],"we":[281],"found":[282],"2":[283],"unverified":[287],"implementation.":[288],"demonstrate":[291],"practical":[296],"approach":[297],"efficient,":[300]},"counts_by_year":[{"year":2022,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2017,"cited_by_count":2}],"updated_date":"2026-08-01T09:00:35.917206","created_date":"2025-10-10T00:00:00"}
