首页> 外文会议>IEEE International Working Conference on Source Code Analysis and Manipulation >Towards Better Symbol Resolution for C/C++ Programs: A Cluster-Based Solution
【24h】

Towards Better Symbol Resolution for C/C++ Programs: A Cluster-Based Solution

机译:寻求更好的C / C ++程序符号解析:基于群集的解决方案

获取原文

摘要

Resolving symbol references is an important part of many application areas from development environments to various static analyser tools, especially when it is used for code comprehension purposes. Different occurrences of the same program elements, like function definitions and their call sites, variable declarations and their usage, or type definitions and their applications should be connected. In case of the C++ programming language, the most current tools use mangled names to correlate symbols, e.g. when implementing actions like "go to definition" or "list all references". However, for large projects, where multiple binaries are created, symbol resolution based on mangled names can be, and usually is, ambiguous. This leads to inaccurate behaviour even in major development tools. In this paper we explore the reason of this ambiguity, and propose our clustering algorithm based on essential build information to improve the accuracy of symbol resolution. We implemented our method as part of the CodeCompass open source code comprehension tool and measured its efficiency.
机译:从开发环境到各种静态分析器工具,解析符号引用是许多应用程序领域的重要组成部分,尤其是在将其用于代码理解目的时。应该连接相同程序元素的不同出现,例如函数定义及其调用位置,变量声明及其用法或类型定义及其应用程序。在使用C ++编程语言的情况下,最新的工具会使用错误的名称来关联符号,例如当执行诸如“转到定义”或“列出所有引用”之类的操作时。但是,对于创建多个二进制文件的大型项目,基于乱码的名称的符号解析可能(通常是模棱两可的)是模棱两可的。即使在主要的开发工具中,这也会导致不正确的行为。在本文中,我们探讨了造成这种歧义的原因,并提出了基于必要构建信息的聚类算法,以提高符号解析的准确性。我们将该方法作为CodeCompass开源代码理解工具的一部分实施,并测量了其效率。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号