skip to main content
10.1145/512950acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
POPL '77: Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ACM1977 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
Los Angeles California January 17 - 19, 1977
ISBN:
978-1-4503-7350-0
Published:
01 January 1977
Sponsors:
Next Conference
January 19 - 25, 2025
Denver , CO , USA
Bibliometrics
Skip Abstract Section
Abstract

The papers in this volume were presented at the Fourth ACM Symposium on Principals of Programming Languages, sponsored jointly by SIGACT and SIGPLAN. These papers were selected from over 105 abstracts submitted in response to the Committee's call for papers. The Committee wishes to thank all those who submitted abstracts for consideration.The papers in these Proceedings have not been formally refereed, and several of the papers represent preliminary reports of ongoing research. It is anticipated that most of these papers will appear in more complete form in scientific journals.

Skip Table Of Content Section
Article
Free
Programming language constructs for which it is impossible to obtain good hoare-like axiom systems

Hoare-like deduction systems for establishing partial correctness of programs may fail to be complete because of (a) incompleteness of the assertion language relative to the underlying interpretation or (b) inability of the assertion language to express ...

Article
Free
Code-generation for machines with multiregister operations

Previous work on optimal code generation has usually assumed that the underlying machine has identical registers and that all operands fit in a single register or memory location. This paper considers the more realistic problem of generating optimal ...

Article
Free
A new strategy for code generation: the general purpose optimizing compiler

This paper presents a systematic approach to the problem of generating good code with a compiler that is easy to construct. A compiler structure is proposed which relies on interprocedural data flow analysis, global optimization, and an intermediate ...

Article
Free
Applications of high level control flow

Control flow relations in a high level language program can be represented by a hierarchy of small graphs that combines nesting relations among statements in an ALGOL-like syntax with relevant perturbations caused by goto or leave statements. ...

Article
Free
Generalized common subexpressions in very high level languages

We propose a new optimization technique applicable to set-oriented languages, which we shall call general common subexpression elimination. It involves the computation of the IAVAIL(n) function for all nodes n in a flow graph, where IAVAIL(n) is the set ...

Article
Free
Expression continuity and the formal differentiation of algorithms

This paper explores the technique of 'strength reduction' or 'formal differentation' in a set theoretic context, as recently introduced by Earley. We give pragmatic rules for the recognition and treatment of reasonably general cases in which the ...

Article
Free
Applications of a graph grammar for program control flow analysis

A standard approach to the analysis of program structure for the purpose of code optimization is to construct the "control flow graph" which models the possible execution paths through the program. Various graph algorithms can be applied to the control ...

Article
Free
On the covering of left recursive grammars

In this paper we show that some prevailing ideas on the elimination of left recursion in a context-free grammar are not valid. An algorithm and a proof are given to show that every proper context-free grammar is covered by a non-left-recursive grammar.

Article
Free
An efficient insertion-only error-corrector for LL(1) parsers

An LL(1)-based error-corrector which operates by "insertion-only" is studied. The corrector is able to correct and parse any input string. It is efficient (linear in space and time requirements) and chooses least-cost insertions (as defined by the user) ...

Article
Free
Symbolic evaluation and the global value graph

This paper is concerned with difficult global flow problems which require the symbolic evaluation of programs. We use, as is common in global flow analysis, a model in which the expressions computed are specified, but the flow of control is indicated ...

Article
Free
An interprocedural data flow analysis algorithm

A new interprocedural data flow analysis algorithm is presented and analyzed. The algorithm associates with each procedure in a program information about which variables may be modified, which may be used, and which are possibly preserved by a call on ...

Article
Free
Implementation of an array bound checker

This paper describes a system which checks correctness of array accesses automatically without any inductive assertions or human interaction. For each array access in the program a condition that the subscript is greater than or equal to the lower bound ...

Article
Free
The evolution of programs: a system for automatic program modification

A programmer spends more time modifying already existing programs than constructing original ones. An attempt is made to formulate techniques of program modification, whereby a program that achieves one result can be transformed into a new program that ...

Article
Free
Parallel program correctness through refinement

We develop a theory for the correctness of asynchronous parallel programs. A program is considered correct if its behavior is in some sense similar to that of an abstract version of the program. We discuss various criteria for this similarity. We then ...

Article
Free
Generalized left corner parsing

Brosgol [Br] formalizes the notion that parsing methods can be classified by the positions at which production rules are recognized. In an LL parser, each rule is recognized at the left end, before the rule's yield has been read; in an LR parser, a rule ...

Article
Free
Elimination of single productions from LR parsers in conjunction with the use of default reductions

One of the most attractive techniques in optimizing LR parsers is to eliminate reductions by semantically insignificant productions of the form A → X (single productions), where X is a nonterminal or a terminal; such a modification can lead to substantial ...

Article
Free
The competence/performance dichotomy in programming preliminary report

We consider the problem of automating some of the duties of programmers. We take as our point of departure the claim that data management has been automated to the point where the programmer concerned only about the correctness (as opposed to the ...

Article
Free
Structuring

Structuring can be defined independently of what is being structured, and can be applied profitably to more than one domain. Using one mechanism to structure both values and assignments, we obtain equivalents for a variety of data and control ...

Article
Free
Minimal and optimal computations of recursive programs

Procedure call mechanisms have mainly been studied in the framework of recursive programs without assignments, for the simplicity of their operational and denotational semantics (See Scott [16], Nivat [14], Vuillemin [17]).

According to operational ...

Article
Free
Threshold evaluation and the semantics of call by value, assignment and generic procedures

We use the concept of evaluation up to a given threshold of information to generalize the semantics of call by value and assignment to non-discrete domains, and to define a formal semantics for generic procedures. We then prove the correctness of ...

Article
Free
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints

A program denotes computations in some universe of objects. Abstract interpretation of programs consists in using that denotation to describe computations in another universe of abstract objects, so that the results of abstract execution give some ...

Article
Free
The equivalence problem for program schemata with nonintersecting loops

In his thesis Paterson proved that equivalence is decidable for program schemata such that every instruction falls on at most one loop and only monadic function signs appear. Here we remove the restriction on function signs. The problem reduces to that ...

Article
Free
Synchronization in actor systems

This paper presents a mechanism for the arbitration of parallel requests to shared resources. This mechanism is the serialize, which may be described as a kind of protection mechanism, in that it prevents improper orders of access to a protected ...

Contributors
  • University of California, Berkeley
  • University of California, Berkeley
  • Nokia Bell Labs

Recommendations

Acceptance Rates

POPL '77 Paper Acceptance Rate25of105submissions,24%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%