Software product instrumentation description.


Instrumentation is a technique frequently used in software engineering for several different purposes, e.g. program and/or specification execution trace, testing criteria coverage analysis, and reverse engineering. From an abstract viewpoint, instrumenting a software product can be divided into two main tasks: deriving the software product structure and including statements for checking runtime/simulation information. Most instrumentation approaches are domain and/or language specific, which makes it difficult to reuse and evolve the related products. In this technical report is proposed an instrumentation oriented meta-language, named IDeL, designed for supporting the description of both tasks of instrumentation process: the product structure derivation and the inclusion of the instrumentation statements. This meta-languageis to be instantiated by furnishing a context-free grammar for a specific language To promote its practical use, IDeL is also supported by a system, name IDeLgen, that can be thought of as an application generator tailored to the instrumenting process, easing the reuse and evolution of the instrumenter Our primary motivation in developing both IDeL and IDeLgen is to integrate them in a generic data flow based testing environment. We illustrate the main ideas in this technical report with examples from this context.

Teste e avaliação de software