April 1976 - Vol. 19 No. 4

April 1976 issue cover image

Features

Research and Advances

Development of an international system for legal protection of computer programs

Is execution of a program “copying?” If a program is copyrighted, is execution an infringement of the copyright? Is an algorithm, or a program, or a computer running a program, patentable? If a program is licensed as a trade secret to N users with a nondisclosure clause, at what point is N so large as to be the equivalent of publication? How far can old laws be stretched to accommodate new technology? How can developing countries gain access to the computer software they need? Questions such as these increasingly have concerned software developers and lawyers since computer programs first began to be sold. Now international diplomats responding to the call of the developing nations for increased assistance in their development are asking similar questions.
Research and Advances

A comparative evaluation of versions of BASIC

From its inception, The BASIC language has grown in terms of its usage, scope of usage, and its features. This article compares ten of the current versions of BASIC with each other, with two earlier versions, and with the proposed standard for minimal BASIC. The comparison is arranged by the features of the versions and by computational comparison of computation and times and processing costs.
Research and Advances

LG: a language for analytic geometry

A conversational programming language for analytic geometry is described, together with some aspects of its implementation. The language allows the flexible definition of geometric objects and elements, computes their parameters, and displays the results. It also provides the capability of specifying a geometric figure via a collection of parameters and displaying various loci corresponding to these parameters. A third characteristic consists of the possibility of using this language to design other user oriented languages. LG has been specifically designed for use by nonprogrammers; it is easy to learn and very close to the natural language used in geometry.
Research and Advances

Logical analysis of programs

Most present systems for verification of computer programs are incomplete in that intermediate inductive assertions must be provided manually by the user, termination is not proven, and incorrect programs are not treated. As a unified solution to these problems, this paper suggests conducting a logical analysis of programs by using invariants which express what is actually occurring in the program. The first part of the paper is devoted to techniques for the automatic generation of invariants. The second part provides criteria for using the invariants to check simultaneously for correctness (including termination) or incorrectness. A third part examines the implications of the approach for the automatic diagnosis and correction of logical errors.

Recent Issues

  1. July 2024 CACM cover
    July 2024 Vol. 67 No. 7
  2. June 2024 Vol. 67 No. 6
  3. May 2024 CACM cover
    May 2024 Vol. 67 No. 5
  4. April 2024 CACM cover with text
    April 2024 Vol. 67 No. 4