Browse Prior Art Database

Program Interface Checking Procedure

IP.com Disclosure Number: IPCOM000085081D
Original Publication Date: 1976-Feb-01
Included in the Prior Art Database: 2005-Mar-02
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Stasko, RA: AUTHOR

Abstract

As a programming system is being built, it is often of interest to know the global effects of changes made to the programming system, such as caused by adding a new version of one of its modules.

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

Page 1 of 1

Program Interface Checking Procedure

As a programming system is being built, it is often of interest to know the global effects of changes made to the programming system, such as caused by adding a new version of one of its modules.

A method is described which identifies (1) the side effects of changes made to the programming system, and (2) the modules that should be retested.

Associated with each module in the system is a data object A, residing in a library. Data object A contains the following information. 1. A table partitioning the module into basic blocks, a sequence of code having one entry point and one exit. This table also maps program statement numbers into basic blocks. 2. A Definition Correspondence table containing one entry for each variable assigned in the program. Each entry has a pointer to that variable's location in the symbol dictionary for the module. 3. A bit-vector, R, having one entry for each entry in the basic block table (1). The i-th entry in the vector corresponds to the i-th entry in the basic block table, representing a variable assignment that can "Reach" basic block i. At a CALL stmt or "GO TO" out of block stmt., R is an encoding of all variable assignments that can have an effect externally to the module. 4. A bit vector, U, having the same dimensionality as R. This bit vector represents all variable uses in the program that must be satisfied externally to the program; i.e., parameters on entry, external variables, PL/I scope of variables, etc.

Consider two modules, X and Y, in a programming system. Each has a data object A associated with it. Suppose X calls Y. In th...