首页> 外文期刊>Software >Integrating program analyses with programmer productivity tools
【24h】

Integrating program analyses with programmer productivity tools

机译:将程序分析与程序员生产力工具集成

获取原文
获取原文并翻译 | 示例
       

摘要

Because software continues to grow in size and complexity, programmers increasingly rely on productivity tools to understand, debug, and modify their programs. These tools typically use program analyses to produce information for the programmer. This is problematic because it is based on the assumption that the programmer and program analyses all use the same vocabulary. If the programmer and analyses did not use the same vocabulary then the results of the analyses will be meaningless to the programmer. For example, 'vl24 may be NULL' does not mean much to the programmer but 'myStack may be NULL' is meaningful. Often, the programmer and analyses prefer different vocabularies. While the programmer prefers his programs' source code, an analysis will prefer a simplified representation. Unfortunately, writing an analysis that works on the source code is difficult because the analysis must deal with the idiosyncracies of the source language (e.g. nested classes). In comparison, writing an analysis on SSA form is easy but the output of the analysis is not meaningful to the programmer; it must somehow be translated into something the programmer understands. We present a system, RTalk, that makes it easy to support both the programmers' and the analysis' needs. RTalk generates a translator between the programmers' and the analysis' vocabulary. Thus both the programmer and the analysis can use the vocabulary most natural to them. We demonstrate the effectiveness of RTalk by describing program understanding and program optimization tools that we have already built using RTalk.
机译:由于软件的大小和复杂性不断增长,因此程序员越来越依赖生产力工具来理解,调试和修改其程序。这些工具通常使用程序分析为程序员提供信息。这是有问题的,因为它基于程序员和程序分析都使用相同词汇的假设。如果程序员和分析人员没有使用相同的词汇,那么分析的结果对程序员而言将毫无意义。例如,“ vl24可能为NULL”对程序员来说意义不大,但是“ myStack可能为NULL”是有意义的。通常,程序员和分析人员倾向于使用不同的词汇表。尽管程序员更喜欢其程序的源代码,但分析将更喜欢简化的表示形式。不幸的是,编写适用于源代码的分析很困难,因为该分析必须处理源语言的特质(例如嵌套类)。相比之下,以SSA形式编写分析很容易,但是分析的输出对程序员没有意义。它必须以某种方式转换成程序员可以理解的东西。我们提出了一个RTalk系统,它可以轻松满足程序员和分析的需求。 RTalk会在程序员和分析的词汇之间生成翻译器。因此,程序员和分析人员都可以使用对他们而言最自然的词汇。通过描述我们已经使用RTalk构建的程序理解和程序优化工具,我们演示了RTalk的有效性。

著录项

  • 来源
    《Software》 |2011年第7期|p.817-840|共24页
  • 作者单位

    Google, Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043, U.S.A.;

    Department of Computer Science, University of Colorado, 430 UCB, Boulder, CO 80301, U.S.A.;

  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    program analyses; analysis communication; programmer interaction;

    机译:程序分析;分析交流;程序员互动;
  • 入库时间 2022-08-17 13:03:53

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号