Published September 21, 2021 | Version 1.0
Software Open

GoAT: Automated Concurrency Analysis and Debugging Tool for Go - Artifact Evaluation for IISWC 2021

  • 1. University of Utah

Description

GOAT is a combined static and dynamic concurrency testing and analysis tool that facilitates the process of debugging for real-world Go programs. The workflow of GOAT includes 1)automated dynamic tracing to capture the behavior of concurrency primitives, 2) systematic schedule space exploration to accelerate the bug occurrence and 3) deadlock detection with supplementary visualizations and reports. GOAT also proposes a set of coverage requirements that characterize the dynamic behavior of concurrency primitives and provide metrics to measure the quality of tests. All of the above are done through goatlib (tracing API) and tuning parameters such as global deadlock timeout, visualization grain, and the number of run-time processes

Notes

GoAT will be updated on https://github.com/staheri/goat.git

Files

data.zip

Files (375.2 MB)

Name Size Download all
md5:2ba0e69e97807e8d911e5f463d89eaf8
373.0 MB Preview Download
md5:6a5973859e13ac507e546ddf552d60f3
2.2 MB Preview Download

Additional details

References

  • Saeed Taheri, Ganesh Gopalakrishnan: Automated Dynamic Concurrency Analysis for Go. CoRR abs/2105.11064 (2021)
  • Saeed Taheri, Ian Briggs, Martin Burtscher, Ganesh Gopalakrishnan: DiffTrace: Efficient Whole-Program Trace Analysis and Diffing for Debugging. CLUSTER 2019: 1-12
  • Saeed Taheri, Apan Qasem, Martin Burtscher: A Tool for Automatically Suggesting Source-Code Optimizations for Complex GPU Kernels. CoRR abs/1910.07776 (2019)
  • Saeed Taheri, Sindhu Devale, Ganesh Gopalakrishnan, Martin Burtscher: ParLoT: Efficient Whole-Program Call Tracing for HPC Applications. ESPT/VPA@SC 2018: 162-184