acm-header
Sign In

Communications of the ACM

Table of Contents


Considerations for future programming language standards activities

This paper reviews the current state of programming language standards activities with respect to the anomalies which exist between the various published and proposed standards for Fortran, Cobol, PL/I, and Basic. Proposals are …

Use of the LRU stack depth distribution for simulation of paging behavior

Two families of probability distributions were needed for use by a virtual memory simulation model: headway between page fault distributions, and working set size distributions. All members of both families can be derived from …

The aliasing problem in computer-generated shaded images

Certain defects, such as jagged edges and disappearing detail, have long been an annoyance in digitally generated shaded images. Although increasing the resolution or defocusing the display can attenuate them, an understanding …

Concurrent reading and writing

The problem of sharing data among asynchronous processes is considered. It is assumed that only one process at a time can modify the data, but concurrent reading and writing is permitted. Two general theorems are proved, and  …

Anomalous behavior of the fifty-percent rule in dynamic memory allocation

This paper reports simulation data showing that, in dynamic memory allocation, the average free-to-allocated-block ratio can differ considerably and in both directions from the predictions of the 50 percent rule. A new derivation …

Equivalence of Hough curve detection to template matching


What can we do about the unnecessary diversity of notation for syntactic definitions?

The population of programming languages is steadily growing, and there is no end of this growth in sight. Many language definitions appear in journals, many are found in technical reports, and perhaps an even greater number remains …

A note on reflection-free permutation enumeration

Earlier it was shown by the present author [1] that among the classical algorithms for the generation of permutation sequences, only the Trotter-Johnson algorithm [2, 3] has the property that the reflection of any permutation …

The optimal approach to recursive programs

The classical fixedpoint approach toward recursive programs suggests choosing the “least defined fixedpoint” as the most appropriate solution to a recursive program. A new approach is described which introduces an “optimal fixedpoint …

A very high level programming language for data processing applications

Application development today is too labor-intensive. In recent years, very high-level languages have been increasingly explored as a solution to this problem. The Business Definition Language (BDL) is such a language, one aimed …

Perfect hashing functions: a single probe retrieving method for static sets

A refinement of hashing which allows retrieval of an item in a static table with a single probe is considered. Given a set I of identifiers, two methods are presented for building, in a mechanical way, perfect hashing functions …

An algorithm for reduction of operator strength

A simple algorithm which uses an indexed temporary table to perform reduction of operator strength in strongly connected regions is presented. Several extensions, including linear function test replacement, are discussed. These …

Improving programs by the introduction of recursion

A new technique of program transformation, called “recursion introduction,” is described and applied to two algorithms which solve pattern matching problems. By using recursion introduction, algorithms which manipulate a stack …

Dynamic memory allocation in computer simulation

e of 35 dynamic memory allocation algorithms when used to service simulation programs as represented by 18 test cases. Algorithm performance was measured in terms of processing time, memory usage, and external memory fragmentation …

An encoding method for multifield sorting and indexing

Sequences of character strings with an order relation imposed between sequences are considered. An encoding scheme is described which produces a single, order-preserving string from a sequence of strings. The original sequence …

Some theorems to aid in solving the file allocation problem

The file allocation problem — i.e. the problem of finding the optimal set of network sites at which to locate copies of a file — is known to be, in general, polynomial complete. Heuristics and other aids to finding optimal, or …

ACM forum


Letter from the chairman of ACM's publications board: does ACM need a “flagship”?