GoPV: Detecting Blocking Concurrency Bugs Related to Shared-Memory Synchronization in Go
Go is a popular concurrent programming language that employs both message-passing and shared-memory synchronization primitives for interaction between different threads known as goroutines. However, the misuse of the synchronization primitives can easily lead to blocking concurrency bugs, including deadlocks, goroutine leaks. While blocking concurrency bugs related to message passing have received increasing attention, little work focuses on the blocking concurrency bugs caused by the misuse of shared-memory synchronization primitives. In this paper, we present GoPV, a static analyzer and an open-source tool, which performs concurrency analysis and (post-)dominator analysis to determine blocking concurrency bugs by ascertaining whether the synchronization primitives are misused. We evaluate GoPV on eight benchmark programs and 21 large real-world Go projects. The experimental results demonstrate that GoPV not only successfully detects all blocking concurrency bugs related to shared-memory synchronization in the eight benchmark programs, but also discovers 17 such bugs in the 21 large Go applications within 2.78 hours.
Wed 25 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
16:00 - 17:30 | Mobile and Concurrency TestingResearch Papers / Tool Demonstrations at Aurora A Chair(s): Li Li Beihang University | ||
16:00 25mTalk | Intention-based GUI Test Migration for Mobile Apps using Large Language Models Research Papers Shaoheng Cao Nanjing University, Minxue Pan Nanjing University, Yuanhong Lan Nanjing University, Xuandong Li Nanjing University DOI | ||
16:25 25mTalk | GoPV: Detecting Blocking Concurrency Bugs Related to Shared-Memory Synchronization in Go Research Papers Wei Song Nanjing University of Science and Technology, Xiaofan Xu Nanjing University of Science and Technology, Jeff Huang Texas A&M University DOI | ||
16:50 25mTalk | Understanding Model Weaknesses: A Path to Strengthening DNN-Based Android Malware Detection Research Papers haodong li Beijing University of Posts and Telecommunications, Xiao Cheng Macquarie University, Yanjie Zhao Huazhong University of Science and Technology, Guosheng Xu Beijing University of Posts and Telecommunications, Guoai Xu Harbin Institute of Technology, Shenzhen, Haoyu Wang Huazhong University of Science and Technology DOI | ||
17:15 15mDemonstration | GoPV: A Static Analyzer for Finding Blocking Concurrency Bugs Due to Misuse of Shared-Memory Synchronization in Go Tool Demonstrations Xiaofan Xu Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology, Jeff Huang Texas A&M University |
Aurora A is the first room in the Aurora wing.
When facing the main Cosmos Hall, access to the Aurora wing is on the right, close to the side entrance of the hotel.