Modeling Go Concurrency: A Static Analysis Approach to Data Race Detection
The growing adoption of Go for concurrent programming highlights its strengths in performance and simplicity, yet its unique concurrency model—combining shared memory and channel-based communication—introduces significant challenges for data race detection. Existing dynamic analysis tools suffer from high false negatives due to path-dependent execution, while static approaches often fail to account for Go-specific features like channels and context propagation, leading to excessive false positives. To address these limitations, we present GRace, a static analysis framework tailored for Go that systematically models concurrency semantics to improve detection accuracy. GRace first identifies shared memory locations through pointer analysis and syntax-aware rules, then applies lock set analysis to filter protected accesses. By constructing a context-sensitive happens-before graph that integrates Go’s synchronization mechanisms (e.g., channels, WaitGroups, Context cancellation), GRace refines event ordering and computes vector clocks to eliminate ordered accesses. Evaluated on real-world projects and benchmark datasets, GRace detected 18 data races in open-source repositories, with 9 confirmed and 7 fixed by developers.
Sat 21 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 13:00 | Session4: Code Optimization and Software ArchitectureResearch Track at Cosmos 3A Chair(s): Changhai Nie Nanjing University | ||
11:00 15mTalk | Take Kernel Stack Overhead Out: eBPF-Enhanced Network Acceleration for Distributed Training within Ethernet Research Track Zhenyu Zhang School of Computer Science and Engineering, Sun Yat-sen University, Pengfei Chen Sun Yat-sen University, Guangba Yu School of Computer Science and Engineering, Sun Yat-sen University, Zilong He Sun Yat-sen University, Xiaoyun Li Sun Yat-sen University Pre-print | ||
11:15 15mTalk | Exploiting Booster Pass Chain for Compiler Phase Ordering Research Track yihan chen , Huanhuan Chen Nanjing University, Yuan Yao Nanjing University, Ping Yu Nanjing University, Feng Xu Nanjing University, Xiaoxing Ma Nanjing University File Attached | ||
11:30 15mTalk | DeFS: A Decentralized and High-Performance File System for Consortium Systems Research Track Yitong Cheng Shanghai JiaoTong University, Shenglong Zhao Shanghai JiaoTong University, Yang Yu Shanghai Jiao Tong University, China, Zhichao Hua Shanghai Jiao Tong University | ||
11:45 15mTalk | Proteus: An Automatical High-Efficiency Framework for Generating Compact and Printable Shellcode on ARMv8 Research Track Jian Lin Information Engineering University, Guoan Liu Information Engineering University, Rui Chang Zhejiang University, Ruimin Wang Information Engineering University | ||
12:00 15mTalk | Modeling Go Concurrency: A Static Analysis Approach to Data Race Detection Research Track Fengjuan Gao Nanjing University of Science and Technology, Mumu Zhang Nanjing University, Zixiao Zhao Nanjing University, Yu Wang Nanjing University, Xuandong Li Nanjing University | ||
12:15 15mTalk | RABBIT: Managing Hierarchical Memory with Intelligent Tiering Aware Deduplication Research Track | ||
12:30 15mTalk | DPCapsule: A Decentralized Private Computing System With Self-Controlled Data Research Track Yitong Cheng Shanghai JiaoTong University, Yang Yu Shanghai Jiao Tong University, China, Zhichao Hua Shanghai Jiao Tong University | ||
12:45 15mTalk | MicroGuard:Non-Intrusive Dynamic Analysis for Inter-Service Access Control of Microservices Research Track Haoming Luo School of Computer Science and Engineering, Sun Yat-sen University, Wanqi Yang Sun Yat-Sen University, Pengfei Chen Sun Yat-sen University |
Cosmos 3A is the first room in the Cosmos 3 wing.
When facing the main Cosmos Hall, access to the Cosmos 3 wing is on the left, close to the stairs. The area is accessed through a large door with the number “3”, which will stay open during the event.