Publication:
Proving linearizability using forward simulations

dc.conference.dateJUL 22-28, 2017
dc.conference.locationHeidelberg, Germany
dc.conference.organizer29th International Conference on Computer-Aided Verification (CAV)
dc.contributor.coauthorBouajjani, Ahmed
dc.contributor.coauthorEmmi, Michael
dc.contributor.coauthorEnea, Constantin
dc.contributor.departmentGraduate School of Sciences and Engineering
dc.contributor.facultymemberNo
dc.contributor.kuauthorMutluergil, Süha Orhun
dc.contributor.schoolcollegeinstituteGRADUATE SCHOOL OF SCIENCES AND ENGINEERING
dc.date.accessioned2024-11-09T22:49:29Z
dc.date.issued2017
dc.description.abstractLinearizability is the standard correctness criterion for concurrent data structures such as stacks and queues. It allows to establish observational refinement between a concurrent implementation and an atomic reference implementation. Proving linearizability requires identifying linearization points for each method invocation along all possible computations, leading to valid sequential executions, or alternatively, establishing forward and backward simulations. In both cases, carrying out proofs is hard and complex in general. In particular, backward reasoning is difficult in the context of programs with data structures, and strategies for identifying statically linearization points cannot be defined for all existing implementations. In this paper, we show that, contrary to common belief, many such complex implementations, including, e.g., the Herlihy and Wing Queue and the Time-Stamped Stack, can be proved correct using only forward simulation arguments. This leads to simple and natural correctness proofs for these implementations that are amenable to automation.
dc.description.fulltextNo
dc.description.harvestedfromManual
dc.description.indexedbyWOS
dc.description.indexedbyScopus
dc.description.openaccessNO
dc.description.peerreviewstatusN/A
dc.description.publisherscopeInternational
dc.description.readpublishN/A
dc.description.sponsoredbyTubitakEuEU
dc.description.sponsorshipEuropean Research Council (ERC)
dc.description.studentonlypublicationYes
dc.description.studentpublicationYes
dc.description.versionN/A
dc.identifier.WoSQuartileQ4
dc.identifier.doi10.1007/978-3-319-63390-9_28
dc.identifier.eissn1611-3349
dc.identifier.embargoN/A
dc.identifier.endpage563
dc.identifier.grantno678177
dc.identifier.isbn9783319633909
dc.identifier.isbn9783319633893
dc.identifier.issn0302-9743
dc.identifier.scopus2-s2.0-85026759575
dc.identifier.startpage542
dc.identifier.urihttps://doi.org/10.1007/978-3-319-63390-9_28
dc.identifier.urihttps://hdl.handle.net/20.500.14288/6511
dc.identifier.volume10427
dc.identifier.wos000431900900028
dc.language.isoeng
dc.relation.affiliationKoç University
dc.relation.collectionKoç University Institutional Repository
dc.relation.ispartofComputer Aided Verification (Cav 2017), Pt Ii
dc.relation.openaccessN/A
dc.rightsN/A
dc.subjectComputer Science
dc.titleProving linearizability using forward simulations
dc.typeConference Proceeding
dspace.entity.typePublication
local.contributor.kuauthorMutluergil, Süha Orhun
relation.isOrgUnitOfPublication3fc31c89-e803-4eb1-af6b-6258bc42c3d8
relation.isOrgUnitOfPublication.latestForDiscovery3fc31c89-e803-4eb1-af6b-6258bc42c3d8
relation.isParentOrgUnitOfPublication434c9663-2b11-4e66-9399-c863e2ebae43
relation.isParentOrgUnitOfPublication.latestForDiscovery434c9663-2b11-4e66-9399-c863e2ebae43

Files