Steps Towards Efficiently Implementing Program Mutation Systems. The High Level Design of a Distributed Mutation System.

Abstract

Program mutation is a promising method for testing the functional correctness of programs. Its major criticism has been a lack of an efficient implementation method. This report presents four methods which have the potential to dramatically improve the time needed to perform program mutation: distributed computation, automatically detecting equivalent mutants, partial mutant execution, and a 'weak' version of program mutation. The presentation of the four potential speed-up methods is given in terms of a high-level design of a prototype distributed program mutation system. One goal of this system will be to analyze how the parallelism inherent in program mutation can be exploited on emerging distributed computer systems consisting of many processors. Another goal is to perform experiments to measure the gain in efficiency realizable by a distributed program mutation system and to compare the relative strength of weak program mutation against program mutation. In the report we also indicate areas which should receive special attention in the detailed design of a prototype distributed mutation system if these goals are to be met.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 1981
Accession Number
ADA099500

Entities

People

  • Frederick G. Sayward
  • Richard J. Lipton

Organizations

  • Princeton University

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Computations
  • Computer Science
  • Computers
  • Databases
  • Distributed Computing
  • Efficiency
  • Electrical Engineering
  • Engineering
  • Language
  • Lists (Data Structures)
  • Local Area Networks
  • Mutations
  • Networks
  • Parallel Computing
  • Parallel Processing
  • Personal Computers
  • Prototypes

Fields of Study

  • Computer science
  • Engineering

Readers

  • Molecular and Cellular Biology
  • Parallel and Distributed Computing.
  • Systems Analysis and Design