Author:
JAHIER ERWAN,DUCASSÉ MIREILLE
Abstract
Program execution monitoring consists of checking whole executions for given properties,
and collecting global run-time information. Monitoring gives valuable insights and helps
programmers maintain their programs. However, application developers face the following
dilemma: either they use existing monitoring tools which never exactly fit their needs, or
they invest a lot of effort to implement relevant monitoring code. In this paper, we argue
that when an event-oriented tracer exists, the compiler developers can enable the application
developers to easily code their own monitors. We propose a high-level primitive called foldt
which operates on execution traces. One of the key advantages of our approach is that it
allows a clean separation of concerns; the definition of monitors is totally distinct from both
the user source code and the language compiler. We give a number of applications of the use
of foldt to define monitors for Mercury program executions: execution profiles, graphical
abstract views, and two test coverage measurements. Each example is implemented by a few
simple lines of Mercury.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Cited by
6 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献