A Methodology for Evaluating Languages and their Compilers for Secure Applications.

Abstract

This technical memorandum proposes a methodology for the evaluation of Higher Order Programming Languages and their compilers that are to be used in the development of trusted software for secure application. The basic language issues identified are portable software, storage management, input-output, and exceptional conditions and handling. Two general techniques for resolving these issues are identified: (1) avoidance techniques whereby a language design avoids the issue, and (2) automatic techniques in which the compiler or its run system help resolve the issue. The automatic techniques fall into three categories: (1) confinement techniques, which prevent a program from employing its underlying machine in such a way that the machine would not legally implement the language; (2) predictive techniques, which infer some property of a program before it runs on any input data, and (3) automated debugging techniques, such as test data generation and debugging output. The report concludes with the use of the evaluation criteria on three language implementations, PL/1, Algol 68, and Pascal, for their resolution of the storage management issues. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 31, 1978
Accession Number
ADA056933

Entities

People

  • Erwin Book
  • Paul Eggert
  • Robert Uzgalis

Organizations

  • System Development Corporation

Tags

Communities of Interest

  • Energy and Power Technologies
  • Ground and Sea Platforms
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Automatic
  • Compilers
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Debugging
  • Department Of Defense
  • Engineering
  • Guarantees
  • Mathematics
  • Operating Systems
  • Programming Languages
  • Reliability
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computational Linguistics
  • Software Engineering.
  • Systems Analysis and Design

Technology Areas

  • AI & ML
  • AI & ML - Machine Translation