2017
DOI: 10.1007/978-3-662-54434-1_7
|View full text |Cite
|
Sign up to set email alerts
|

Verifying Robustness of Event-Driven Asynchronous Programs Against Concurrency

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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
5
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 10 publications
(5 citation statements)
references
References 35 publications
0
5
0
Order By: Relevance
“…The approach we adopt in this work is related to robustness checking [5,8]. The general paradigm is to decide that a program has the same behaviors under two semantics, one being weaker than the other, by showing a polynomial reduction to a state reachability problem under the stronger semantics, i.e., by avoiding the consideration of the weak semantics that is in general far more complex to deal with than the strong one.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…The approach we adopt in this work is related to robustness checking [5,8]. The general paradigm is to decide that a program has the same behaviors under two semantics, one being weaker than the other, by showing a polynomial reduction to a state reachability problem under the stronger semantics, i.e., by avoiding the consideration of the weak semantics that is in general far more complex to deal with than the strong one.…”
Section: Related Workmentioning
confidence: 99%
“…For instance, in the case of our work, the class of message passing programs with unbounded FIFO channels is Turing powerful, but still, surprisingly, k-synchronizability of these programs is decidable and PSPACE-complete (i.e., as hard as state reachability in programs with bounded channels). However, the results in [5,8] can not be applied to solve the question of synchronizability we consider in this paper; in each of [5], [8], and our work, the considered classes of programs and their strong/weak semantics are very different (shared-memory concurrent programs running over a relaxed memory model in [5], and shared-memory concurrent programs with dynamic asynchronous process creation in [8]), and the corresponding robustness checking algorithms are based on distinct concepts and techniques. As a proof of concept, we have applied our procedure for checking ksynchronizability to a set of examples extracted from the distribution of the P language 6 .…”
Section: Related Workmentioning
confidence: 99%
“…As future work, it is worth to consider the extension of our domain specific language toward supporting message queue telemetry transport clients and servers, as in the work of Patel and Cassou . To this respect, a publish‐subscribe model has to be integrated, such as the BIP model described in the wok of Bliudze et al An interesting direction is the detection of compute‐bound event loops and the analysis of their robustness, which is defined as conjunction of two correctness properties, ie, event serializability and event determinism (executions within each event are insensitive to the interleavings between concurrent tasks dynamically spawned by the event). Finally, we intend to provide support for additional nonfunctional requirements related to energy consumption() and security aspects.…”
Section: Resultsmentioning
confidence: 99%
“…Multi-threading programming semantics in applications have lately drawn increasing attention. Some combine it with event handling [23][24][25], others consider the main API methods relating to it [26]. In [24], Kanade proposes a semantic of a combined concurrency model of threads and events.…”
Section: Related Workmentioning
confidence: 99%