Advertisement

Research and Advances

Dhrystone: a synthetic systems programming benchmark

Reflecting current data on the use of programming language constructs in systems programming, a synthetic benchmark is constructed based on the distribution appearing in the data. The benchmark executes 100 Ada statements that are balanced in terms of the distribution of statement types, data types, and data locality. Pascal and C versions of the benchmark are discussed.
Research and Advances

Building a user-derived interface

Many human-computer interfaces are designed with the assumption that the user must adapt to the system, that users must be trained and their behavior altered to fit a given interface. The research presented here proceeds from the alternative assumption: Novice behavior is inherently sensible, and the computer system can be made to adapt to it. Specifically, a measurably easy-to-use interface was built to accommodate the actual behavior of novice users. Novices attempted an electronic mail task using a command-line interface containing no help, no menus, no documentation, and no instruction. A hidden operator intercepted commands when necessary, creating the illusion of an interactive session. The software was repeatedly revised to recognize users' new commands; in essence, the interface was derived from user behavior. This procedure was used on 67 subjects. The first version of the software could recognize only 7 percent of all the subjects' spontaneously generated commands; the final version could recognize 76 percent of these commands. This experience contradicts the idea that user input is irrelevant to the design of command languages. Through careful observation and analysis of user behavior, a mail interface unusable by novices evolved into one that let novices do useful work within minutes.
Opinion

From Washington

Congress is paying careful attention to threats to U.S. high technology from two areas: trademark and patent infringement and proposed foreign violation of U.S. copyright laws. Computer technology is becoming a major victim of the nearly $8 billion counterfeit business threatening the American economy. Some recent product examples include fake Apple computers seized by U.S. Customs and reverse engineered Apples and other microcomputers on sale in Hong Kong for $300, about a third of the price of a genuine product. U.S. firms fear losses large enough to hinder research and development efforts. This would result in erosion of their technological edge.
Research and Advances

ADA:: past, present, future

Since the mid-1970s, the U.S. Department of Defense has been laying the groundwork for a major new computer language that may substantially displace FORTRAN and COBOL in the years ahead. With Ada just now starting to be used, Communications felt it would be timely to conduct an interview with Jean Ichbiah, the principal designer of this new language. Ichbiah discusses the evolution of Ada, evaluates its success so far, and speculates on its future.
Opinion

From Washington

The American Association for the Advancement of Science (AAAS) has recently passed a resolution opposing “continuing governmental efforts to restrict the communication or publication of unclassified research.” This statement reaffirms an AAAS resolution passed in 1982, which was against “governmental restrictions on the dissemination, exchange, or availability of unclassified knowledge.” According to the AAAS Committee on Scientific Freedom and Responsibility, the second resolution was prompted by what the society considers excessive Administration efforts to prevent export of U.S. technology to Soviet bloc countries. These measures include requesting prepublication review of unclassified technical papers, inhibiting communication of unclassified scientific research in university classrooms and research laboratories, limiting foreign student access to university research projects and results, censoring technical papers at professional society meetings, and restricting otherwise unclassified meetings to U.S. citizens.
Research and Advances

Hardware protection against software piracy

A system that prevents illicit duplication of proprietary software is suggested. It entails the customization of the programs for each computer by encryption. The use of a public key cryptogram for this purpose means that anyone can customize programs, but neither other programmers nor the people having complete access to the target computer can obtain copies that will run on other machines. A possible implementation of the system is considered in some detail. It is based on a hardware security unit that is attached to the computer and that decrypts and obeys some parts of the program.
Research and Advances

Memory occupancy patterns in garbage collection systems

Some programming languages and computer systems use dynamic memory allocation with garbage collection. It would be useful to understand how the utilization of memory depends on the stochastic parameters describing the size and life distributions of the cells. We consider a class of dynamic storage allocation systems which use a first-fit strategy to allocate cells and perform noncompacting garbage collections to recover free memory space when memory becomes fully occupied. A formula is derived for the expected number of holes (available cells) in memory immediately following a garbage collection which specializes to an analogue of Knuth's 'Fifty Percent' rule for nongarbage-collection systems. Simulations confirm the rule for exponentially distributed cell lifetimes. Other lifetime distributions are discussed. The memory-size requirements for noncompacting garbage collection are also analyzed.
Research and Advances

Determinants of program repair maintenance requirements

Considerable resources are devoted to the maintenance of programs including that required to correct errors not discovered until after the programs are delivered to the user. A number of factors are believed to affect the occurrence of these errors, e.g., the complexity of the programs, the intensity with which programs are used, and the programming style. Several hundred programs making up a manufacturing support system are analyzed to study the relationships between the number of delivered errors and measures of the programs' size and complexity (particularly as measured by software science metrics), frequency of use, and age. Not surprisingly, program size is found to be the best predictor of repair maintenance requirements. Repair maintenance is more highly correlated with the number of lines of source code in the program than it is to software science metrics, which is surprising in light of previously reported results. Actual error rate is found to be much higher than that which would be predicted from program characteristics.

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