Static race detection and mutex safety and liveness for Go programs (Artifact)
File(s)DARTS-6-2-12.pdf (769.02 KB)
Published version
Author(s)
Gabet, Julia
Yoshida, Nobuko
Type
Conference Paper
Abstract
This artifact contains a version of the Godel tool that checks MiGo+ types - an extension of MiGo from [Lange et al., 2018] including GoL. Given the extracted MiGo+ types, the tool can analyse them using the mCRL2 model checker to check several properties including liveness, safety and data race freedom as defined in our paper. The artifact also includes examples, shipped with both the source of the Godel tool and the benchmark repository. The latter also contains the Go source for the benchmark examples. We provide compiled binaries of the artifact in a Docker image, with instructions on how to use them. Finally, for convenience, the Docker image also contains a binary version of the migoinfer+ tool, developed as a fork from the original migoinfer by Nicholas Ng in [Lange et al., 2018]. This new version adds the ability to extract shared memory pointers as well as Mutex and RWMutex locks.
Date Issued
2020-11-06
Date Acceptance
2020-11-01
Citation
Dagstuhl Artifacts Series (DARTS), 2020, 6
Publisher
Schloss Dagstuhl – Leibniz-Zentrum für Informatik
Journal / Book Title
Dagstuhl Artifacts Series (DARTS)
Volume
6
Copyright Statement
© Julia Gabet and Nobuko Yoshida; licensed under Creative Commons Attribution 3.0 Germany CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/legalcode)
License URL
Identifier
https://drops.dagstuhl.de/opus/volltexte/2020/13209/
Source
34th European Conference on Object-Oriented Programming (ECOOP 2020)
Subjects
behavioural types
Go language
happens-before relation
liveness
race detection
safety
Publication Status
Published
Start Date
2020-11-15
Finish Date
2020-11-17
Coverage Spatial
Virutal