Generic Program Monitoring by Trace Analysis

Erwan Jahier 1 Mireille Ducassé 1
1 Lande - Logiciel : ANalyse et DEveloppement
IRISA - Institut de Recherche en Informatique et Systèmes Aléatoires, Inria Rennes – Bretagne Atlantique
Abstract : Program execution monitoring consists of checking whole executions for given properties in order to collect global run-time information. Monitoring is very useful to maintain programs. However, application developers face the following dilemma: either they use existing tools which never exactly fit their needs, or they invest a lot of effort to implement monitoring code. In this report we argue that, when an event-oriented tracer exists, the compiler developers can enable the application developers to easily code their own, relevant, monitors. We propose a high-level operator, 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 foldt operator to compute 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.
Document type :
Reports
Complete list of metadatas

https://hal.inria.fr/inria-00072264
Contributor : Rapport de Recherche Inria <>
Submitted on : Tuesday, May 23, 2006 - 8:15:25 PM
Last modification on : Friday, November 16, 2018 - 1:21:55 AM
Long-term archiving on : Sunday, April 4, 2010 - 9:06:40 PM

Identifiers

  • HAL Id : inria-00072264, version 1

Citation

Erwan Jahier, Mireille Ducassé. Generic Program Monitoring by Trace Analysis. [Research Report] RR-4323, INRIA. 2001. ⟨inria-00072264⟩

Share

Metrics

Record views

234

Files downloads

292