Title :
TUAnalyzer - analyzing templates in C++ code
Author :
Gschwind, Thomas ; Pinzger, Martin ; Gall, Harald
Abstract :
We present TUAnalyzer, a novel tool that extracts the template structure of C++ programs on the basis of the GNU C/C++ compiler´s internal representation of a C/C++ translation unit. In comparison to other such tools, our tool is capable of supporting the extraction of function invocations that depend on the particular instantiation of C++ templates and to relate them to their particular template instantiation. TUAnalyzer produces RSF format output that can be easily fed into existing visualization and analysis tools such as Rigi or Graphviz. We motivate why this kind of template analysis information is essential to understand real-world legacy C++ applications. We present how our tool extracts this kind of information to allow others to build on our results and further use the template information. The applicability of our tool has been validated on real code as proof of concept. The results obtained with TUAnalyzer enable us and other approaches and tools to perform detailed studies of large (open source) C/C++ projects in the near future.
Keywords :
C++ language; program compilers; program diagnostics; program visualisation; C++ applications; C++ code template analysis; C++ programs; C/C++ translation unit; GNU C/C++ compiler; Graphviz; RSF format output; Rigi; TUAnalyzer; function invocations extraction; program analysis tools; program visualization tools; template information; template instantiation; template structure; templates analysis; Computer languages; Data mining; Feeds; Information analysis; Laboratories; Program processors; Reverse engineering; Software systems; Visualization; XML;
Conference_Titel :
Reverse Engineering, 2004. Proceedings. 11th Working Conference on
Print_ISBN :
0-7695-2243-2
DOI :
10.1109/WCRE.2004.40