{"id":"https://openalex.org/W6947572944","doi":"https://doi.org/10.3929/ethz-b-000542001","title":"Compositional Verification of Rich Program Properties in Separation Logic","display_name":"Compositional Verification of Rich Program Properties in Separation Logic","publication_year":2021,"publication_date":"2021-01-01","ids":{"openalex":"https://openalex.org/W6947572944","doi":"https://doi.org/10.3929/ethz-b-000542001"},"language":"en","primary_location":{"id":"pmh:oai:www.research-collection.ethz.ch:20.500.11850/542001","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/542001","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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/doctoralThesis"},"type":"article","indexed_in":["datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"http://hdl.handle.net/20.500.11850/542001","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Ter-Gabrielyan, Arshavir","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Ter-Gabrielyan, Arshavir","raw_affiliation_strings":[],"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.36646784,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.49320000410079956,"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.49320000410079956,"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.40299999713897705,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.05139999836683273,"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/separation-logic","display_name":"Separation logic","score":0.7947999835014343},{"id":"https://openalex.org/keywords/principle-of-compositionality","display_name":"Principle of compositionality","score":0.7912999987602234},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.5999000072479248},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5949000120162964},{"id":"https://openalex.org/keywords/reachability","display_name":"Reachability","score":0.5673999786376953},{"id":"https://openalex.org/keywords/automated-reasoning","display_name":"Automated reasoning","score":0.519599974155426},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.4262000024318695},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.424699991941452},{"id":"https://openalex.org/keywords/formal-verification","display_name":"Formal verification","score":0.3785000145435333},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.37599998712539673}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8030999898910522},{"id":"https://openalex.org/C173856430","wikidata":"https://www.wikidata.org/wiki/Q3257964","display_name":"Separation logic","level":2,"score":0.7947999835014343},{"id":"https://openalex.org/C121375916","wikidata":"https://www.wikidata.org/wiki/Q936559","display_name":"Principle of compositionality","level":2,"score":0.7912999987602234},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7361000180244446},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.5999000072479248},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5949000120162964},{"id":"https://openalex.org/C136643341","wikidata":"https://www.wikidata.org/wiki/Q1361526","display_name":"Reachability","level":2,"score":0.5673999786376953},{"id":"https://openalex.org/C195344581","wikidata":"https://www.wikidata.org/wiki/Q2555318","display_name":"Automated reasoning","level":2,"score":0.519599974155426},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4438000023365021},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.4262000024318695},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.424699991941452},{"id":"https://openalex.org/C111498074","wikidata":"https://www.wikidata.org/wiki/Q173326","display_name":"Formal verification","level":2,"score":0.3785000145435333},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.37599998712539673},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.36719998717308044},{"id":"https://openalex.org/C159032336","wikidata":"https://www.wikidata.org/wiki/Q2488768","display_name":"Non-monotonic logic","level":2,"score":0.3569999933242798},{"id":"https://openalex.org/C2776235265","wikidata":"https://www.wikidata.org/wiki/Q18392052","display_name":"Fragment (logic)","level":2,"score":0.3370000123977661},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.3327000141143799},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.33180001378059387},{"id":"https://openalex.org/C62460635","wikidata":"https://www.wikidata.org/wiki/Q5508853","display_name":"Functional verification","level":3,"score":0.31850001215934753},{"id":"https://openalex.org/C75606506","wikidata":"https://www.wikidata.org/wiki/Q1049183","display_name":"Formal methods","level":2,"score":0.3149000108242035},{"id":"https://openalex.org/C2779639559","wikidata":"https://www.wikidata.org/wiki/Q7661178","display_name":"Symbolic execution","level":3,"score":0.3109000027179718},{"id":"https://openalex.org/C35292069","wikidata":"https://www.wikidata.org/wiki/Q1575458","display_name":"Validator","level":2,"score":0.3068000078201294},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.30329999327659607},{"id":"https://openalex.org/C45340560","wikidata":"https://www.wikidata.org/wiki/Q215382","display_name":"Disjoint sets","level":2,"score":0.3028999865055084},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.30149999260902405},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.29510000348091125},{"id":"https://openalex.org/C102993220","wikidata":"https://www.wikidata.org/wiki/Q387196","display_name":"Description logic","level":2,"score":0.2946000099182129},{"id":"https://openalex.org/C110251889","wikidata":"https://www.wikidata.org/wiki/Q1569697","display_name":"Model checking","level":2,"score":0.2833000123500824},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.27489998936653137},{"id":"https://openalex.org/C116253237","wikidata":"https://www.wikidata.org/wiki/Q1437424","display_name":"Formal specification","level":2,"score":0.2648000121116638},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.2587999999523163},{"id":"https://openalex.org/C206880738","wikidata":"https://www.wikidata.org/wiki/Q431667","display_name":"Automated theorem proving","level":2,"score":0.2567000091075897},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.2542000114917755}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:www.research-collection.ethz.ch:20.500.11850/542001","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/542001","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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/doctoralThesis"},{"id":"doi:10.3929/ethz-b-000542001","is_oa":true,"landing_page_url":"https://doi.org/10.3929/ethz-b-000542001","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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"thesis"}],"best_oa_location":{"id":"pmh:oai:www.research-collection.ethz.ch:20.500.11850/542001","is_oa":true,"landing_page_url":"http://hdl.handle.net/20.500.11850/542001","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":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"info:eu-repo/semantics/doctoralThesis"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":[],"abstract_inverted_index":{"Recent":[0],"advances":[1],"in":[2,120,193,231,340,516,580],"deductive":[3],"program":[4,33,151,162,514],"verification":[5,226,315,483,540,586],"correlate":[6],"with":[7,451,459,543],"the":[8,77,86,103,112,125,218,229,246,294,310,354,364,367,386,389,393,404,423,430,525,533,568,575],"evolution":[9],"of":[10,44,79,88,97,127,134,157,176,200,217,248,270,289,304,316,328,356,369,388,407,426,434,469,524,577],"logics":[11,23],"for":[12,148,186,224,243,313,351,476,482,490,555],"modular":[13,99,145,166,439],"reasoning":[14,100,167,244,352],"about":[15,117,168,245,353],"complex":[16,557],"programs.":[17,172,319],"Verification":[18],"techniques":[19,147,185,223],"built":[20],"upon":[21],"these":[22,305],"require":[24],"automation":[25],"to":[26,28,102,138,221,276,342,429,503,512,532],"help":[27],"verify":[29],"practically":[30,444],"essential":[31],"rich":[32,62,150,188,201],"properties":[34,49,63,87,189,202,254,362,421],"that":[35,72,164,203],"summarize":[36,255],"data":[37,53,81,207,256,325,446],"structures":[38,257,326],"via":[39,266],"quantification":[40],"or":[41,366,562],"some":[42,61],"form":[43],"abstraction.":[45],"However,":[46,92],"many":[47],"such":[48],"are":[50,70,190,206,332],"higher-order":[51],"(e.g.,":[52,64],"structure":[54,82,208],"comprehensions":[55,209,275,323],"like":[56],"sequence-fold),":[57],"precluding":[58],"automation.":[59],"Furthermore,":[60],"reachability":[65,212,359,382,416,420,480,508,552,571],"between":[66,403,466],"dynamically":[67,373],"interlinked":[68,374],"objects)":[69],"non-compositional;":[71],"is,":[73],"one":[74,462],"cannot":[75],"compose":[76],"property":[78],"a":[80,95,160,241,267,301,349,400,408,427,452,474,487,517,584,589],"based":[83],"solely":[84],"on":[85,155,391],"its":[89,411,435],"disjoint":[90,563],"sub-structures.":[91],"compositionality":[93,110],"is":[94,137,220,240,348,473,530],"prerequisite":[96],"automated":[98,143,195,225],"(due":[101],"problem":[104],"commonly":[105],"known":[106],"as":[107,282],"framing).":[108],"If":[109],"holds,":[111],"programmer":[113,230],"can":[114],"independently":[115],"reason":[116],"each":[118,378,467],"method":[119,394],"an":[121,194],"application":[122],"without":[123],"considering":[124],"implementation":[126],"other":[128],"methods,":[129],"e.g.,":[130,336,560],"library":[131],"code.&#13;\\n&#13;\\nThe":[132],"goal":[133,216],"this":[135,501],"thesis":[136,219],"develop":[139,222,300],"compositional":[140],"\u2014":[141,146],"i.e.,":[142,418],"and":[144,210,235,285,309,334,410,455,539,573,587],"verifying":[149],"properties.":[152,213,252,360],"We":[153,299,396,485,498,565],"build":[154],"top":[156],"separation":[158,177,290],"logic,":[159,291],"prominent":[161],"logic":[163,178,278],"enables":[165,414],"heap-transforming,":[169],"concurrently":[170],"executed":[171],"The":[173,197],"specification":[174],"language":[175],"expresses":[179],"memory":[180],"safety":[181],"properties,":[182],"but":[183],"complementary":[184],"handling":[187],"underdeveloped,":[191],"especially":[192],"setting.":[196],"two":[198,581],"classes":[199],"we":[204,380,520],"consider":[205],"heap":[211,338,358,375,390,405,424,432,479,492,507,518,551,558,570],"An":[214],"additional":[215],"debugging,":[227],"aiding":[228],"authoring":[232],"formal":[233],"specifications":[234],"verified":[236,590],"programs.&#13;\\n&#13;\\nOur":[237],"first":[238],"contribution":[239,347,472],"technique":[242,321,350,442,475,529,579],"class":[247,355],"(higher-order,":[249],"compositional)":[250],"comprehensive":[251],"These":[253,361],"containing":[258],"potentially":[259],"unbounded":[260],"(and":[261],"statically":[262],"unknown)":[263],"object":[264],"sets":[265],"finite":[268],"number":[269],"values.":[271],"Our":[272,320,441,528,547],"encoding":[273],"reduces":[274],"first-order":[277,302],"by":[279],"modeling":[280],"them":[281],"uninterpreted":[283],"functions":[284],"leveraging":[286],"native":[287],"features":[288],"most":[292,461],"notably,":[293],"iterated":[295],"separating":[296],"conjunction":[297],"connective.":[298],"axiomatization":[303],"functions,":[306],"automating":[307],"framing":[308],"lemmas":[311],"required":[312],"SMT-based":[314],"characteristic":[317],"benchmark":[318],"supports":[322,443],"over":[324],"regardless":[327],"how":[329],"their":[330],"objects":[331],"accessed":[333],"ordered,":[335],"general":[337,488],"graphs":[339,450,458],"addition":[341],"index-based":[343],"array":[344],"structures.&#13;\\n&#13;\\nOur":[345],"second":[346],"(non-compositional)":[357],"express":[363],"existence":[365],"absence":[368],"directed":[370],"paths":[371],"connecting":[372],"objects.":[376],"For":[377],"method,":[379],"specify":[381],"only":[383,544],"locally":[384],"within":[385],"fragment":[387,425,433],"which":[392,413],"operates.":[395],"identify":[397],"relative":[398],"convexity,":[399],"novel":[401],"relation":[402],"fragments":[406],"callee":[409,428],"client,":[412,436],"(first-order)":[415],"framing,":[417],"propagating":[419],"from":[422,494],"larger":[431],"enabling":[437],"precise,":[438],"reasoning.":[440],"important":[445],"structures,":[447],"namely,":[448],"acyclic":[449,561],"bounded":[453],"outdegree":[454],"(potentially":[456],"cyclic)":[457],"at":[460],"path":[463],"(modulo":[464],"cycles)":[465],"pair":[468],"nodes.&#13;\\n&#13;\\nOur":[470],"third":[471],"generating":[477],"counterexample":[478],"models":[481,493,572],"debugging.":[484],"propose":[486],"procedure":[489,502],"extracting":[491],"partial":[495],"SMT":[496],"models.":[497],"then":[499],"extend":[500],"extract":[504],"(state-dependent)":[505],"local":[506],"relations.":[509],"To":[510],"refer":[511],"relevant":[513],"states":[515],"model,":[519],"employ":[521],"lightweight":[522],"instrumentation":[523],"source":[526],"program.":[527,592],"agnostic":[531],"verifier":[534],"implementation,":[535],"supporting":[536],"symbolic":[537],"execution":[538],"condition":[541],"generation":[542],"minor":[545],"adaptations.":[546],"algorithm":[548],"extracts":[549],"first-class":[550],"relations":[553],"needed":[554],"specifying":[556],"configurations,":[559],"structures.":[564],"automatically":[566],"visualize":[567],"output":[569],"demonstrate":[574],"practicality":[576],"our":[578],"scenarios:":[582],"debugging":[583],"failed":[585],"inspecting":[588],"heap-transforming":[591]},"counts_by_year":[],"updated_date":"2025-11-06T06:51:31.235846","created_date":"2025-10-10T00:00:00"}
