Publication:
A calculus of atomic actions

dc.conference.dateJanuary 21-23, 2009
dc.conference.locationSavannah, GA
dc.conference.organizer36th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
dc.contributor.coauthorQadeer, Shaz
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.departmentGraduate School of Sciences and Engineering
dc.contributor.facultymemberYes
dc.contributor.kuauthorElmas, Tayfun
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.schoolcollegeinstituteGRADUATE SCHOOL OF SCIENCES AND ENGINEERING
dc.date.accessioned2024-11-10T00:01:42Z
dc.date.issued2009
dc.description.abstractWe present a proof calculus and method for the static verification of assertions and procedure specifications in shared-memory concurrent programs. The key idea in our approach is to use atomicity as a proof tool and to simplify the verification of assertions by rewriting programs to consist of larger atomic actions. We propose a novel, iterative proof style in which alternating use of abstraction and reduction is exploited to compute larger atomic code blocks in a sound manner. This makes possible the verification of assertions in the transformed program by simple sequential reasoning within atomic blocks, or significantly simplified application of existing concurrent program verification techniques such as the Owicki-Gries or rely-guarantee methods. Our method facilitates a clean separation of concerns where at each phase of the proof, the user worries only about only either the sequential properties or the concurrency control mechanisms in the program. We implemented our method in a tool called QED.We demonstrate the simplicity and effectiveness of our approach on a number of benchmarks including ones with intricate concurrency protocols.
dc.description.fulltextNo
dc.description.harvestedfromManual
dc.description.indexedbyWOS
dc.description.indexedbyScopus
dc.description.openaccessYES
dc.description.peerreviewstatusN/A
dc.description.publisherscopeInternational
dc.description.readpublishN/A
dc.description.sponsoredbyTubitakEuTÜBİTAK
dc.description.sponsorshipACM SIGPLAN
dc.description.sponsorshipThis research was supported by a career grant (104E058) from the Scientific and Technical Research Council of Turkey, the Turkish Academy of Sciences Distinguished Young Scientist Award (TUBA-GEBIP), and a research gift from the Software Reliability Research group at Microsoft Research, Redmond, WA. We would like to thank the Spec# team, particularly Rustan Leino and Mike Barnett, for their support with using the Boogie/Spec# framework.
dc.description.studentonlypublicationNo
dc.description.studentpublicationYes
dc.description.versionN/A
dc.identifier.doi10.1145/1480881.1480885
dc.identifier.embargoN/A
dc.identifier.grantno104E058
dc.identifier.isbn9781605583792
dc.identifier.issn0730-8566
dc.identifier.quartileQ4
dc.identifier.scopus2-s2.0-67649841057
dc.identifier.urihttps://doi.org/10.1145/1480881.1480885
dc.identifier.urihttps://hdl.handle.net/20.500.14288/16016
dc.identifier.wos000272013800002
dc.keywordsAbstraction
dc.keywordsAtomicity
dc.keywordsConcurrent programs
dc.keywordsReduction
dc.language.isoeng
dc.publisherN/A
dc.relation.affiliationKoç University
dc.relation.collectionKoç University Institutional Repository
dc.relation.ispartofConference Record of the Annual ACM Symposium on Principles of Programming Languages
dc.relation.openaccessN/A
dc.rightsN/A
dc.subjectComputer Engineering
dc.titleA calculus of atomic actions
dc.typeConference Proceeding
dspace.entity.typePublication
local.contributor.kuauthorElmas, Tayfun
local.contributor.kuauthorTaşıran, Serdar
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication3fc31c89-e803-4eb1-af6b-6258bc42c3d8
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isParentOrgUnitOfPublication8e756b23-2d4a-4ce8-b1b3-62c794a8c164
relation.isParentOrgUnitOfPublication434c9663-2b11-4e66-9399-c863e2ebae43
relation.isParentOrgUnitOfPublication.latestForDiscovery8e756b23-2d4a-4ce8-b1b3-62c794a8c164

Files