首页> 外文学位 >Modular data-flow analysis of statically typed object-oriented programming languages.
【24h】

Modular data-flow analysis of statically typed object-oriented programming languages.

机译:静态类型的面向对象编程语言的模块化数据流分析。

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

摘要

The solution of data-flow analysis of object-oriented programming languages such as C++/Java is needed for many important applications: aggressive code optimization, side-effect analysis, program specialization, program slicing and data-flow-based testing. However, data-flow analysis of object-oriented programming languages is difficult due to a large number of heap-allocated objects whose fields point to other heap-allocated objects (recursive structures), dynamic dispatch, frequent method invocations, a large number of methods, many invocation contexts per method and exceptions.; In this thesis we present a new data-flow analysis technique called Relevant Context Inference (RCI) for modular, flow- and context-sensitive data-flow analysis of statically typed object-oriented programming languages such as C++ and Java. This technique has been designed to overcome the above difficulties. RCI has several long sought-after characteristics: (1) It can analyze programs by keeping only a part of the programs in memory at a time, with a constant bound on the number of times a procedure needs to be in memory. (2) It can analyze incomplete programs such as libraries. (3) It can analyze programs that have exceptions.; We have built a prototype of RCI for points-to analysis of C++ programs. The empirical results obtained using this prototype and presented in this thesis show that RCI is effective in practice.; We present several new complexity characterizations of points-to analysis in the presence of object-oriented language constructs: exceptions and dynamic dispatch. Our results clearly identify the difficult features and indicate approximations that any efficient algorithm has to make.; We also present a new approach to data-flow-based testing of object-oriented libraries using RCI. We show how the information computed by RCI can be used for generating relevant test cases.
机译:许多重要应用都需要面向对象的编程语言(例如C ++ / Java)的数据流分析解决方案:积极的代码优化,副作用分析,程序专业化,程序切片和基于数据流的测试。但是,由于大量堆分配的对象的字段指向其他堆分配的对象(递归结构),动态分派,频繁的方法调用,大量的方法,因此面向对象编程语言的数据流分析非常困难,每个方法有许多调用上下文和异常。在本文中,我们提出了一种称为相关上下文推断 RCI )的新数据流分析技术,用于静态类型对象的模块化,流敏感和上下文敏感的数据流分析面向对象的编程语言,例如C ++和Java。设计该技术以克服上述困难。 RCI 具有几个长期以来广受欢迎的特征:(1)它可以通过一次仅将一部分程序保留在内存中来分析程序,并且对程序需要执行的次数进行恒定限制在记忆中。 (2)可以分析库等不完整的程序。 (3)可以分析有异常的程序;我们已经建立了 RCI 的原型,用于对C ++程序进行分析。使用该原型获得的并在本文中给出的经验结果表明, RCI 在实践中是有效的。在存在面向对象的语言构造的情况下,我们提出了指向分析的几种新的复杂性表征:异常和动态调度。我们的结果清楚地确定了困难的特征,并指出了任何有效算法都必须做出的近似。我们还为使用 RCI 的面向对象库的基于数据流的测试提供了一种新方法。我们将展示如何使用 RCI 计算的信息来生成相关的测试用例。

著录项

  • 作者

    Chatterjee, Ramkrishna.;

  • 作者单位

    Rutgers The State University of New Jersey - New Brunswick.;

  • 授予单位 Rutgers The State University of New Jersey - New Brunswick.;
  • 学科 Computer Science.
  • 学位 Ph.D.
  • 年度 2000
  • 页码 314 p.
  • 总页数 314
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类 自动化技术、计算机技术;
  • 关键词

  • 入库时间 2022-08-17 11:47:32

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号