Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation
Oskar Haarklou Veileborg, Georgian-Vlad Saioc & Anders Møller, Aarhus University
Read the paper
To evaluate the proposed approach we developed the Goat tool that detects potential blocking errors in Go programs. The tool's source code is available at GitHub . Instructions and benchmark projects required for reproducing the results in the paper are available here.
In this example program:
package main
func main() {
ch := make(chan int)
go func() {
ch <- 10
}()
go func() {
ch <- 20
}()
<-ch
}
Contact {oskar,gvsaioc,amoeller}@cs.au.dk if you experience issues with, or have questions about the tool.