Proceedings of the 40th International Conference on Software Engineering 2018
DOI: 10.1145/3180155.3180157
|View full text |Cite
|
Sign up to set email alerts
|

A static verification framework for message passing in Go using behavioural types

Abstract: The Go programming language has been heavily adopted in industry as a language that efficiently combines systems programming with concurrency. Go's concurrency primitives, inspired by process calculi such as CCS and CSP, feature channel-based communication and lightweight threads, providing a distinct means of structuring concurrent software. Despite its popularity, the Go programming ecosystem offers little to no support for guaranteeing the correctness of message-passing concurrent programs. This work propos… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
67
0

Year Published

2019
2019
2020
2020

Publication Types

Select...
5
1

Relationship

4
2

Authors

Journals

citations
Cited by 59 publications
(67 citation statements)
references
References 38 publications
(47 reference statements)
0
67
0
Order By: Relevance
“…Hence, we can verify them independently by considering each function declaration without channel parameters as a program entry point. As a consequence, we obtain a more precise and wider analysis of code-bases, while reducing the computational cost of our analysis, comparing to [8]. In particular, we can detect some partial deadlocks in the program under considering by identifying global deadlocks in some of its partitions.…”
Section: Extracting Promela Models From Minigo Programsmentioning
confidence: 96%
See 4 more Smart Citations
“…Hence, we can verify them independently by considering each function declaration without channel parameters as a program entry point. As a consequence, we obtain a more precise and wider analysis of code-bases, while reducing the computational cost of our analysis, comparing to [8]. In particular, we can detect some partial deadlocks in the program under considering by identifying global deadlocks in some of its partitions.…”
Section: Extracting Promela Models From Minigo Programsmentioning
confidence: 96%
“…This value is then used as a bound in the for-loops at lines 4 and 7 as well as the capacity of channel a. [8]. All programs are available online [4].…”
Section: Implementation and Evaluationmentioning
confidence: 99%
See 3 more Smart Citations