• DocumentCode
    2211546
  • Title

    Abstracting the template instantiation relation in C++

  • Author

    Sutton, Andrew ; Holeman, Ryan ; Maletic, Jonathan I.

  • Author_Institution
    Dept. of Comput. Sci., Kent State Univ., Kent, OH, USA
  • fYear
    2009
  • fDate
    20-26 Sept. 2009
  • Firstpage
    559
  • Lastpage
    562
  • Abstract
    A source code model that supports the static analysis of C++ templates and template metaprograms is presented. Analogous to techniques for object-oriented and procedural software (e.g., the abstraction of call graphs, inheritance hierarchies, etc.), this model provides a basis for maintenance concerns such as program comprehension, fact extraction, and impact analysis of generic code. The source code model is used to derive the template instantiation graph, and potential applications of this model discussed. An application to reverse engineer this model from source code is described.
  • Keywords
    C++ language; object-oriented programming; program diagnostics; reverse engineering; software libraries; software maintenance; C++ templates; fact extraction; generic code impact analysis; object-oriented software; procedural software; program comprehension; source code model; static analysis; template instantiation graph; template metaprograms; Application software; Computer science; Concrete; Java; Object oriented modeling; Performance analysis; Program processors; Reverse engineering; Software libraries; Software maintenance;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
  • Conference_Location
    Edmonton, AB
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4244-4897-5
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2009.5306392
  • Filename
    5306392