Semantics directed program execution monitoring

Semantics directed program execution monitoring
复制标题

语义定向程序执行监控

DOI:
10.1017/s0956796800001465
复制
发表时间:
1995
影响因子:
1.1
通讯作者:
P. Hudak
P. Hudak
中科院分区:
计算机科学2区
文献类型:
--
作者:
Amir Kishon;P. Hudak

文献摘要

被引文献

相似文献

摘要监视语义是程序执行的正式模型,它可以捕获“监视活动”,如剖面,示踪剂,辩论者等中所示。除了其理论上的兴趣之外,这种形式主义为实施大型源源级别监控活动提供了一种新的方法,用于确定性的编程语言。对于(严格和非图案)功能语言,该方法可以轻松地扩展到命令式语言,因为它以持续的语义规范开始,并使用标准的部分评估技术作为优化策略。构建实际监视器的基础。我们的系统可以在两个级别的专业级别上进行优化:专门针对监视器规范的解释者会产生仪器的解释器;其中要执行监视的额外代码已自动嵌入程序中。
Abstract Monitoring semantics is a formal model of program execution which captures ‘monitoring activity’ as found in profilers, tracers, debuggers, etc. Beyond its theoretical interest, this formalism provides a new methodology for implementing a large family of source-level monitoring activities for sequential deterministic programming languages. In this article we explore the use of monitoring semantics in the specification and implementation of a variety of monitors: profilers, tracers, collecting interpreters, and, most importantly, interactive source-level debuggers. Although we consider such monitors only for (both strict and non-strict) functional languages, the methodology extends easily to imperative languages, since it begins with a continuation semantics specification. In addition, using standard partial evaluation techniques as an optimization strategy, we show that the methodology forms a practical basis for building real monitors. Our system can be optimized at two levels of specialization: specializing the interpreter with respect to a monitor specification automatically yields an instrumented interpreter; further specializing this instrumented interpreter with respect to a source program yields an instrumented program, i.e. one in which the extra code to perform monitoring has been automatically embedded into the program.