{"id":"https://openalex.org/W4324296543","doi":"https://doi.org/10.1145/3586054","title":"Verification-Preserving Inlining in Automatic Separation Logic Verifiers","display_name":"Verification-Preserving Inlining in Automatic Separation Logic Verifiers","publication_year":2023,"publication_date":"2023-04-06","ids":{"openalex":"https://openalex.org/W4324296543","doi":"https://doi.org/10.1145/3586054"},"language":"en","primary_location":{"id":"doi:10.1145/3586054","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586054","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586054","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":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3586054","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5089845542","display_name":"Thibault Dardinier","orcid":"https://orcid.org/0000-0003-2719-4856"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Thibault Dardinier","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5077206171","display_name":"G. Parthasarathy","orcid":"https://orcid.org/0000-0002-1816-9256"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Gaurav Parthasarathy","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5073853337","display_name":"P\u00e9ter M\u00fcller","orcid":"https://orcid.org/0000-0001-7001-2566"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Peter M\u00fcller","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5089845542"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":0.7064,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.74547549,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"7","issue":"OOPSLA1","first_page":"789","last_page":"818"},"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.9995999932289124,"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.9995999932289124,"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/T11424","display_name":"Security and Verification in Computing","score":0.9994999766349792,"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.9993000030517578,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7871226072311401},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7823563814163208},{"id":"https://openalex.org/keywords/separation-logic","display_name":"Separation logic","score":0.6863433122634888},{"id":"https://openalex.org/keywords/hol","display_name":"HOL","score":0.6339953541755676},{"id":"https://openalex.org/keywords/bounded-function","display_name":"Bounded function","score":0.5895677208900452},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5555739402770996},{"id":"https://openalex.org/keywords/model-checking","display_name":"Model checking","score":0.5004699230194092},{"id":"https://openalex.org/keywords/software-verification","display_name":"Software verification","score":0.48024657368659973},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.45624393224716187},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.43718090653419495},{"id":"https://openalex.org/keywords/spec#","display_name":"Spec#","score":0.428458034992218},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3592234253883362},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.34910571575164795},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.22969651222229004},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.19425001740455627},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.14649337530136108},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.09536632895469666}],"concepts":[{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7871226072311401},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7823563814163208},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.6863433122634888},{"id":"https://openalex.org/C17435882","wikidata":"https://www.wikidata.org/wiki/Q17030435","display_name":"HOL","level":2,"score":0.6339953541755676},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.5895677208900452},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5555739402770996},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.5004699230194092},{"id":"https://openalex.org/C33054407","wikidata":"https://www.wikidata.org/wiki/Q6504747","display_name":"Software verification","level":5,"score":0.48024657368659973},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.45624393224716187},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.43718090653419495},{"id":"https://openalex.org/C2778565505","wikidata":"https://www.wikidata.org/wiki/Q2207566","display_name":"Spec#","level":2,"score":0.428458034992218},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3592234253883362},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.34910571575164795},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.22969651222229004},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.19425001740455627},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.14649337530136108},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.09536632895469666},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"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":3,"locations":[{"id":"doi:10.1145/3586054","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586054","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586054","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:www.research-collection.ethz.ch:20.500.11850/610519","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/610519","pdf_url":null,"source":{"id":"https://openalex.org/S4306402302","display_name":"Repository for Publications and Research Data (ETH Zurich)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I35440088","host_organization_name":"ETH Zurich","host_organization_lineage":["https://openalex.org/I35440088"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages, 7 (OOPSLA1)","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"doi:10.3929/ethz-b-000610519","is_oa":true,"landing_page_url":"https://doi.org/10.3929/ethz-b-000610519","pdf_url":null,"source":{"id":"https://openalex.org/S7407051236","display_name":"ETH Z\u00fcrich Research Collection","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.1145/3586054","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586054","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586054","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":[{"score":0.46000000834465027,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[{"id":"https://openalex.org/G2480804703","display_name":"Formal Foundations of Translational Program Verifiers","funder_award_id":"197065","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4324296543.pdf","grobid_xml":"https://content.openalex.org/works/W4324296543.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W1155763687","https://openalex.org/W1258379981","https://openalex.org/W1507006488","https://openalex.org/W1549217957","https://openalex.org/W1561702747","https://openalex.org/W1565541828","https://openalex.org/W1608869910","https://openalex.org/W1989153124","https://openalex.org/W2094160561","https://openalex.org/W2096146112","https://openalex.org/W2104658241","https://openalex.org/W2129538349","https://openalex.org/W2137628566","https://openalex.org/W2148687959","https://openalex.org/W2152178634","https://openalex.org/W2267469130","https://openalex.org/W2284409231","https://openalex.org/W2294722445","https://openalex.org/W2397043727","https://openalex.org/W2596443718","https://openalex.org/W2605169925","https://openalex.org/W2746792245","https://openalex.org/W2761469021","https://openalex.org/W2803369237","https://openalex.org/W2883459807","https://openalex.org/W2901454403","https://openalex.org/W2913530642","https://openalex.org/W2956136255","https://openalex.org/W3016139730","https://openalex.org/W3046055767","https://openalex.org/W3101309972","https://openalex.org/W3136970019","https://openalex.org/W3174107386","https://openalex.org/W4233335757","https://openalex.org/W4243284147","https://openalex.org/W4245729501","https://openalex.org/W4289924505","https://openalex.org/W4292945939","https://openalex.org/W4307887673","https://openalex.org/W4323651317"],"related_works":["https://openalex.org/W1963706207","https://openalex.org/W3183673898","https://openalex.org/W2339645850","https://openalex.org/W29700130","https://openalex.org/W1495414036","https://openalex.org/W2020367298","https://openalex.org/W1968898611","https://openalex.org/W2112243500","https://openalex.org/W47563837","https://openalex.org/W2184967758"],"abstract_inverted_index":{"Bounded":[0],"verification":[1,68,77,86,200,216],"has":[2],"proved":[3],"useful":[4],"to":[5,9,20,49,58],"detect":[6],"bugs":[7],"and":[8,29,40,127,151,178,210,239,251],"increase":[10],"confidence":[11],"in":[12,96,104,166,180,249],"the":[13,46,50,56,88,97,105,138,160,202,215,218],"correctness":[14],"of":[15,55,78,87,201,217],"a":[16,79,101,173,196,241],"program.":[17,90,107],"In":[18,132,155],"contrast":[19],"unbounded":[21,76],"verification,":[22],"reasoning":[23],"about":[24,30],"calls":[25],"via":[26,32],"(bounded)":[27,33],"inlining":[28,72,135,165,186],"loops":[31],"unrolling":[34],"does":[35],"not":[36,113],"require":[37],"method":[38,142,209],"specifications":[39,54],"loop":[41,211],"invariants":[42],"and,":[43],"therefore,":[44],"reduces":[45],"annotation":[47,83],"overhead":[48],"bare":[51],"minimum,":[52],"namely":[53],"properties":[57],"be":[59,236],"verified.":[60],"For":[61],"verifiers":[62,119,128],"based":[63,129],"on":[64,130,176],"traditional":[65],"program":[66,80,99,204,220,242],"logics,":[67],"is":[69],"preserved":[70],"by":[71,141],"(and":[73],"unrolling):":[74],"successful":[75,85,199],"w.r.t.":[81],"some":[82],"implies":[84],"inlined":[89,98,203],"That":[91],"is,":[92],"any":[93],"error":[94,103],"detected":[95],"reveals":[100],"true":[102],"original":[106,219],"However,":[108],"this":[109,133,156],"essential":[110],"property":[111],"might":[112],"hold":[114],"for":[115,163,187,221,257],"automatic":[116,147,167,189],"separation":[117,168,190],"logic":[118,169,191],"such":[120],"as":[121],"Caper,":[122],"GRASShopper,":[123],"RefinedC,":[124],"Steel,":[125],"VeriFast,":[126],"Viper.":[131],"setting,":[134],"generally":[136],"changes":[137],"resources":[139],"owned":[140],"executions,":[143],"which":[144],"may":[145],"affect":[146],"proof":[148],"search":[149],"algorithms":[150],"introduce":[152],"spurious":[153],"errors.":[154],"paper,":[157],"we":[158,230],"present":[159,231],"first":[161],"technique":[162],"verification-preserving":[164,185],"verifiers.":[170,192,262],"We":[171,193,245],"identify":[172],"semantic":[174,227],"condition":[175,228],"programs":[177],"prove":[179,195],"Isabelle/HOL":[181],"that":[182,206,213,234,253],"it":[183],"ensures":[184,205],"state-of-the-art":[188],"also":[194],"dual":[197],"result:":[198],"there":[207],"are":[208,255],"annotations":[212],"enable":[214],"bounded":[222],"executions.":[223],"To":[224],"check":[225],"our":[226],"automatically,":[229],"two":[232],"approximations":[233],"can":[235],"checked":[237],"syntactically":[238],"with":[240],"verifier,":[243],"respectively.":[244],"implement":[246],"these":[247],"checks":[248],"Viper":[250],"demonstrate":[252],"they":[254],"effective":[256],"non-trivial":[258],"examples":[259],"from":[260],"different":[261]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1}],"updated_date":"2026-03-15T09:29:46.208133","created_date":"2023-03-16T00:00:00"}
