文章摘要
袁挺,陆杰,李炼.Go语言并发缺陷检测研究进展[J].高技术通讯(中文),2023,33(4):360~369
Go语言并发缺陷检测研究进展
An empirical study on Go concurrency bug detection
  
DOI:10. 3772/ j. issn. 1002-0470. 2023. 04. 003
中文关键词: Go语言; 并发缺陷; 并发原语; 软件测试
英文关键词: Go language, concurrency bug, concurrency primitive, software testing
基金项目:
作者单位
袁挺 (中国科学院计算技术研究所计算机体系结构国家重点实验室北京 100190) (中国科学院大学北京 100190) 
陆杰 (中国科学院计算技术研究所计算机体系结构国家重点实验室北京 100190) (中国科学院大学北京 100190) 
李炼 (中国科学院计算技术研究所计算机体系结构国家重点实验室北京 100190) (中国科学院大学北京 100190) 
摘要点击次数: 938
全文下载次数: 777
中文摘要:
      Go语言是Google公司专为并发编程设计的开源语言,自2009年发布以来就在工业界和学术界获得了广泛的关注和应用。为了在运行时更好地支持用户态线程,Go语言提供了丰富多样的并发原语,尽管它们带来了编程上的便利,但同时也引入了更多复杂的并发缺陷。为了帮助研究者和开发者深入了解Go语言并发缺陷,本文归纳和总结了它们的特征及其相关研究。同时为了分析最新静态和动态检测工具的原理和使用效果,本文使用开源基准测试集GoBench对它们进行了评估。实验表明,目前的检测工具的检测效果和实用性仍有不足,本文针对这些不足对未来Go语言并发缺陷研究提出了展望。
英文摘要:
      The Go language designed by Google is an open source language born for concurrent programming. Since its release in 2009, it has gained widespread attention and application worldwide. In order to better support user-space threads at runtime, Go provides a rich variety of concurrency primitives. Although they bring programming convenience, they also bring more complex concurrency bugs. To help researchers and developers conduct in-depth investigation, this paper summaries concurrency bugs in Go and the recent related detection technologies. In addition, this paper further evaluates the latest static and dynamic analysis tools that are not covered by the open source benchmark suite GoBench.Experiments show that the practicability of the current detection tools are still being challenging. This paper points out the shortcomings of these detection tools, and puts forward a prospect for the future research on the concurrency bugs of Go.
查看全文   查看/发表评论  下载PDF阅读器
关闭

分享按钮