Litcius/Paper detail

Detecting Blocking Errors in Go Programs using Localized Abstract Interpretation

Oskar Haarklou Veileborg, Georgian-Vlad Saioc, Anders Møller

202212 citationsDOIOpen Access PDF

Abstract

Channel-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.

Topics & Concepts

Computer scienceConcurrencyBlocking (statistics)Abstract interpretationProgramming languageEncoding (memory)Interpretation (philosophy)Concurrency controlTheoretical computer scienceParallel computingArtificial intelligenceComputer networkDatabase transactionFormal Methods in VerificationParallel Computing and Optimization TechniquesLogic, programming, and type systems