Trace-Based Run-Time Analysis of Message-Passing Go Programs

Trace-Based Run-Time Analysis of Message-Passing Go Programs
复制标题

消息传递 Go 程序的基于跟踪的运行时分析

DOI:
--
复制
发表时间:
2017
期刊:
Haifa Verification Conference
影响因子:
--
通讯作者:
K. Stadtmüller
K. Stadtmüller
中科院分区:
--
文献类型:
--
作者:
Martin Sulzmann;K. Stadtmüller

文献摘要

被引文献

相似文献

我们考虑通过观察消息传递程序的运行时行为来分析它们的任务。我们引入了一种纯粹基于库的插装方法来跟踪执行期间的通信事件。可以构建事件之间依赖关系的模型来识别潜在的错误。与矢量时钟方法相比,我们的方法要简单得多,并且通常具有更低的运行时开销。另一个好处是,我们还可以跟踪无法提交的事件。因此,我们可以推断出更多的替代通信。这为用户提供了额外的信息来识别潜在的错误。我们已经在Go编程语言中完全实现了我们的方法,并提供了一些示例来证实我们的说法。
We consider the task of analyzing message-passing programs by observing their run-time behavior. We introduce a purely library-based instrumentation method to trace communication events during execution. A model of the dependencies among events can be constructed to identify potential bugs. Compared to the vector clock method, our approach is much simpler and has in general a significant lower run-time overhead. A further advantage is that we also trace events that could not commit. Thus, we can infer more alternative communications. This provides the user with additional information to identify potential bugs. We have fully implemented our approach in the Go programming language and provide a number of examples to substantiate our claims.