• DocumentCode
    3008189
  • Title

    TBCppA: A Tracer Approach for Automatic Accurate Analysis of C Preprocessor´s Behaviors

  • Author

    Gondow, Katsuhiko ; Kawashima, Hayato ; Imaizumi, Takashi

  • Author_Institution
    Tokyo Inst. of Technol., Tokyo
  • fYear
    2008
  • fDate
    28-29 Sept. 2008
  • Firstpage
    35
  • Lastpage
    44
  • Abstract
    C preprocessor (CPP) is a major cause that makes it much difficult to accurately analyze C source code, which is indispensable to refactoring tools for C programs. To accurately analyze C source code, we need to generate CPP mapping information between unpreprocessed C sourcecode and preprocessed one. Previous works generate CPP mapping information by extending the existing CPP, which results in low portability and low maintainability due to the strong dependency of CPP implementation. To solve this problem, this paper proposes a novel approach (called TBCppA) based on tracer, which generates CPP mapping information by instrumenting the unpreprocessed C source code using XML-like tags called "tracers". The advantage of TBCppA is high portability and high maintainability, which the previous methods do not have. We successfully implemented a first prototype of TBCppA, and our preliminary evaluation of applying TBCppA to gcc-4.1.1 produced promising results.
  • Keywords
    C language; program diagnostics; C preprocessor behaviors; C programs; C source code; CPP mapping information; TBCppA; automatic accurate analysis; refactoring tools; tracer approach; Buffer overflow; Computer bugs; Computer languages; Embedded system; Glass; Information analysis; Instruments; Operating systems; Programming profession; Prototypes; C preprocessing; Instrumentation; Program Analysis; Tracer;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation, 2008 Eighth IEEE International Working Conference on
  • Conference_Location
    Beijing
  • Print_ISBN
    978-0-7695-3353-7
  • Type

    conf

  • DOI
    10.1109/SCAM.2008.13
  • Filename
    4637537