• 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