2016 24th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP) 2016
DOI: 10.1109/pdp.2016.72
|View full text |Cite
|
Sign up to set email alerts
|

Choreography-Based Analysis of Distributed Message Passing Programs

Abstract: Abstract-Distributed programs are vulnerable to subtle communication faults (e.g. deadlocks, lost messages). Although the behaviour of individual processes can be relatively straightforward, faults can still be hard to detect because the macroscopic behaviour emerging from interactions can easily become very complex. This paper reports the analysis of gen_server, an Erlang popular library to build client-server applications. Our analysis uses a tool based on choreographic models of communicating finite state m… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
4
0

Year Published

2018
2018
2019
2019

Publication Types

Select...
1
1
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(4 citation statements)
references
References 18 publications
0
4
0
Order By: Relevance
“…These protocols are used to generate various endpoint APIs implementing a Scribble specification [31,32,48] and to produce runtime monitoring tools [47,49,50]. Taylor et al [68] use multiparty compatibility and choreography synthesis [40] to automate the analysis of the gen_server library of Erlang/OTP. We believe that we can transparently widen the set of safe programs captured by these tools by using k-mc instead of synchronous multiparty compatibility.…”
Section: Multiparty Compatibilitymentioning
confidence: 99%
See 2 more Smart Citations
“…These protocols are used to generate various endpoint APIs implementing a Scribble specification [31,32,48] and to produce runtime monitoring tools [47,49,50]. Taylor et al [68] use multiparty compatibility and choreography synthesis [40] to automate the analysis of the gen_server library of Erlang/OTP. We believe that we can transparently widen the set of safe programs captured by these tools by using k-mc instead of synchronous multiparty compatibility.…”
Section: Multiparty Compatibilitymentioning
confidence: 99%
“…Communicating automata and asynchronous multiparty session types [29] are closely related: the latter can be seen as a syntactical representation of the former [17] where a sending state corresponds to an internal choice and a receiving state to an external choice. This correspondence between communicating automata and multiparty session types has become the foundation of many tools centred on session types, e.g., for generating communication API from multiparty session (global) types [31,32,48,62], for detecting deadlocks in message-passing programs [51,68], and for monitoring session-enabled programs [5,16,47,49,50]. These tools rely on a property called multiparty compatibility [6,18,40], which guarantees that communicating automata representing session types interact correctly, hence enabling the identification of correct protocols or the detection of errors in endpoint programs.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…Recent work develops the connections of multiparty session types and communicating automata [6,22,37,38], denotational semantics [21], Petri Nets [24], applications to, e.g., secure information flow analysis [10,16], dynamic monitoring [5], and reversible computing [15]. Multiparty session types have also been integrated into mainstream programming languages such as MPI [41,47], Java [32,33,42,56], Python [20,43,46], C [49], Go [48], Erlang [25,45,57], Scala [54], and F# [44].…”
Section: Introductionmentioning
confidence: 99%