GoAT: Automated Concurrency Analysis and Debugging Tool for Go - Artifact Evaluation for IISWC 2021
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
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