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
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;
Conference_Titel :
Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
Conference_Location :
Edmonton, AB
Print_ISBN :
978-1-4244-4897-5
Electronic_ISBN :
1063-6773
DOI :
10.1109/ICSM.2009.5306392