Registered user since Fri 13 Nov 2020
Contributions
View general profile
Registered user since Fri 13 Nov 2020
Contributions
Research Papers
Tue 11 Oct 2022 14:00 - 14:20 at Ballroom C East - Technical Session 5 - Code Analysis Chair(s): Vahid AlizadehChannel-based concurrency is a widely used alternative to shared-memory concurrency but is difficult to use correctly. Common programming errors may result in blocked threads that wait indefinitely. Recent work exposes this as a considerable problem in Go programs and shows that many such errors can be detected automatically using SMT encoding and dynamic analysis techniques.
In this paper, we present an alternative approach to detect such errors based on abstract interpretation. To curb the large state spaces of real-world multi-threaded programs, our static program analysis leverages standard pre-analyses to divide the given program into individually analyzable fragments. Experimental results on 6 large real-world Go program show that the abstract interpretation achieves good scalability and finds 104 blocking errors that are missed by the state-of-the-art tool GCatch.
Link to publication