The concurrency features of the Go language have proven versatile in the development of a number of concurrency systems. However, correctness methods to address challenges in Go concurrency debugging have not received much attention. In this work, we present an automatic dynamic tracing mechanism that efficiently captures and helps analyze the whole-program concurrency model. Using an enhancement to the built-in tracer package of Go and a framework that collects dynamic traces from application execution, we enable thorough post-mortem analysis for concurrency debugging. Preliminary results about the effectiveness and scalability (up to more than 2K goroutines) of our proposed dynamic tracing for concurrent debugging are presented. We discuss the future direction for exploiting dynamic tracing towards accelerating concurrent bug exposure.
翻译:Go语言的同值货币特征在开发若干同值货币系统方面已证明是多功能的,然而,应对Go同值货币调试挑战的正确方法没有得到多少注意。在这项工作中,我们提出了一个自动动态追踪机制,可以有效捕捉并帮助分析整个方案同值货币模型。利用Go的内置追踪器软件包的增强和一个收集应用执行过程中动态痕迹的框架,我们得以对同值货币调试进行彻底的死后分析。介绍了关于我们提议的同时调试动态追踪的有效性和可扩展性的初步结果(超过2K条)。我们讨论了利用动态追踪加速同时发生错误暴露的未来方向。