Safe systems programming in Rust

R Jung, JH Jourdan, R Krebbers, D Dreyer - Communications of the ACM, 2021 - dl.acm.org
Safe systems programming in Rust Page 1 144 COMMUNICATIONS OF THE ACM | APRIL
2021 | VOL. 64 | NO. 4 contributed articles THERE IS A longstanding tension in …

Gobench: A benchmark suite of real-world go concurrency bugs

T Yuan, G Li, J Lu, C Liu, L Li… - 2021 IEEE/ACM …, 2021 - ieeexplore.ieee.org
Go, a fast growing programming language, is often considered as “the programming
language of the cloud”. The language provides a rich set of synchronization primitives …

Automated verification of go programs via bounded model checking

N Dilley, J Lange - … 36th IEEE/ACM International Conference on …, 2021 - ieeexplore.ieee.org
The Go programming language offers a wide range of primitives to coordinate lightweight
threads, eg, channels, waitgroups, and mutexes—all of which may cause concurrency bugs …

Kotlin coroutines: design and implementation

R Elizarov, M Belyaev, M Akhin… - Proceedings of the 2021 …, 2021 - dl.acm.org
Asynchronous programming is having its “renaissance” moment in recent years. Created in
the 1980s, it was in use for quite some time, but with the advent of multi-core processors, it …

A message-passing interpretation of adjoint logic

K Pruiksma, F Pfenning - Journal of Logical and Algebraic Methods in …, 2021 - Elsevier
We present a system of session types based on adjoint logic which generalizes standard
binary session types. Our system allows us to uniformly capture several new behaviors in …

Automatically detecting and fixing concurrency bugs in go software systems

Z Liu, S Zhu, B Qin, H Chen, L Song - Proceedings of the 26th ACM …, 2021 - dl.acm.org
Go is a statically typed programming language designed for efficient and reliable concurrent
programming. For this purpose, Go provides lightweight goroutines and recommends …

Analysis of specifications of multiparty sessions with dcj-lint

E Horlings, SS Jongmans - Proceedings of the 29th ACM Joint Meeting …, 2021 - dl.acm.org
Multiparty session types constitute a method to automatically detect violations of protocol
implementations relative to specifications. But, when a violation is detected, does it …

Optimistic concurrency control for real-world go programs

Z Zhang, M Chabbi, A Welc, T Sherwood - 2021 USENIX Annual …, 2021 - usenix.org
We present a source-to-source transformation framework, Gocc, that consumes lock-based
pessimistic concurrency programs in the Go language and transforms them into optimistic …

GoDetector: Detecting concurrent bug in go

D Zhang, P Qi, Y Zhang - IEEE Access, 2021 - ieeexplore.ieee.org
Go provides a new concurrency mechanism based on message-passing, which brings a
series of new concurrency bugs. The existing tools are highly dependent on model-checking …

Automated dynamic concurrency analysis for go

S Taheri, G Gopalakrishnan - arXiv preprint arXiv:2105.11064, 2021 - arxiv.org
The concurrency features of the Go language have proven versatile in the development of a
number of concurrency systems. However, correctness methods to address challenges in …