Programming by semantic refinement

  • Authors:
  • James B. Morris

  • Affiliations:
  • University of California, Los Alamos Scientific Laboratory, Los Alamos, New Mexico

  • Venue:
  • Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
  • Year:
  • 1973

Quantified Score

Hi-index 0.03

Visualization

Abstract

It is becoming increasingly evident that human programmers are not capable of efficiently producing reliable programs if they must be concerned initially with every detail of the final program. The approach described here is one of “semantic levels of programming”, which involves a graduated approach to the production of programs. A common but fallacious belief of some software implementors today is that the efficient execution of software systems should be a major concern in the initial system version. In fact, the primary concern in the initial version should be the reliable operation of the system, which is closely connected with the existence of a sound, overall system design. Assuming that we recognize that there is some reasonable time from the initiation of a software system implementation project to the availability of an initial version, the philosophy of semantic refinement is based on the belief that: “If a major concern in the implementation of the initial version of a software system is efficiency, then the initial version will be unreliable.” Many systems which are initially unreliable have a way of remaining unreliable for a discouragingly long period of time.