Data processing: software development – installation – and managem – Software program development tool – Testing or debugging
Reexamination Certificate
1999-10-07
2003-07-08
Morse, Gregory (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Testing or debugging
C717S106000, C717S124000, C714S048000, C714S052000, C714S025000
Reexamination Certificate
active
06591413
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates generally to an improved data processing system and in particular to a method and apparatus for building a program. Still more particularly, the present invention provides a method and apparatus for identifying errors during compiling and linking of a program.
2. Description of Related Art
In creating programs and applications, developers will generate code in a high level form and use translators to translate the code to create executable program code, which is also referred to as object code. A commonly used translator is a compiler, which translates high level source code into machine language object code. In creating programs and applications, numerous modules may be created, requiring compiling by a compiler. Additionally, data files often are created for use with the modules. A linker is a tool used to link the compiled modules and data files to create an executable program. Other tools also are used in creating programs. These tools include, for example, SED, AWK, COPY, and MSGBIND. The SED utility is a “stream editor”, a program that reads a stream of data, makes changes to it, and passes the modified data on. The basic function of AWK is to search files for lines (or other units of text) that contain certain patterns. When a line matches one of the patterns, AWK performs specified actions on that line. MSGBIND is a utility program to bind a binary message file to an executable program. There is usually a separate binary message file for each supported national language. The creation of an executable program from modules and data files is also referred to as a software build.
A tool such as a make utility is used to automatically determine which build steps to execute. It invokes the appropriate build compilers, linkers, and other tools, and directs the output to a log file. GNU make is an example of a make utility. More information on GNU make may be found in GNU make Version 3.77, which is published by the Free Software Foundation 59 Temple Place, Suite 330, Boston, Mass. 02111-1307, ISBN 1-882114-80-9. Determining the success of a software build by a make utility is presently identified by checking the build output in the log file. This log file contains the output from each tool called by the make utility. Currently, this log file is checked for errors to decide the pass or fail status of the software build when the make utility completes execution. A significant amount of time may pass between when an error occurs and when the error is detected. For example, compile time for a program like an operating system may take hours depending on the size and complexity of the program, the speed of the compiler, and the performance of the hardware. Compile errors may happen at the beginning of the process, but the software build will continue to create unaffected parts and log these results to the log file. The analysis currently is postponed until all processes are complete.
Therefore, it would be advantageous to have an improved method and apparatus for quickly identifying errors occurring during a software build.
SUMMARY OF THE INVENTION
The present invention provides a method and apparatus in a data processing system for processing errors during building of a program. A set of tools needed to build the program is identified. Each tool within the set of tools is called. Responsive to a tool within the set of tools generating output, a determination is then made as to whether an error is present in an output generated by the tool. Responsive to determining a presence of the error, a notification is automatically generated.
REFERENCES:
patent: 4622633 (1986-11-01), Ceccon et al.
patent: 5428791 (1995-06-01), Andrew et al.
patent: 5600789 (1997-02-01), Parker et al.
patent: 5745689 (1998-04-01), Yeager et al.
patent: 5748961 (1998-05-01), Hanna et al.
patent: 5752034 (1998-05-01), Srivastava et al.
patent: 5758160 (1998-05-01), McInerney et al.
patent: 5822589 (1998-10-01), Diamant et al.
patent: 5953530 (1999-09-01), Rishi et al.
patent: 6144967 (2000-11-01), Nock
patent: 6195795 (2001-02-01), Block et al.
patent: 6219802 (2001-04-01), Beeker et al.
patent: 6321376 (2001-11-01), Willis et al.
patent: 6345322 (2002-02-01), Humphrey
patent: 6434628 (2002-08-01), Bowman-Amuah
patent: 6515967 (2003-02-01), Wei et al.
Title: ATOM A system for building customized program analysis tools, author: Srivastava et al, ACM, 1994.*
Title: Inoculating software survivability, author: Ghosh et al, ACM, 1999.*
Title: GENOA—A Customizable, Fron-End-Retargetable Source Code Analysis Framework, author: Devanbu, ACM, Apr., 1999.*
Richard Stallman, GNU Make, A program for Directing Recompilation. May 1998, [retrieved Jul. 8, 2002]. Retrieved from the internet:<URL:http://www.gnu.org/manual/make-3.77/html_mono/make.html>.
Humphrey Randy Scott
Turner Steven Donald
Wagner Jonathan Mark
Das Chameli C.
Dawkins Marilyn Smith
Yee Duke W.
LandOfFree
Method and apparatus in a data processing system for faster... 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 in a data processing system for faster..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus in a data processing system for faster... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3085925