Publication:
A calculus of atomic actions

dc.contributor.coauthorQadeer, Shaz
dc.contributor.departmentN/A
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.kuauthorElmas, Tayfun
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.kuprofilePhD Student
dc.contributor.kuprofileFaculty Member
dc.contributor.otherDepartment of Computer Engineering
dc.contributor.schoolcollegeinstituteGraduate School of Sciences and Engineering
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.contributor.yokidN/A
dc.contributor.yokidN/A
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.indexedbyScopus
dc.description.indexedbyWoS
dc.description.openaccessYES
dc.description.publisherscopeInternational
dc.description.sponsorshipACM SIGPLAN
dc.identifier.doi10.1145/1480881.1480885
dc.identifier.isbn9781-6055-8379-2
dc.identifier.issn0730-8566
dc.identifier.linkhttps://www.scopus.com/inward/record.uri?eid=2-s2.0-67649841057anddoi=10.1145%2f1480881.1480885andpartnerID=40andmd5=57a51d05060f7a8b965194cdf5ba03c9
dc.identifier.quartileN/A
dc.identifier.scopus2-s2.0-67649841057
dc.identifier.urihttp://dx.doi.org/10.1145/1480881.1480885
dc.identifier.urihttps://hdl.handle.net/20.500.14288/16016
dc.identifier.wos272013800002
dc.keywordsAbstraction
dc.keywordsAtomicity
dc.keywordsConcurrent programs
dc.keywordsReduction
dc.languageEnglish
dc.publisherN/A
dc.sourceConference Record of the Annual ACM Symposium on Principles of Programming Languages
dc.subjectComputer Engineering
dc.titleA calculus of atomic actions
dc.typeConference proceeding
dspace.entity.typePublication
local.contributor.authoridN/A
local.contributor.authoridN/A
local.contributor.kuauthorElmas, Tayfun
local.contributor.kuauthorTaşıran, Serdar
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae

Files