Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method to generate test programs with directed and finely controlled randomisation

IP.com Disclosure Number: IPCOM000197254D
Publication Date: 2010-Jun-30
Document File: 2 page(s) / 47K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for generating test programs based on randomised elements which can be finely controlled. The technique involves a code specification with fixed and random elements, the random elements defined by further specification based on standard and programmer-defined selection functions.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

Method to generate test programs with directed and finely controlled randomisation

Description

Existing techniques for generating randomised test stimulus for software under test (SUT) are based on two extreme ends of the random code generation spectrum:
- A purely random code stream based on some basic constraints which can generate extremely wide ranging states in the SUT. An example of this is a source language file generator for compilers or a bytecode sequence generator for virtual machines.
- A random code stream with lots of well-defined constraints supplied by a model of the entity to be tested. An example of this is the model used by a CPU simulator

which generates assembly language code streams as input to the simulator

This paper describes a directed random code generator (DRCG)

allows test developers the ability to control randomisation anywhere between these extremes.

It has the advantage over the first technique in that randomisation constraints, structure and values can take any form the programmer wishes, allowing complete control of the type and extent of randomisation. It has the advantage over the second technique in that randomisation constraints, structure and values are not intimately bound to a model of the entity being tested. It has the advantage over both techniques in that any programming language, in fact any text with controlled random elements, can be used.

    It has the disadvantage that more effort is required by test developers to write the code generation specification. The reward for this effort is precisely targeted test code generation.

    The DRCG technique has been implemented as a prototype to test cross-platform application and system virtual machines. This work showed that the technique allows test developers to optimise two key resources: their knowledge of the SUT and test machine cycles.

    DRCG is built on the notion of templates, picklists and selection functions. Templates represent two aspects of the test code; the invariant and the varying. Picklists and selection functions replace parts of code...