Title :
GEMS: A Generic Model Based Source Code Instrumentation Framework
Author :
Chittimalli, Pavan Kumar ; Shah, Vipul
Author_Institution :
Tata Consultancy Services, Pune, India
Abstract :
Software Programmers need to monitor and measure dynamic behavior of programs. Program instrumentation tools and techniques have aided profiling, debugging, coverage analysis, and dynamic program analysis. While several open source and commercial instrumentation tools are available, that support multitude of techniques and source languages, none of the tools support a cross section of languages. Moreover, instrumentation tools lack support for systems that have been developed using multiple languages. The output produced by each tool is different, leading to problems in usage of the same by other tools to be a challenge. As an IT service provider, our organization maintains systems developed using a large number of programming languages. We develop in-house dynamic program analysis and testing tools, that use instrumentation to help with the maintenance activities. To address the availability as well as the compatibility issues, we propose a novel, generic, model based instrumentation technique. Our technique proposes addition of instrumentation code to a unified programming language model. In this paper, we present GEMS, a generic model based source code instrumentation framework. Language specific parsers in the framework instantiate the unified model. Instrumentation code is added to the model and language pretty printers unparse the model back to appropriate source language. Though the instrumentation code is ultimately added to the source code, the experimental results provided in this paper indicate relatively low execution overhead of about 3-6% over other instrumentation tools.
Keywords :
high level languages; program debugging; program diagnostics; program testing; source coding; GEMS; IT service provider; coverage analysis; debugging; dynamic program analysis; profiling; program instrumentation; program monitoring; program testing tools; programming languages; software programmers; source code instrumentation framework; Java; Monitoring; Performance analysis; Probes; Time measurement; Model Based Technique; Program Instrumentation; Program Monitor;
Conference_Titel :
Software Testing, Verification and Validation (ICST), 2012 IEEE Fifth International Conference on
Conference_Location :
Montreal, QC
Print_ISBN :
978-1-4577-1906-6
DOI :
10.1109/ICST.2012.195