Sign In

Communications of the ACM

Table of Contents


New track


President's letter


ACM forum


Computing perspectives


Evaluation of safety-critical software

Methods and approaches for testing the reliability and trustworthiness of software remain among the most controversial issues facing this age of high technology. The authors present some of the crucial questions faced by software …

Disaster recovery planning for academic computing centers

Planning for recovery from a disaster is quickly becoming recognized as a necessity for higher education computing installations. This article presents a structural framework, describes the stages, and tells how to implement …

Departmentalization in software development and maintenance

Exploring the strengths and weaknesses of three alternative bases for systems staff departmentalization suggests the benefits of an organizational form in which maintenance is separate from new system development.

Skip lists: a probabilistic alternative to balanced trees

Skip lists are data structures that use probabilistic balancing rather than strictly enforced balancing. As a result, the algorithms for insertion and deletion in skip lists are much simpler and significantly faster than equivalent …

Fast hashing of variable-length text strings

Using only a few simple and commonplace instructions, this algorithm efficiently maps variable-length text strings small integers.

Concurrent operations on extendible hashing and its performance

Extendible hashing is a dynamic data structure which accommodates expansion and contraction of any stored data efficiently. In this article, an algorithm has been developed for managing concurrent operations on extendible hashing …