TUAnalyzer - analyzing templates in C++ code

T. Gschwind, M. Pinzger, H. Gall
{"title":"TUAnalyzer - analyzing templates in C++ code","authors":"T. Gschwind, M. Pinzger, H. Gall","doi":"10.1109/WCRE.2004.40","DOIUrl":null,"url":null,"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.","PeriodicalId":443491,"journal":{"name":"11th Working Conference on Reverse Engineering","volume":"120 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2004-11-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"17","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"11th Working Conference on Reverse Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WCRE.2004.40","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 17

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.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
分析c++代码中的模板
基于GNU C/ c++编译器对C/ c++翻译单元的内部表示,我们提出了一种新的工具TUAnalyzer,它可以提取c++程序的模板结构。与其他此类工具相比,我们的工具能够支持提取依赖于c++模板的特定实例化的函数调用,并将它们与特定的模板实例化关联起来。TUAnalyzer产生RSF格式的输出,可以很容易地输入到现有的可视化和分析工具,如Rigi或Graphviz。我们解释了为什么这种模板分析信息对于理解现实世界的遗留c++应用程序是必不可少的。我们介绍了我们的工具如何提取这类信息,以允许其他人在我们的结果基础上构建并进一步使用模板信息。作为概念证明,我们的工具的适用性已经在实际代码上得到了验证。使用TUAnalyzer获得的结果使我们和其他方法和工具能够在不久的将来对大型(开源)C/ c++项目进行详细的研究。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Detecting implicit collaboration patterns Aspect mining through the formal concept analysis of execution traces Identifying aspects using fan-in analysis Loop squashing transformations for amorphous slicing A novel software visualisation model to support software comprehension
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1