Loading [MathJax]/extensions/MathMenu.js
An Empirical Study of Messaging Passing Concurrency in Go Projects | IEEE Conference Publication | IEEE Xplore

An Empirical Study of Messaging Passing Concurrency in Go Projects


Abstract:

Go is a popular programming language renowned for its good support for system programming and its channel-based message passing concurrency mechanism. These strengths hav...Show More

Abstract:

Go is a popular programming language renowned for its good support for system programming and its channel-based message passing concurrency mechanism. These strengths have made it the language of choice of many platform software such as Docker and Kubernetes. In this paper, we analyse 865 Go projects from GitHub in order to understand how message passing concurrency is used in publicly available code. Our results include the following findings: (1) message passing primitives are used frequently and intensively, (2) concurrency-related features are generally clustered in specific parts of a Go project, (3) most projects use synchronous communication channels over asynchronous ones, and (4) most Go projects use simple concurrent thread topologies, which are however currently unsupported by existing static verification frameworks.
Date of Conference: 24-27 February 2019
Date Added to IEEE Xplore: 18 March 2019
ISBN Information:
Print on Demand(PoD) ISSN: 1534-5351
Conference Location: Hangzhou, China

Contact IEEE to Subscribe

References

References is not available for this document.