skip to main content
10.1145/263699acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM1997 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
POPL97: 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages Paris France January 15 - 17, 1997
ISBN:
978-0-89791-853-4
Published:
01 January 1997
Sponsors:
SIGPLAN, Ctr Natl de la Recherche Sci, L'Ecole des Mines de Paris, SIGACT
Next Conference
January 19 - 25, 2025
Denver , CO , USA
Bibliometrics
Abstract

No abstract available.

Article
Free
Fast and accurate flow-insensitive points-to analysis

In order to analyze a program that involves pointers, it is necessary to have (safe) information about what each pointer points to. There are many different approaches to computing points-to information. This paper addresses techniques for flow- and ...

Article
Free
Partitioning dataflow analyses using types

We present a simple method for partitioning a dataflow analysis problem into a series of related subproblems. We use type information (either declared by the programmer, or computed via nonstandard type inference) to conservatively approximate analysis-...

Article
Free
Shape types

Type systems currently available for imperative languages are too weak to detect a significant class of programming errors. For example, they cannot express the property that a list is doubly-linked or circular. We propose a solution to this problem ...

Article
Free
Objective ML: a simple object-oriented extension of ML

Objective ML is a small practical extension of ML with objects and toplevel classes. It is fully compatible with ML; its type system is based on ML polymorphism, record types with polymorphic access, and a better treatment of type abbreviations. ...

Article
Free
Rolling your own mutable ADT—a connection between linear types and monads

A methodology is described whereby a linear ADT may be rigorously encapsulated within a state monad. A CPS-like translation from the original ADT axioms into monadic ones is also described and proven correct, so that reasoning can be accomplished at the ...

Article
Free
Search and imperative programming

We augment the expressive power of imperative programming in order to make it a more attractive vehicle for problems that involve search. The proposed additions are limited yet powerful and are inspired by the logic programming paradigm. We illustrate ...

Article
Free
A unified computation model for functional and logic programming

We propose a new computation model which combines the operational principles of functional languages (reduction), logic languages (non-deterministic search for solutions), and integrated functional logic languages (residuation and narrowing). This ...

Article
Free
Call by need computations to root-stable form

The following theorem of Huet and Lévy forms the basis of all results on optimal reduction strategies for orthogonal term rewriting systems: every term not in normal form contains a needed redex, and repeated contraction of needed redexes results in the ...

Article
Free
Proof-carrying code

This paper describes proof-carrying code (PCC), a mechanism by which a host system can determine with certainty that it is safe to execute a program supplied (possibly in binary form) by an untrusted source. For this to be possible, the untrusted code ...

Article
Free
Does “just in time” = “better late than never”?

The World-Wide Web is emerging as a medium for distributing platform-independent, intermediate-form programs. Most Java vendors have recently announced plans to construct "just-in-time" systems, which translate the intermediate text into native code on ...

Article
Free
Parameterized types for Java

Java offers the real possibility that most programs can be written in a type-safe language. However, for Java to be broadly useful, it needs additional expressive power. This paper extends Java in one area where more power is needed: support for ...

Article
Free
Pizza into Java: translating theory into practice

Pizza is a strict superset of Java that incorporates three ideas from the academic community: parametric polymorphism, higher-order functions, and algebraic data types. Pizza is defined by translation into Java and compiles into the Java Virtual Machine,...

Article
Free
Determining the idle time of a tiling

This paper investigates the idle time associated with a parallel computation, that is, the time that processors are idle because they are either waiting for data from other processors or waiting to synchronize with other processors. We study doubly-...

Article
Free
Model checking for programming languages using VeriSoft

Verification by state-space exploration, also often referred to as "model checking", is an effective method for analyzing the correctness of concurrent reactive systems (e.g., communication protocols). Unfortunately, existing model-checking techniques ...

Article
Free
Synchronization transformations for parallel computing

As parallel machines become part of the mainstream computing environment, compilers will need to apply synchronization optimizations to deliver efficient parallel software. This paper describes a new framework for synchronization optimizations and a new ...

Article
Free
Maximizing parallelism and minimizing synchronization with affine transforms

This paper presents the first algorithm to find the optimal affine transform that maximizes the degree of parallelism while minimizing the degree of synchronization in a program with arbitrary loop nestings and affine data accesses. The problem is ...

