Modular Control-Flow Analysis with Rank 2 Intersection Types

نویسندگان

  • Anindya Banerjee
  • Thomas P. Jensen
چکیده

The performance of optimising compilers crucially depends on the availability of controlflow information at compile time. For any first-order imperative program, such information is available via a flowchart constructed from the program text. Consequently, traditional dataflow analyses can be used to perform a series of compile-time program optimisations (Aho et al. 1986). For higher-order programs, however, a control-flow graph is often not evident from the program text. In these programs, even simple control structures like while loops are implemented using functions and computation is hidden under a single operation: function application. Hence, a number of control-flow analyses have been proposed (Jones 1981; Sestoft 1988; Shivers 1991; Jagannathan and Weeks 1995) for higher-order programs, all of which seek to answer the fundamental question: given a program point, what functions can be the result of evaluation at the program point? Given this information, the call-graph of a program can be constructed and a suite of compiler optimisations e.g., closure conversion (Steckler and Wand 1997; Dimock et al. 2001), useless variable elimination (Wand and Siveroni 1999), constant propagation, induction variable elimination (Shivers 1991) etc. can be enabled.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Rank Bounded Intersection: Types, Potency, and Idempotency

Intersection type systems realize a finite polymorphism where different types for a term are itemized explicitly. We analyze System-I, a rank-bounded intersection type system where intersection is not associative, commutative, or idempotent (ACI), but includes a substitution mechanism employing expansion variables that facilitates modular program composition and flow analysis. This type system ...

متن کامل

An Optimal Dynamic Control Method for an Isolated Intersection Using Fuzzy Systems

Traffic flow systems are nonlinear and uncertain, so it is very difficult to find their optimal points. In traditional traffic control systems, the traffic lights of crossings change in a fixed time period that is not optimal. On the other hand, most proposed systems are sufficiently capable of coping with the uncertainties of traffic flow. To solve this problem, there is a need to develop expe...

متن کامل

Inhabitation of Low-Rank Intersection Types

We prove that the inhabitation problem (“Does there exist a closed term of a given type?”) is undecidable for intersection types of rank 3 and exponential space complete for intersection types of rank 2.

متن کامل

Principal Typings and True Rank 2 Intersection Typable Recursive Definitions

We propose new typing rules for assigning rank 2 intersection types to (possibly mutually) recursive definitions. A major achievement of the new rules over previous proposals is that they allow to type also true rank 2 intersection typable recursive definitions (i.e., recursive definitions that have a rank 2 intersection type and no simple type). A notable feature of these rules is that they re...

متن کامل

Rank 2 Intersection for Recursive Definitions

Let ` be an intersection type system. We say that a term is `-simple (or just simple when the system ` is clear from the context) if system ` can prove that it has a simple type. In this paper we propose new typing rules and algorithms that are able to type (with rank-2 intersection types) recursive definitions that are not simple. Typing rules for assigning intersection types to (nonsimple) re...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Mathematical Structures in Computer Science

دوره 13  شماره 

صفحات  -

تاریخ انتشار 2003