Go is a language that natively supports many constructs to synchronise concurrent threads. Because of this, developing code that contains subtle concurrency bugs is rather common. To address this problem, several groups of researchers have put forwards tools to find concurrency bugs in Go codebases. The objective of this project is to evaluate how some … full description “Empirical evaluation of static verifiers for the Go programming language (available)”
Supervisor: Julien Lange
Active: updated 10-OCT-2022 (CHAA009) no expiry
Mechanisation of subtyping for Go 1.18 (available)
Go 1.18 [1] has recently been released. This new version includes generics and more flexible interfaces. Generics allow programmers to define data structures and functions that work safely for several types, e.g., like List<E> in Java which defines lists that can store any value of type E, where E is any type (String, Boolean, etc). … full description “Mechanisation of subtyping for Go 1.18 (available)”