Article
Free
A Curry-Howard foundation for functional computation with control

We introduce the type theory λμv, a call-by-value variant of Parigot's λμ-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional ...

Article
Free
The π-calculus in direct style

We introduce a calculus which is a direct extension of both the λ and the π calculi. We give a simple type system for it, that encompasses both Curry's type inference for the λ-calculus, and Milner's sorting for the π-calculus as particular cases of ...

Article
Free
Behavioral equivalence in the polymorphic pi-calculus

We investigate parametric polymorphism in message-based concurrent programming, focusing on behavioral equivalences in a typed process calculus analogous to the polymorphic lambda-calculus of Girard and Reynolds.Polymorphism constrains the power of ...

Article
Free
Comparing the expressive power of the synchronous and the asynchronous π-calculus

The Asynchronous π-calculus, as recently proposed by Boudol and, independently, by Honda and Tokoro, is a subset of the π-calculus which contains no explicit operators for choice and output-prefixing. The communication mechanism of this calculus, ...

Article
Free
Program fragments, linking, and modularization

Module mechanisms have received considerable theoretical attention, but the associated concepts of separate compilation and linking have not been emphasized. Anomalous module systems have emerged in functional and object-oriented programming where ...

Article
Free
Minimal typings in atomic subtyping

This paper studies the problem of simplifying typings and the size-complexity of most general typings in typed programming languages with atomic subtyping. We define a notion of minimal typings relating all typings which are equivalent with respect to ...

Article
Free
Typing algorithm in type theory with inheritance

We propose and study a new typing algorithm for dependent type theory. This new algorithm typechecks more terms by using inheritance between classes. This inheritance mechanism turns out to be powerful: it supports multiple inheritance, classes with ...

Article
Free
Type checking higher-order polymorphic multi-methods

We present a new predicative and decidable type system, called ML, suitable for languages that integrate functional programming and parametric polymorphism in the tradition of ML [21, 28], and class-based object-oriented programming and higher-order ...

Article
Free
Types as abstract interpretations

Starting from a denotational semantics of the eager untyped lambda-calculus with explicit runtime errors, the standard collecting semantics is defined as specifying the strongest program properties. By a first abstraction, a new sound type collecting ...

Article
Free
Infinitary control flow analysis: a collecting semantics for closure analysis

Defining the collecting semantics is usually the first crucial step in adapting the general methodology of abstract interpretation to the semantic framework or programming language at hand. In this paper we show how to define a collecting semantics for ...

Article
Free
Automatic verification of parameterized linear networks of processes

This paper describes a method to verify safety properties of parameterized linear networks of processes. The method is based on the construction of a network invariant, defined as a fixpoint. Such invariants can often be automatically computed using ...

Article
Free
On the complexity of escape analysis

Escape analysis is an abstract interpretation technique for statically optimizing storage management devised by Park & Goldberg [30]. The main application of escape analysis is the optimization of storage management and data locality in garbage-...

Article
Free
A demand-driven set-based analysis

In this paper we present an analysis technique for isolating dead code in higher-order functional programs. First, we formalize what it means for a program fragment to contribute to the value returned by the program. Next, we provide a purely ...

Article
Free
Denotational semantics using an operationally-based term model

We introduce a method for proving the correctness of transformations of programs in languages like Scheme and ML. The method consists of giving the programs a denotational semantics in an operationally-based term model in which interaction is the basic ...

Contributors
  • Microsoft Corporation
  • University of Copenhagen
  • University of Copenhagen

Recommendations

Acceptance Rates

POPL '97 Paper Acceptance Rate36of225submissions,16%Overall Acceptance Rate824of4,130submissions,20%
YearSubmittedAcceptedRate
POPL '152275223%
POPL '142205123%
POPL '041762916%
POPL '031262419%
POPL '021282822%
POPL '011262419%
POPL '001513020%
POPL '991362418%
POPL '981753218%
POPL '972253616%
POPL '961483423%
POPL '941733923%
POPL '931993920%
POPL '922043015%
POPL '911523120%
POPL '891913016%
POPL '881772816%
POPL '871082927%
POPL '831702816%
POPL '821213831%
POPL '811212420%
POPL '791462718%
POPL '781352720%
POPL '771052524%
POPL '76902022%
POPL '751002323%
POPL '731002222%
Overall4,13082420%