通用且高效的程序监控:通过追踪分析
摘要:程序执行监视包括检查给定属性的整个执行以收集全局运行时信息。监视对于维护程序非常有用。然而,应用程序开发人员面临以下两难:要么使用现有工具,但它们从未完全适应他们的需求,要么投入大量精力来实现监视代码。在本文中,我们认为,当存在事件驱动的跟踪器时,编译器开发人员可以使应用程序开发人员能够轻松编写自己的相关监视器,并且能够高效运行。我们提出了一种称为foldt的高级运算符,它在执行跟踪中操作。我们方法的一个关键优点是它允许清晰地分离关注点;监视器的定义既不与用户源代码纠缠在一起,也不与语言编译器纠缠在一起。我们提供了使用foldt运算符来计算Mercury程序执行的一些应用:执行概要、图形抽象视图和两个测试覆盖度量。每个示例都可以通过几行简单的Mercury代码实现。详细的测量结果显示,对于数百万个执行事件的执行,foldt基本机制的性能是可接受的。
作者:Erwan Jahier and Mireille Ducass'e
论文ID:cs/0311016
分类:Programming Languages
分类简称:cs.PL
提交时间:2007-05-23