TUAnalyzer - analyzing templates in C++ code

TUAnalyzer - analyzing templates in C++ code
复制标题

TUAnalyzer - 分析 C 代码中的模板

DOI:
10.1109/wcre.2004.40
复制
发表时间:
2004
期刊:
11th Working Conference on Reverse Engineering
影响因子:
--
通讯作者:
H. Gall
H. Gall
中科院分区:
--
文献类型:
--
作者:
T. Gschwind;M. Pinzger;H. Gall

文献摘要

被引文献

相似文献

我们提出了TUAnalyzer,一种新的工具,提取的C++程序的模板结构的基础上的GNU C/C++编译器的内部表示的C/C++翻译单元。与其他此类工具相比,我们的工具能够支持依赖于C++模板的特定实例化的函数调用的提取,并将它们与其特定的模板实例化相关联。TUAnalyzer生成RSF格式的输出,可以很容易地输入到现有的可视化和分析工具,如Rigi或Graphviz。我们激发了为什么这种模板分析信息对于理解真实世界的遗留C++应用程序是必不可少的。我们介绍了我们的工具如何提取这类信息,以允许其他人建立在我们的结果,并进一步使用模板信息。作为概念证明,我们的工具的适用性已在真实的代码上得到验证。TUAnalyzer获得的结果使我们和其他方法和工具能够在不久的将来对大型(开源)C/C++项目进行详细的研究。
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.