DocumentCode
2087325
Title
GEMS: A Generic Model Based Source Code Instrumentation Framework
Author
Chittimalli, Pavan Kumar ; Shah, Vipul
Author_Institution
Tata Consultancy Services, Pune, India
fYear
2012
fDate
17-21 April 2012
Firstpage
909
Lastpage
914
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;
fLanguage
English
Publisher
ieee
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
Type
conf
DOI
10.1109/ICST.2012.195
Filename
6200109
Link To Document