An Automatic Programming Approach to Testing.

Abstract

Classical test generation techniques rely on search through gate-level circuit descriptions, which results in a combinatorial explosion of run times with increasing circuit size. In some instances, classical techniques cannot be used because they would take longer than the lifetime of the product to generate tests which are needed when the first devices come off the assembly line. Despite these difficulties, human experts often suceed in writing test programs or very complex circuits. How can we account for their success? A knowledge engineering approach is taken to this problem. It is conjecture that expert test programming performance relies in part on two aspects of human problem solving. First, the experts remember many cliched solutions to test programming problems. The difficulty lies in formalizing the notion of a cliche for this domain. For test programming, it is purposed that cliches contain goal-to-subgoal expansions, fragments of test program code, and constraints describing how program fragments fit together. An algorithm is presented which uses cliches to generate test programs. Second, experts can simulate a circuit which are useful for solving testing problems. A second algorithm is presented which simulates circuit behavior on symbolic inputs at roughly the register transfer level and generates fragments of test programs suitable for use by our first algorithm. This paper describes work in progress; prototypes of both algorithms have been implemented.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 1985
Accession Number
ADA166847

Entities

People

  • Mark H. Shirley

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Artificial Intelligence
  • Assembly
  • Assembly Lines
  • Automatic
  • Automatic Programming
  • Clocks
  • Computer Programming
  • Computer Science
  • Computers
  • Engineering
  • Lisp Programming Language
  • Programming Languages
  • Simulations
  • Simulators
  • Standards
  • Time Intervals

Fields of Study

  • Computer science

Readers

  • Artificial Intelligence
  • Integrated Circuit Design and Technology.
  • Operations Research