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

Instruction Abstraction for Generalized Test Case Coding

IP.com Disclosure Number: IPCOM000108797D
Original Publication Date: 1992-Jun-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 3 page(s) / 113K

Publishing Venue

IBM

Related People

Day, CC: AUTHOR [+4]

Abstract

Disclosed is a method allowing IVGEN to create a different assembly code for a defined function every time it generates a test case.

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

Instruction Abstraction for Generalized Test Case Coding

       Disclosed is a method allowing IVGEN to create a
different assembly code for a defined function every time it
generates a test case.

      One of the drawbacks in manually generated test cases is the
writer is using only one or two instructions to construct a needed
function in a test case.  For example, if the DMA function requires a
load and a store, the test case writer may choose L and ST to
implement this function.  This choice is well tested.  However, DMA
is never tested with other combinations such as LX/ST or L/STU or
LX/STU, etc. This could pose a serious testing deficiency.

      The solution to this problem lies in the IVGEN knowledge
organization and the creation of instruction abstraction.  In the
instruction knowledge organization, an instruction belongs to one or
more classes (see the figure above).  When a function is described as
a sequence of instructions, if a group of instructions satisfies the
requirement of that function, then that group unit name will be used
in the method (procedure) to describe the function. Since this unit
is the parent of those instructions, any of those instructions can be
used to construct the function. That means any time that IVGEN is
activated to produce this function, a new combination of instructions
will be used. The net effect is that different codes are generated
every time IVGEN creates this function.

      For example, the DMA function (or any software-defined function
or procedure) requires a load instruction.  If any child of the LD_
STRING_INSTRS can be used to construct the function, then the LD_
STRING_INSTRS symbol will be used to construct the SET_UP, TRIGGER,
CHK_DONE and CHK_RESULTS procedures of the DMA function instead of
specifying any instance of LD_STRING_INSTRS (one of LSI, LSX, LSCBX
instructions).  The Instruction Selection Scheme (ISS) will select an
instruction among the three to construct the function.

      If any of the LD_ONLY_INSTRS, LD_STRING_INSTRS or LD_W_UPDATE_
INSTRS is qualified to handle the load for DMA, then their parent,
the LD_INSTRS, will be used to construct the procedures.

      The following gives an example of a union of a group of
instructions used to specify the necessary operation.  If the
required operation "type" is a "load operation", any child in the
union of LOAD_ WORD_INSTRS and LOAD_STRING_INSTRS can be used to
generate the test case. Any one of the following three lines of code
can be generated, provided the registers used are...