Taking corrective action in computer programs during...

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Utility Patent

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S038110

Utility Patent

active

06170082

ABSTRACT:

TECHNICAL FIELD
The present invention relates generally to data processing and information management systems. In particular, the present invention relates to a standardized way to detect errors and a way to correct errors during the execution of a computer program by intercepting the execution of the computer program during instruction fetch, decode or execution and modifying one or more values to take corrective action. The present invention is useful for detecting and correcting errors such as those obtained from calculations performed by systems using dates that express the year in a truncated form.
BACKGROUND ART
Many computer programs in use today process values representing dates in which years are expressed in a truncated form of only two decimal digits. The truncated form has been widely adopted because it reduces the amount of space needed to store date information.
Although such a truncated form can express a range of only 100 years, this limitation has not yet caused widespread problems because the dates processed by most computer programs have been confined to this century. During the next four years, however, essentially every organization using data processing or information management systems will be affected by the so called “year 2000 problem” because these systems must process dates for years in the 1900s as well as in the year 2000 and beyond.
Solving the year 2000 problem has two aspects. The first aspect is identifying problematic instances in programs and data caused by dates in which years are expressed in a truncated form. The second aspect is fixing the problematic instances after they have been identified. Neither aspect lends itself to a standardized approach because there is no standard way to store a date. For example, one way in which a date may be stored requires six digits in which two digits are used to express the month, two digits are used to express the day within the month, and two digits are used to express the last two digits of the year; however, many variations exist for even this one way because the order of the digits representing month, day and year may be arranged in any order. Further, a variety of representations such as “packed decimal,” “binary” and “binary coded decimal” (BCD) may be used.
One scheme that has been offered to avoid the year 2000 problem expresses dates as 32-bit signed binary numbers representing the number of seconds since a base time such as midnight preceding Jan. 1, 1970. Unfortunately, for the specific example mentioned, the binary number reaches its maximum value in 2038. In other words, such a scheme does not avoid the problem but merely postpones it. In any case, using alternative ways to represent dates does not provide any help for finding and correcting errors in existing programs that use other formats to represent dates.
Without a standardized way to identify and correct problematic instances, organizations are forced to have programmers review programs to develop corrective measures. Throughout this discussion, the term “programmer” is intended to refer to any individual responsible for reviewing various computer programs and for developing corrective action. Such a review is not only prone to error and oversight but it is also expensive. Some estimates of the costs required by major organizations to correct their systems are staggering, exceeding $100 million. The breadth and depth of the problem is so great that even ardent competitors are participating in collaborative efforts to better understand the nature of the problem and to develop better tools to deal with it.
SUMMARY OF INVENTION
It is an object of the present invention to provide a standardized way to assist identifying problematic instances in programs
It is another object of the present invention to provide a way to take corrective action during execution of programs.
In accordance with one aspect of the present invention, a method performs a test-mode execution of a computer program in which diagnostic information pertaining to designated instructions is obtained and a report of the diagnostic information is generated; receives input prepared in response to the report, the input identifying one or more selected instances of operations within the computer program producing an erroneous result; and performs a production-mode execution of the computer program during which processing of instruction fetch, instruction decode or instruction execution for selected instructions is intercepted and one or more values are modified so as to take corrective action.
In accordance with another aspect of the present invention, a method for taking corrective action during execution of a computer program receives input, constructs control information in response to the input, and executes the computer program during which processing of instruction fetch, instruction decode or instruction execution is intercepted for selected instructions and corrective action is taken according to the control information
The present invention may be practiced in a variety of ways. For example, the present invention may be performed as a method or process, implemented by a computer system or other type of machine, tangibly embodied as a program of instructions on a machine readable storage medium, and embodied in transmissive media such as electric, electromagnetic or optical signals.
Alternative embodiments are set forth throughout this description and in the drawings in which like features are referred to using like reference numbers.


REFERENCES:
patent: 4193255 (1980-03-01), Ebihara et al.
patent: 4540292 (1985-09-01), Rubenstein et al.
patent: 4573127 (1986-02-01), Korff
patent: 4696003 (1987-09-01), Kerr et al.
patent: 5222052 (1993-06-01), Salame
patent: 5438574 (1995-08-01), Taniguchi
patent: 5446851 (1995-08-01), Yamaguchi
patent: 5511164 (1996-04-01), Brunmeier et al.
patent: 5526515 (1996-06-01), Ross et al.
patent: 5600836 (1997-02-01), Alter
patent: 5630118 (1997-05-01), Shaughnessy
patent: 5644762 (1997-07-01), Soeder
patent: 5761668 (1998-06-01), Adamchick
patent: 5987600 (1999-11-01), Papworth et al.
patent: 6012141 (2000-01-01), Isaman
patent: 182235 (1990-04-01), None
patent: 9738379 (1979-10-01), None
S. McCarthy, “2001: A Calculation Quandary,”Government Computer News,Aug. 1995, vol. 14, No, 17, p. 59.
J. Celko, E.L. Appleton and D. Baum, three articles,Datamation,Jan. 1996, vol. 42, No. 1, pp. 36-38, 42-44, 49, 50 and 53.
J. Hart, et al., “A Scaleable, Automated Process for Year 2000 System Correction,” Jan. 1996, Proc. of ICSE-18, pp. 475-484.
D. Bartholomew and C.L. Meador, two articles,Information Week,Feb. 1996, pp. 30-32, 36, 40, 44, 45, 48, 50 and 51.
F. Olsen, “Xpediter Helps Programmers Find and Edit Date Codes,” Jun. 1996, Government Computer News, Cahners Publishing Associates LP.
D. Henry, “Any Future in ‘Year 2000’ Stocks?” USA Today, Oct. 10, 1996, p. 3B.
R. Chandrasekaran, “A Date With Disaster on Jan. 1, 2000?” Washington Post, Oct. 25, 1996.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Taking corrective action in computer programs during... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Taking corrective action in computer programs during..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Taking corrective action in computer programs during... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2446279

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.