Publication: Verifying robustness of event-driven asynchronous programs against concurrency
dc.contributor.coauthor | Bouajjani A., Emmi M., Enea C. | |
dc.contributor.department | Department of Computer Engineering | |
dc.contributor.kuauthor | Özkan, Burcu Külahcıoğlu | |
dc.contributor.kuauthor | Taşıran, Serdar | |
dc.contributor.kuprofile | Faculty Member | |
dc.contributor.other | Department of Computer Engineering | |
dc.contributor.schoolcollegeinstitute | College of Engineering | |
dc.date.accessioned | 2024-11-09T13:27:01Z | |
dc.date.issued | 2017 | |
dc.description.abstract | We 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.fulltext | YES | |
dc.description.indexedby | WoS | |
dc.description.indexedby | Scopus | |
dc.description.openaccess | YES | |
dc.description.publisherscope | International | |
dc.description.sponsoredbyTubitakEu | EU | |
dc.description.sponsorship | European Research Council under the European Union Seventh Framework Programme (FP7) ERC | |
dc.description.version | Author's final manuscript | |
dc.format | ||
dc.identifier.doi | 10.1007/978-3-662-54434-1_7 | |
dc.identifier.embargo | NO | |
dc.identifier.filenameinventoryno | IR01480 | |
dc.identifier.isbn | 9783662544334 | |
dc.identifier.issn | 0302-9743 | |
dc.identifier.link | https://doi.org/10.1007/978-3-662-54434-1_7 | |
dc.identifier.quartile | N/A | |
dc.identifier.scopus | 2-s2.0-85018700394 | |
dc.identifier.uri | https://hdl.handle.net/20.500.14288/3502 | |
dc.identifier.wos | 681702400007 | |
dc.keywords | Artificial intelligence | |
dc.keywords | Computer science | |
dc.keywords | Computers | |
dc.language | English | |
dc.publisher | Springer | |
dc.relation.grantno | 678177 | |
dc.relation.uri | http://cdm21054.contentdm.oclc.org/cdm/ref/collection/IR/id/7137 | |
dc.source | Lecture Notes in Computer Science | |
dc.subject | Computer science | |
dc.title | Verifying robustness of event-driven asynchronous programs against concurrency | |
dc.type | Conference proceeding | |
dspace.entity.type | Publication | |
local.contributor.kuauthor | Özkan, Burcu Külahcıoğlu | |
local.contributor.kuauthor | Taşıran, Serdar | |
relation.isOrgUnitOfPublication | 89352e43-bf09-4ef4-82f6-6f9d0174ebae | |
relation.isOrgUnitOfPublication.latestForDiscovery | 89352e43-bf09-4ef4-82f6-6f9d0174ebae |
Files
Original bundle
1 - 1 of 1