Publication:
Verifying robustness of event-driven asynchronous programs against concurrency

dc.contributor.coauthorBouajjani A., Emmi M., Enea C.
dc.contributor.departmentDepartment of Computer Engineering
dc.contributor.kuauthorÖzkan, Burcu Külahcıoğlu
dc.contributor.kuauthorTaşıran, Serdar
dc.contributor.kuprofileFaculty Member
dc.contributor.otherDepartment of Computer Engineering
dc.contributor.schoolcollegeinstituteCollege of Engineering
dc.date.accessioned2024-11-09T13:27:01Z
dc.date.issued2017
dc.description.abstractWe define a correctness criterion, called robustness against concurrency, for a class of event-driven asynchronous programs that are at the basis of modern UI frameworks in Android, iOS, and Javascript. A program is robust when all possible behaviors admitted by the program under arbitrary procedure and event interleavings are admitted even if asynchronous procedures (respectively, events) are assumed to execute serially, one after the other, accessing shared memory in isolation. We characterize robustness as a conjunction of two correctness criteria: event-serializability (i.e., events can be seen as atomic) and event determinism (executions within each event are insensitive to the interleavings between concurrent tasks dynamically spawned by the event). Then, we provide efficient algorithms for checking these two criteria based on polynomial reductions to reachability problems in sequential programs. This result is surprising because it allows to avoid explicit handling of all concurrent executions in the analysis, which leads to an important gain in complexity. We demonstrate via case studies on Android apps that the typical mistakes programmers make are captured as robustness violations, and that violations can be detected efficiently using our approach.
dc.description.fulltextYES
dc.description.indexedbyWoS
dc.description.indexedbyScopus
dc.description.openaccessYES
dc.description.publisherscopeInternational
dc.description.sponsoredbyTubitakEuEU
dc.description.sponsorshipEuropean Research Council under the European Union Seventh Framework Programme (FP7) ERC
dc.description.versionAuthor's final manuscript
dc.formatpdf
dc.identifier.doi10.1007/978-3-662-54434-1_7
dc.identifier.embargoNO
dc.identifier.filenameinventorynoIR01480
dc.identifier.isbn9783662544334
dc.identifier.issn0302-9743
dc.identifier.linkhttps://doi.org/10.1007/978-3-662-54434-1_7
dc.identifier.quartileN/A
dc.identifier.scopus2-s2.0-85018700394
dc.identifier.urihttps://hdl.handle.net/20.500.14288/3502
dc.identifier.wos681702400007
dc.keywordsArtificial intelligence
dc.keywordsComputer science
dc.keywordsComputers
dc.languageEnglish
dc.publisherSpringer
dc.relation.grantno678177
dc.relation.urihttp://cdm21054.contentdm.oclc.org/cdm/ref/collection/IR/id/7137
dc.sourceLecture Notes in Computer Science
dc.subjectComputer science
dc.titleVerifying robustness of event-driven asynchronous programs against concurrency
dc.typeConference proceeding
dspace.entity.typePublication
local.contributor.kuauthorÖzkan, Burcu Külahcıoğlu
local.contributor.kuauthorTaşıran, Serdar
relation.isOrgUnitOfPublication89352e43-bf09-4ef4-82f6-6f9d0174ebae
relation.isOrgUnitOfPublication.latestForDiscovery89352e43-bf09-4ef4-82f6-6f9d0174ebae

Files

Original bundle

Now showing 1 - 1 of 1
Thumbnail Image
Name:
7137.pdf
Size:
817.37 KB
Format:
Adobe Portable Document Format