Real-time program audit software

Data processing: software development – installation – and managem – Software program development tool – Testing or debugging

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S128000

Reexamination Certificate

active

06775827

ABSTRACT:

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyrights whatsoever.
MICROFICHE APPENDIX
Reference is made to the Microfiche Appendix which forms a part of this document and is incorporated herein by reference. The Microfiche Appendix comprises 188 frames located on 2 microfiche.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a method and system for auditing and analyzing the execution of computer programs in real-time, and particularly to a method and system for generating source program auditing statements for debugging an application program.
2. Description of the Related Art
Typically, computer source programs are written in a source programming language by computer programmers. Alternatively, source programs can be generated by a Fourth Generation Language (4GL) or a computer-aided software engineering (CASE) tool. Programs created using a Fourth Generation Language or a CASE tool are automatically translated into source statements of a conventional programming language as an intermediate step to compilation and execution. Conventional programming languages include Common Business-Oriented Language (COBOL), formula translation (FORTRAN), Pascal, and Report Program Generator (RPG), amongst others. These conventional programming languages are source programs that are compiled into executable modules or objects so that they may be executed. Alternative programming languages, such as Java or Basic, allow source programs to be directly executed by an interpreter, bypassing the compilation step.
The programmer using a conventional or alternative programming language, or the application designer using a 4GL or a CASE tool, uses available programming tools such as objects, functions, diagrams, routines, and/or operation codes to translate a perceived or defined need into a programmed solution. The output program must be tested to determine if the program works as designed. The program is executed against data to verify the efficacy and accuracy of the program as executed. Herein both the programmer and the application designer are generally referred to as the programmer.
In the art of computer programming, the quickest and easiest part of programming is writing or generating the source program, while the most difficult and time-consuming part is making the program work correctly. The computer program needs to work correctly both initially and years later. Errors in programming result from a variety of sources. Sometimes the programming specifications are not complete or correct, resulting in errors and rewrites. Also, the programmer's understanding or logic may not be correct. Frequently, the data processed by the program is not as anticipated. In addition, unanticipated error conditions increase the probability of program error or failure. Such conditions include human error resulting from operation and training inadequacies, hardware failures, and network problems resulting from the complex interaction of events at any moment of time in a company with hundreds or thousands of computer users.
When a program does not work properly or fails completely, it is essential to provide tools for quick, comprehensive analysis of the program's execution. In addition, tools that speed identification and resolution of any problems are needed. Tools that allow the source program to be quickly and easily understood and corrected are also desirable. These tools are helpful during initial testing by the programmer to increase programmer productivity, and to increase the quality and reliability of the program. These tools are crucially needed when the program fails or must be changed by a programmer who is totally unfamiliar with the source program while it is in production, often at a time of great stress, of economic loss to the company, and in a high-risk environment. The real-time program audit software of the present invention addresses these needs for virtually any source programming language, and is also applicable in 4GL and CASE programming environments.
Programs purporting to audit the execution of themselves or other programs are found in the prior art. These prior art programs lack the real-time nature of the current invention or are not as comprehensive in their auditing capabilities. The related art is represented by the following patents of interest.
U.S. Pat. No. 5,559,884, issued on Sep. 24, 1996 to Robert L. Davidson et al., discloses a method and system for generating and auditing a signature for executable modules. Davidson et al. do not suggest real-time program audit software according to the claimed invention.
U.S. Pat. No. 5,574,898, issued on Nov. 12, 1996 to David B. Leblang et al., discloses a data processing system and method which feature an object selector including an auditor for recording, as an audit record, which versions of objects are accessed by a processor during a data processing process. Each derived object is associated with an audit record. A system build process starts the auditor prior to executing commands which produce derived objects, and stops the auditor when those commands are completed. The process records any arbitrary sequence of commands. The invention of Leblang et al. is a CASE system and cannot be utilized with other programming languages or source programs, regardless of how they are generated. Also, the invention of Leblang et al. audits which version of a file is being utilized; it is a CASE version control system. The program also generates a configuration record which provides a complete record of software builds which includes a listing of all source file versions used, versions of build tools, and all build options specified. Configuration records can then be compared by showing the differences between two builds of the same program. Other commands label the builds with version labels on object versions listed in the record. The invention of Leblang et al. is designed to monitor the version of a software program, and the objects used within that software program, during the design of the program. It is a tool to be used by computer programmers who are utilizing CASE tools to write a software program and, therefore, is not as useful as the present invention in that it is limited to CASE tool program design. Also, the invention of Leblang et al. is not useful for monitoring the execution of a program in a remote time after the creation of the program. The invention of Leblang et al. is distinctly different from the present invention in that it was not designed to monitor the execution of a program utilizing any type of programming language; the current invention is designed to monitor any type of machine code as it executes. Leblang et al. do not suggest real-time program audit software according to the claimed invention.
U.S. Pat. No. 5,754,763, issued on May 19, 1998 to Thomas W. Bereiter, shows a software auditing program which is designed to monitor the number of users who simultaneously invoke one or more application programs which occur in response to system management tasks. The auditing program therein counts the number of simultaneous invocations in order to determine whether an authorized number of copies of each program within the managed region has been exceeded. The protocol requires a dedicated license server. The sole purpose of the invention of Bereiter is to use a license server to identify violations of the licenses of an organization. The program therein does not audit any other activity nor does it aid in the actual execution of a program. It does not aid in the monitoring of program errors and trouble shooting during the execution of a program or system, as does the current invention. Bereiter does not suggest real-time program audit software according to the claimed

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

Real-time program audit software does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Real-time program audit software, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Real-time program audit software will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3360999

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