Go语言中的并发问题研究
发布时间:2022-02-14 05:57
并发Bugs是很难调试的和被发现的,也是传统多线程编程语言中被最广泛研究的Bugs类型。Go语言旨在提供一种简单高效且安全的方法来构建多线程软件。Go的一个主要设计目标是改进传统的多线程编程语言,使并发编程更容易、更不容易出错。了解Go的新并发原语和机制对于理解它们是如何影响并发Bugs是至关重要的,并发Bugs是很难调试的和被发现的,也是传统多线程编程语言中被最广泛研究的Bugs类型。因为以前没有关于Go的并发Bugs的研究。所以,到目前为止,还不清楚Go的这些并发机制是否真的比传统语言更容易适用于并发编程,更不容易出错。本文在开源社区GitHub上选取了六个开源的并且用于实际生产环境中的Go应用程序对Go语言中并发Bugs进行了实证性的研究,其中包括:Docker和Kubernetes,两个数据中心容器系统;etcd,一个分布式键值存储系统;gRPC-Go,一个RPC开源框架;CockroachDB和BoltDB,两个数据库系统。在上述的应用程序中,本文共挖掘到了 171个Go的并发Bugs。论文对挖掘到的Bugs进行了重现、原因分析、修复策略分析和检测器测试。本文对研究结果进行了...
【文章来源】:北京邮电大学北京市211工程院校教育部直属院校
【文章页数】:127 页
【学位级别】:博士
【部分图文】:
图2-丨多进程和多线程示意图??
每千行代码中共享内存类原语使用变化趋势
Kub}ne}s:每千行代码中共享内存类原语使用变化趋势
【参考文献】:
期刊论文
[1]基于符号执行技术的C++程序静态分析[J]. 孙文全,李兆鹏. 电子技术. 2018(08)
[2]基于静态分析的缺陷模式匹配研究[J]. 王建斌,刘臻,胡昌振,单纯,钟松延. 信息安全研究. 2018(04)
[3]Nuclear Deadlock[J]. Bai Shi. Beijing Review. 2015(42)
[4]Deadlock Detection in FPGA Design: A Practical Approach[J]. Dexi Wang,Fei He,Yangdong Deng,Chao Su,Ming Gu,Jiaguang Sun. Tsinghua Science and Technology. 2015(02)
[5]Seeking a Solution To Deadlock[J]. Miao Xiaoyang. Beijing Review. 2014(13)
[6]Structure-Based Deadlock Checking of Asynchronous Circuits[J]. 任洪广,王志英,Doug Edwards. Journal of Computer Science & Technology. 2011(06)
[7]Natural Gas Prices Negotiations into Deadlock Between China and Russia[J]. Guo Yan. China’s Foreign Trade. 2011(21)
[8]Deadlock in the Fight Against Terrorism[J]. Li Wei is Director of Institute of Security and Strategic Studies,CICIR.Si Guifeng. Contemporary International Relations. 2010(S1)
[9]Steel Negotiation Deadlock[J]. LAN XINZHEN. Beijing Review. 2010(15)
[10]Breaking Development Deadlock[J]. ZHAI KUN. Beijing Review. 2009(11)
博士论文
[1]并行程序中bug检测技术研究[D]. 吴振东.国防科学技术大学 2015
硕士论文
[1]基于LLVM的静态程序切片方法研究[D]. 徐晨晨.南京邮电大学 2017
[2]基于LLVM-Clang的软件静态检测工具研究与实现[D]. 李昊.西安理工大学 2017
[3]基于GOLANG语言的设备维修管理系统设计与实现[D]. 张金勇.南昌大学 2016
[4]基于Golang的广告投放系统的设计与实现[D]. 肖霄.湖南大学 2016
[5]基于golang的分布式全文检索系统研究与实现[D]. 唐忠诚.华南理工大学 2015
[6]一个自适应的并发程序测试框架[D]. 吴熳娜.浙江大学 2010
本文编号:3624235
【文章来源】:北京邮电大学北京市211工程院校教育部直属院校
【文章页数】:127 页
【学位级别】:博士
【部分图文】:
图2-丨多进程和多线程示意图??
每千行代码中共享内存类原语使用变化趋势
Kub}ne}s:每千行代码中共享内存类原语使用变化趋势
【参考文献】:
期刊论文
[1]基于符号执行技术的C++程序静态分析[J]. 孙文全,李兆鹏. 电子技术. 2018(08)
[2]基于静态分析的缺陷模式匹配研究[J]. 王建斌,刘臻,胡昌振,单纯,钟松延. 信息安全研究. 2018(04)
[3]Nuclear Deadlock[J]. Bai Shi. Beijing Review. 2015(42)
[4]Deadlock Detection in FPGA Design: A Practical Approach[J]. Dexi Wang,Fei He,Yangdong Deng,Chao Su,Ming Gu,Jiaguang Sun. Tsinghua Science and Technology. 2015(02)
[5]Seeking a Solution To Deadlock[J]. Miao Xiaoyang. Beijing Review. 2014(13)
[6]Structure-Based Deadlock Checking of Asynchronous Circuits[J]. 任洪广,王志英,Doug Edwards. Journal of Computer Science & Technology. 2011(06)
[7]Natural Gas Prices Negotiations into Deadlock Between China and Russia[J]. Guo Yan. China’s Foreign Trade. 2011(21)
[8]Deadlock in the Fight Against Terrorism[J]. Li Wei is Director of Institute of Security and Strategic Studies,CICIR.Si Guifeng. Contemporary International Relations. 2010(S1)
[9]Steel Negotiation Deadlock[J]. LAN XINZHEN. Beijing Review. 2010(15)
[10]Breaking Development Deadlock[J]. ZHAI KUN. Beijing Review. 2009(11)
博士论文
[1]并行程序中bug检测技术研究[D]. 吴振东.国防科学技术大学 2015
硕士论文
[1]基于LLVM的静态程序切片方法研究[D]. 徐晨晨.南京邮电大学 2017
[2]基于LLVM-Clang的软件静态检测工具研究与实现[D]. 李昊.西安理工大学 2017
[3]基于GOLANG语言的设备维修管理系统设计与实现[D]. 张金勇.南昌大学 2016
[4]基于Golang的广告投放系统的设计与实现[D]. 肖霄.湖南大学 2016
[5]基于golang的分布式全文检索系统研究与实现[D]. 唐忠诚.华南理工大学 2015
[6]一个自适应的并发程序测试框架[D]. 吴熳娜.浙江大学 2010
本文编号:3624235
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3624235.html