Generic program monitoring by trace analysis
نویسندگان
چکیده
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 t their needs, or they invest a lot of e ort 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 de nition 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 pro les, graphical abstract views, and two test coverage measurements. Each example is implemented by a few simple lines of Mercury. Key-words: dynamic program analysis, monitoring, trace analysis, test coverage, logic and functional programming, Mercury programming language
منابع مشابه
Parametric Trace Slicing and Monitoring
Trace analysis plays a fundamental role in many program analysis approaches, such as runtime verification, testing, monitoring, and specification mining. Recent research efforts bring empirical evidence that execution traces are frequently comprised of many meaningful trace slices merged together, each slice corresponding to instances of relevant parameters. For example, a Java program creating...
متن کاملGeneric and Efficient Program Monitoring by trace analysis
Program execution monitoring consists of checking whole executions for given properties, and collecting global run-time information. Monitoring 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. I...
متن کاملar X iv : c s . PL / 0 31 10 16 v 1 1 4 N ov 2 00 3 Generic Program Monitoring by Trace Analysis ⋆
Program execution monitoring consists of checking whole executions for given properties, and collecting global run-time information. Monitoring 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. I...
متن کاملTowards a Generic Framework to Generate Explanatory Traces of Constraint Solving and Rule-Based Reasoning
In this report, we show how to use the Simple Fluent Calculus (SFC) to specify generic tracers, i.e. tracers which produce a generic trace. A generic trace is a trace which can be produced by different implementations of a software component and used independently from the traced component. This approach is used to define a method for extending a java based CHR platform called CHROME (Constrain...
متن کاملSemantics and Algorithms for Parametric Monitoring
Analysis of execution traces plays a fundamental role in many program analysis approaches, such as runtime verification, testing, monitoring, and specification mining. Execution traces are frequently parametric, i.e., they contain events with parameter bindings. Each parametric trace usually consists of many meaningful trace slices merged together, each slice corresponding to one parameter bind...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- TPLP
دوره 2 شماره
صفحات -
تاریخ انتشار 2002