Browse Prior Art Database

Product Retrofit Tool

IP.com Disclosure Number: IPCOM000108203D
Original Publication Date: 1992-May-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 2 page(s) / 136K

Publishing Venue

IBM

Related People

Innis, HA: AUTHOR [+4]

Abstract

A program is described which appropriately incorporates product code changes into multiple versions of a product. Code changes to one version will automatically be incorporated into any other versions even though the other versions have source code which is not exactly the same.

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

Product Retrofit Tool

       A program is described which appropriately incorporates
product code changes into multiple versions of a product. Code
changes to one version will automatically be incorporated into any
other versions even though the other versions have source code which
is not exactly the same.

      It is often desirable to retrofit software from one software
driver into another driver. Development and software support efforts
often maintain distinct multiple versions of the same product,
especially when customers are just receiving a follow-on release of a
product or when various national language supported (NLSable)
versions must be maintained. Consequently, as defects are reported or
found in one of the versions, the other versions are very likely
affected and will usually require the same or very similar code
update(s). An automated process which allows retrofitting source code
from one driver into another for different source code images of the
same or similar product is needed.

      This article describes an implementation which recognizes newly
added code in a driver by begin and end sentinel identifiers placed
into comments before and after newly added lines of code. The newly
added source code is identifiable by recognizing strings in code
delimiting comments. Thus, a code fix methodology is employed to
facilitate the retrofit recognition process. In the simplest
invocation of the invention, a list of affected input modules is
accepted for an updated driver which will be parsed for updated code.
The corresponding module names in the target driver are used for
placing the updates. The following scenario is performed by mapping
one change detected in an input module at a time, for every module in
the list of modules to be processed: (1) locate a begin code change
sentinel in a comment and save all input file bytes into a CURRENT
WORK buffer, starting at the beginning of that comment through the
end of the following comment which delimits the code change end; (2)
scan bytes backward which precede the beginning delimiter comment
string for a configured number of bytes, source file lines or source
code statements and save that information into a BEFORE CHANGE
buffer; (3) likewise, scan bytes forward which occur after the end
delimiter comment string for a configured number of bytes, source
lines or source code statements and save that information into an
AFTER CHANGE buffer; (4) open the corresponding target file which
will ultimately be updated, then search for a match to the bytes in
the BEFORE CHANGE buffer; (5) if any match is found, then the bytes
in the AFTER CHANGE buffer are searched for in the target file
starting after the BEFORE CHANGE buf fer matching text. Any bytes of
text, etc., which occur between the target file BEFORE CHANGE match
and the target file AFTER CHANGE match (i.e., BEFORE CHANGE and AFTER
CHANGE are not contiguous) are appropriately marked as a SUBJECT TO
REPLACEMENT area. All ca...