Data processing: software development – installation – and managem – Software upgrading or updating – Plural version management
Reexamination Certificate
1999-06-10
2003-10-14
Ingberg, Todd (Department: 2124)
Data processing: software development, installation, and managem
Software upgrading or updating
Plural version management
Reexamination Certificate
active
06634026
ABSTRACT:
BACKGROUND OF THE INVENTION
The present invention relates generally to computer programs, and more particularly to a method and apparatus for correcting common errors in multiple versions of a computer program using pattern substitution.
It is commonly known that software programs are constantly updated, adding new features and repairing errors. Each update is considered a new version and oftentimes, there are many versions of a software program in existence at any given time. As a result, many versions of a program may have commonly-shared problems, such as a common Year 2000 (Y2K) problem.
To repair a Y2K problem in multiple versions of a computer program by conventional methods would include modifying the source code and creating yet another new version. If there are N existing versions of a given program, such a repair could require the creation of N new versions. Furthermore, when creating a new version of the program using compilation tools, the variables may be at different memory locations than in the prior version, which could result in additional problems. For example, because complex software may contain small errors that are sensitive to the locations of these variables, this technique may result in an unexpected change in the behavior of the program. Therefore, additional testing is required to determine that no undesired behavioral changes were induced. In other words, the programmer who is repairing the program for one problem, for example a Y2K problem, must thoroughly test each version of the program to ensure that no additional problems have been caused because of the repair.
In order to avoid this problem, one method of correcting a problem in a program includes modifying specific locations in the software. This prior art method is known as a “software patch” and the benefits of reduced testing are widely understood. However, one disadvantage of a software patch is that it requires intervention at a machine code level, and thus is not in an easily readable form. Another disadvantage of this method is that repeating this for each and every version of the software that has been created is time consuming and labor intensive.
It would therefore be desirable to have a method and apparatus that is capable of repairing many versions of a software program to address a common problem, such as the Y2K problem, with little intervention and minimal programmer time.
SUMMARY OF THE INVENTION
The present invention relates to a method and apparatus for correcting a common problem in multiple versions of a computer programming using a pattern substitution method that solves the aforementioned problems.
The present invention was developed to address a Y2K problem in multiple versions of a software program within a limited time period. However, the invention is not limited to Year 2000 repairs, but is applicable to any common problem experienced in multiple versions of a software program. The benefits of this technique are exemplified, however, when given a fixed deadline, such as what the Year 2000 problem imposes. The invention expands upon the prior art software patch technique by allowing a means of repairing multiple versions of software with a single repair program. The benefits of reduced testing are then multiplied by the number of versions of the program that are in existence, while the disadvantage of machine code intervention is incurred but a single time and reduces the potential of altering the behavior of any particular version of the program.
Therefore, in accordance with one aspect of the invention, a method of correcting a common error in multiple versions of a computer program includes identifying the common error in the computer program and finding a common code section that contains the common error. The method next includes locating a segment of the common code section that is modifiable, modifying the segment located to correct the common error, and then writing a repair program to search the other versions of the computer program and perform the modification step automatically for each version of the computer program.
In accordance with another aspect of the invention, a computer repair program stored on a computer readable storage medium and designed to repair an error in a main computer program stored in a computer is disclosed. The computer program is designed to search the main computer program for an affected segment of the code defined by a predetermined word string that is based on a previous review of an exemplary version of the main computer program. Once the repair program locates the affected segment, the repair program replaces the affected segment of code with a repaired segment.
Various other features, objects and advantages of the present invention will be made apparent from the following detailed description and the drawings.
REFERENCES:
patent: 5600836 (1997-02-01), Alter
patent: 5740442 (1998-04-01), Cox et al.
patent: 5758346 (1998-05-01), Baird
patent: 5761668 (1998-06-01), Adamchick
patent: 5765145 (1998-06-01), Masiello
patent: 5794048 (1998-08-01), Brady
patent: 5806063 (1998-09-01), Dickens
patent: 5903895 (1999-05-01), Hoffman et al.
patent: 5915116 (1999-06-01), Hochman et al.
patent: 5926814 (1999-07-01), Fridman
patent: 5956510 (1999-09-01), Nicholas
patent: 5966541 (1999-10-01), Agarwal
patent: 6002873 (1999-12-01), Carter et al.
patent: 6041330 (2000-03-01), Carman et al.
patent: 6064817 (2000-05-01), Carter et al.
patent: 6071317 (2000-06-01), Nagel
patent: 6078734 (2000-06-01), Carter et al.
patent: 6185571 (2001-02-01), Carter et al.
patent: 6233728 (2001-05-01), Carter et al.
patent: 6305010 (2001-10-01), Agarwal
patent: 6336184 (2002-01-01), Burke et al.
“The Year 2000 and 2-digit A Guide for Planning and Implementation” Sixth Edition, IBM, Chapter 5, published Dec. 1996.*
Clear Case Concept Manual, ATRIA, Unix Edition Release 2.0 pp. 1-135, 1994.*
“The Norton Utilities Version 5.0 User's Guide”, Disk Editor, pp. 55-57, 1990.*
“The Year 2000 and 2-Digit Dates: A Guide for Planning and Implementation”, IBM, pp. iii-vi, Apr. 1997.*
“User's Guide to OS/2 Warp”, IBM, p. 150, 1995.*
“COBOL Millenium Language Extensions Guide”, IBM, chapters 1-8, Jun. 1998.*
“Application of Data-Centered Approach to Year 2000 Problem”, Wei-Tek Tsai, IEEE, pp. 287-288, 1997.*
“LegacyAid Year 2000 Solution”, Casemaker, pp. 1-21, Jul. 1998.*
“Seven Work PLans for Year-2000 Upgrade Projects”, Dick Lefkon, pp. 111-117, May 1997.*
“Variable Classification for Software Maintenance and Application to The Year 2000 Problem”, K. Kawabe et al. IEEE, pp. 44-50, Jun. 1998.*
“Dealing with Dates: Solutions for the Year 2000”, Computer, Robert Martin, pp. 44-57, Mar. 1997.*
“A Resource Guide to Year 2000 Tools”, Computer, N. Zvegintzov, pp. 58-63, Mar. 1997.*
“Using OS/2 2.1 Special Edition”, Barry Nanie et al, Chapter 14 pp. 335-364, Apr. 1993.
Della Penna Michael A.
General Electric Company
Horton Carl B.
Ingberg Todd
Ziolkowski Patent Solutions Group LLC
LandOfFree
Method and apparatus for correcting common errors in... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for correcting common errors in..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for correcting common errors in... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3132470