Volume 6 : Number 1 : Paper 7

December 2003 Special Issue of Best Papers presented at CLEI'2002. Montevideo, Uruguay. Guest Editor: Alfredo Viola.
Title:
A Language for the Description of Program Instrumentation and Automatic Generation of Instrumenters

Authors and Affiliations:
Antonio C. L. Santana, UniLins Centro Universit
Auri M. R. Vincenzi, UNIVEM Centro Universit
Adenilso da Silva Simao,
Jose Carlos Maldonado, Universidade de Sao Paulo Instituto de Ciencias Matematicas e de Computacao Sao Carlos - Sao Paulo - Brazil P.O. Box 668 ZIP Code 13560-970 Fone: ++55 (16) 273-9669 Fax: ++55 (16) 273-9751

Abstract:
Instrumentation is a technique frequently used in software engineering for several di erent purposes, e.g. program and/or specification execution trace, testing criteria coverage analysis, and reverse engineering. Instrumenting a software product can be divided into two main tasks: (i) deriving the software product structure and (ii) inserting statements for collecting runtime/simulation information. Most instrumentation approaches are specific to a given domain or language. Thus, it is very di cult to reuse the e ort expended in developing an instrumenter, even if the target languages are quite similar. To tackle this problem, in this paper, we propose an instrumentation-oriented meta-language, named IDeL, designed to support the description of both main tasks of instrumentation process, namely: (i) the product structure derivation and (ii) the insertion of the instrumentation statements. In order to apply IDeL to a specific language L, it should be instantiated with a context-free grammar of L. To promote IDeL s practical use, we also developed a supporting tool, named idelgen, that can be thought of as an application generator, based on the transformational programming paradigm and tailored to the instrumentation process. We illustrate the main concepts of our proposal with examples describing the instrumentation required in some traditional data flow testing criteria for C language.


Received 8/08/2004, Revised 30/08/2004
Full paper, 23 pages [ PDF, 609 Kb ]