Skip to content
/ GCatch Public
forked from system-pclub/GCatch

Statically Detecting Go Concurrency Bugs

License

Notifications You must be signed in to change notification settings

dnsjia/GCatch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automatically Detecting and Fixing Concurrency Bugs in Go Software Systems

Descriptions

This is the code repository of our ASPLOS paper [1]. GCatch is a suite of static detectors that can analyze large, real Go software. GFix is an automated fixing tool that can synthesize patches for blocking misuse-of-channel (BMOC) bugs detected by GCatch. We evaluated GCatch and GFix in 21 open-source Go projects (e.g., Docker, Kubernetes, gRPC). In total, GCatch detects 149 BMOC bugs 119 traditional concurrency bugs and GFix successfully generates patches for 124 BMOC bugs. The detailed experimental data can be found here.

[1] Ziheng Liu, Shuofei Zhu, Boqin Qin, Hao Chen, and Linhai Song. “Automatically Detecting and Fixing Concurrency Bugs in Go Software Systems.” In ASPLOS’2021.

About

Statically Detecting Go Concurrency Bugs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 64.5%
  • Go 23.7%
  • Python 2.5%
  • C 2.1%
  • C# 2.0%
  • Java 1.7%
  • Other 3.5%