Passer à la navigation principale Passer à la recherche Passer au contenu principal

Verifying robustness of event-driven asynchronous programs against concurrency

  • Ahmed Bouajjani
  • , Michael Emmi
  • , Constantin Enea
  • , Burcu Kulahcioglu Ozkan
  • , Serdar Tasiran
  • Laboratoire de Probabilités et Modèles Aléatoires
  • Bell Labs
  • Koç University School of Medicine

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

11 Citations (Scopus)

Résumé

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.

langue originaleAnglais
titreProgramming Languages and Systems - 26th European Symposium on Programming, ESOP 2017 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017, Proceedings
rédacteurs en chefHongseok Yang
EditeurSpringer Verlag
Pages170-200
Nombre de pages31
ISBN (imprimé)9783662544334
Les DOIs
étatPublié - 1 janv. 2017
Modification externeOui
Evénement26th European Symposium on Programming, ESOP 2017 held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017 - Uppsala, Sucde
Durée: 22 avr. 201729 avr. 2017

Série de publications

NomLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume10201 LNCS
ISSN (imprimé)0302-9743
ISSN (Electronique)1611-3349

Une conférence

Une conférence26th European Symposium on Programming, ESOP 2017 held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2017
Pays/TerritoireSucde
La ville Uppsala
période22/04/1729/04/17

Empreinte digitale

Examiner les sujets de recherche de « Verifying robustness of event-driven asynchronous programs against concurrency ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation