Advertisement

Research and Advances

A real-time garbage collector based on the lifetimes of objects

In previous heap storage systems, the cost of creating objects and garbage collection is independent of the lifetime of the object. Since objects with short lifetimes account for a large portion of storage use, it is worth optimizing a garbage collector to reclaim storage for these objects more quickly. The garbage collector should spend proportionately less effort reclaiming objects with longer lifetimes. We present a garbage collection algorithm that (1) makes storage for short-lived objects cheaper than storage for long-lived objects, (2) that operates in real time—object creation and access times are bounded, (3) increases locality of reference, for better virtual memory performance, (4) works well with multiple processors and a large address space.
Research and Advances

Prototyping interactive information systems

Applying prototype-oriented development processes to computerized application systems significantly improves the likelihood that useful systems will be developed and that the overall development cycle will be shortened. The prototype development methodology and development tool presented here have been widely applied to the development of interactive information systems in the commercial data processing setting. The effectiveness and relationship to other applications is discussed.
Research and Advances

DOCUMENTS: an interactive online solution to four documentation problems

An adequate delivery system for user documentation addresses the problems of easy access, versatile publication, convenient administration, and good document quality. At the National Magnetic Fusion Energy Computer Center the DOCUMENT program helps solve these problems by providing a high level of service through strategies that can readily be exported to other contexts. Dividing machine-readable documents into keyword windows permits fully online, subject-oriented access to all passages. An adaptive, three-tier user interface extends flexible viewing control to novices and experts alike. DOCUMENT also supports online subject, title, and date catalogs, and provides on-demand output of hardcopy and microfiche. Several other document delivery systems are compared with DOCUMENT, and all have more rigid human interfaces, more structural display units for text, or more cumbersome output options.
Research and Advances

The dynamics of software project scheduling

Software project scheduling is one of the major problem areas faced by software project managers today. While several quantitative software project resource and schedule estimation methods have been developed, such techniques raise some important, but as yet unresolved, dynamic issues. A systems dynamics (SD) approach is used to analyze several key dynamic software project scheduling issues.
Research and Advances

ACL: a language specific for auditors

Audit software is essential for accountants. The software should be written to consolidate the audit support functions into a common language for management information systems (MIS). ACL (Audit Command Language) is a prototype language for designing a feasible interactive conversational language for auditing purposes.
Research and Advances

A general-purpose algorithm for analyzing concurrent programs

Developing and verifying concurrent programs presents several problems. A static analysis algorithm is presented here that addresses the following problems: how processes are synchronized, what determines when programs are run in parallel, and how errors are detected in the synchronization structure. Though the research focuses on Ada, the results can be applied to other concurrent programming languages such as CSP.
Research and Advances

Composing letters with a simulated listening typewriter

With a listening typewriter, what an author says would be automatically recognized and displayed in front of him or her. However, speech recognition is not yet advanced enough to provide people with a reliable listening typewriter. An aim of our experiments was to determine if an imperfect listening typewriter would be useful for composing letters. Participants dictated letters, either in isolated words or in consecutive word speech. They did this with simulations of listening typewriters that recognized either a limited vocabulary (1000 or 5000 words)or an unlimited vocabulary. Results suggest that some versions, even upon first using them, could be at least as good as traditional methods of handwriting and dictating. Isolated word speech with large vocabularies may provide the basis for a useful listening typewriter.
Research and Advances

Using formal specifications in the design of a human-computer interface

Formal specification techniques are valuable in software development because they permit a designer to describe the external behavior of a system precisely without specifying its internal implementation. Although formal specifications have been applied to many areas of software systems, they have not been widely used for specifying user interfaces. In the Military Message System project at the Naval Research Laboratory, the user interfaces as well as the other components of a family of message systems are specified formally, and prototypes are then implemented from the specifications. This paper illustrates the specification of the user interface module for the family of message systems. It then surveys specification techniques that can be applied to human-computer interfaces and divides the techniques into two categories: those based on state transition diagrams and those based on BNF. Examples of both types of specifications are given. Specification notations based on state transition diagrams are preferable to those based on BNF because the former capture the surface structure of the user interface more perspicuously. In either notation, a high-level abstraction for describing the semantics of the user interface is needed, and an application-specific one is used here.
Research and Advances

The evaluation of text editors: methodology and empirical results.

This paper presents a methodology for evaluating text editors on several dimensions: the time it takes experts to perform basic editing tasks, the time experts spend making and correcting errors, the rate at which novices learn to perform basic editing tasks, and the functionality of editors over more complex tasks. Time, errors, and learning are measured experimentally; functionality is measured analytically; time is also calculated analytically. The methodology has thus far been used to evaluate nine diverse text editors, producing an initial database of performance results. The database is used to tell us not only about the editors but also about the users—the magnitude of individual differences and the factors affecting novice learning.
Research and Advances

Remote office work: changing work patterns in space and time

Remote work refers to organizational work that is performed outside of the normal organizational confines of space and time. The term telecommuting refers to the substitution of communications capabilities for travel to a central work location. Office automation technology permits many office workers to be potential telecommuters in that their work can be performed remotely with computer and communications support. This paper examines some behavioral, organizational, and social issues surrounding remote work, particularly work at home. An exploratory study was conducted of 32 organizational employees who were working at home. Important characteristics of jobs that can be performed at home were: minimum physical requirements, individual control over work pace, defined deliverables, a need for concentration, and a relatively low need for communication. The individuals who worked at home successfully were found to be highly self-motivated and self-disciplined and to have skills which provided them with bargaining power. They also made the arrangement either because of family requirements or because they preferred few social contacts beyond family.
Research and Advances

A tree convolution algorithm for the solution of queueing networks

A new algorithm called the tree convolution algorithm, for the computation of normalization constants and performance measures of product-form queueing networks, is presented. Compared to existing algorithms, the algorithm is very efficient in the solution of networks with many service centers and many sparse routing chains. (A network is said to have sparse routing chains if the chains visit, on the average, only a small fraction of all centers in the network.) In such a network, substantial time and space savings can be achieved by exploiting the network's routing information. The time and space reductions are made possible by two features of the algorithm: (1) the sequence of array convolutions to compute a normalization constant is determined according to the traversal of a tree; (2) the convolutions are performed between arrays that are smaller than arrays used by existing algorithms. The routing information of a given network is used to configure the tree to reduce the algorithm's time and space requirements; some effective heuristics for optimization are described. An exact solution of a communication network model with 64 queues and 32 routing chains is illustrated.
Research and Advances

On the modeling of parallel access to shared data

A model is constructed of a database that can be accessed and modified concurrently by a number of users, and an approximate solution is presented. The resource allocation policies considered involve dynamic acquisition of entities and locking; deadlock is avoided by limiting the number of consecutive attempts to acquire a particular entity. The accuracy of the approximation is evaluated by simulations. Several generalizations aimed at improving the practicality of the model are described.
Research and Advances

The computational metaphor and quantum physics

Concurrent computational systems, viewed as sets of cooperating processes, are shown to have close analogies in the world of quantum physics. In particular, analogies exist between processes and particles, between a process' state and a particle's mass, between a process'state changes and a particle's velocity, and between interprocess communications and particle interactions. This view allows the application in the computational world of special relativity theory, the uncertainty principle, the law of conservation of momentum, and many of particle physics' fundamental results. This paper describes the basic analogy and some fundamental results. It is the authors' belief that new insights into a computational processes will be gained as the analogy is developed and vice versa. It is conceivable that established results of the computational sciences may contribute to a new understanding of some of the problems of physics. Other process-oriented sciences, such as biology, economics, and psychology, could also benefit from such development.
Research and Advances

Some factors affecting program repair maintenance: an empirical study

An empirical study of 447 operational commercial and clerical Cobol programs in one Australian organization and two U.S. organizations was carried out to determine whether program complexity, programming style, programmer quality, and the number of times a program was released affected program repair maintenance. In the Australian organization only program complexity and programming style were statistically significant. In the two U.S. organizations only the number of times a program was released was statistically significant. For all organizations repair maintenance constituted a minor problem: over 90 percent of the programs studied had undergone less than three repair maintenance activities during their lifetime.
Research and Advances

Software engineering for the Cobol environment

In a attempt to improve the productivity of their 70 development staff, Skandinaviska Enskilda Banken has built an integrated set of manual and automatic tools for the implementation of Cobol programs. It was possible to use a number of modern programming techniques, including software engineering methods, in a Cobol environment. The project required 31 person-months; the aims, current status, and initial results are reported.
Research and Advances

On the emulation of flowcharts by decision tables

Any flowchart can be emulated by a decision table, whose complexity depends on that of the flowchart. It may be necessary, however, to introduce a new control variable with associated tests and sets or to permit changes in execution sequences provided action-test independence holds. Two measures of decision table complexity are discussed and interrelated. Finally, conditions and procedures for reducing complexity are presented.
Research and Advances

A hash code method for detecting and correcting spelling errors

The most common spelling errors are one extra letter, one missing letter, one wrong letter, or the transposition of two letters. Deletion, exchange, and rotation operators are defined which detect and “mend” such spelling errors and thus permit retrieval despite the errors. These three operators essentially delete a letter of a word, exchange two adjacent letters, and rotate a word cyclically. Moreover, the operators can be used in conjunction with hashing, thus permitting very fast retrieval. Results of experiments run on large databases in Hebrew and in English are briefly indicated.
Opinion

ACM forum

This is a comment on “File Archival Techniques Using Data Compression” by Michael Pechura [Communications, Sept. 1982, p. 605]. We approached the data compression problem with the aim of maximizing the saving in archival storage over all files for which archival storage was necessary. We also wanted a routine which was reasonably economic in use of system resource.
Research and Advances

A critique of the foundations of Hoare style programming logics

Much recent discussion in computing journals has been devoted to arguments about the feasibility and usefulness of formal verification methods. Too little attention has been given to precise criticism of specific proposed systems for reasoning about programs. Whether such systems are to be used for formal verification, by hand or automatically, or as a rigorous foundation for informal reasoning, it is essential that they be logically sound. Several popular rules in the Hoare language are, in fact, not sound. These rules have been accepted because they have not been subjected to sufficiently strong standards of correctness. This paper attempts to clarify the different technical definitions of correctness of a logic, to show that only the strongest of these definitions is acceptable for Hoare logic, and to correct some of the unsound rules that have appeared in the literature. The corrected rules are given merely to show that it is possible to do so. Convenient and elegant rules for reasoning about certain programming constructs will probably require a more flexible notation than Hoare's.

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More