Automated analysis of kernel and user core files including...

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

C717S168000, C717S126000, C717S128000, C717S127000, C714S048000, C714S049000, C714S053000

Reexamination Certificate

active

06763517

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates, in general, to systems and methods for analyzing core files and correcting and/or addressing bugs or errors in software applications executing on a computer system, and, more particularly, to an automated system and method for processing kernel and user core files created upon occurrence of an unexpected exception and for searching bug and patch records to rank the available patches and to recommend corrective actions that may be taken to enhance operation of the computer system.
2. Relevant Background
Computer system designers and analysts face the ongoing and often difficult task of determining how to fix or improve operation of a computer system that has experienced an unexpected exception or is failing to operate as designed (e.g., is experiencing errors caused by software problems or “bugs”). When a problem or bug in the computer system software is serious enough to stop or interrupt the execution of a running program, this failure is known as a crash. To assist in identifying bugs in the software operating on a computer system, software applications are often configured to create a crash dump or memory dump when an unexpected exception occurs to generate a memory image of the existing state of software executing on the system at the time of the crash or exception. These memory images are sometimes called core files (or dump files).
The system-level commands or programs in the operating system, i.e., the kernel software, are of particular interest to system analysts in correcting bugs in a crashed computer system. For example, in an UNIX®-based system, the kernel is the program that contains the device drivers, the memory management routines, the scheduler, and system calls. Often, fixing bugs begins with analysis of these executables, which have their state stored in a kernel core file. Similarly, user programs or binaries (e.g., binary, machine readable forms of programs that have been compiled or assembled) can have their state stored in user core files for later use in identifying the bugs causing the user applications to crash or run ineffectively.
Instead of writing a new, complete replacement version of the software (that crashed or had bugs), the designer or developer often prepares one or more small additions or fixes to the original software code (i.e., patches) written to correct specific bugs. For example, when a specific bug is identified, a patch is written or obtained from a third party to correct the specific problem and the patch is installed on the computer system. A single patch often contains fixes for many bugs for convenience. However, a particular bug is usually, but not always, fixed by a single patch (i.e., multiple patches usually do not address the same bugs). Typically, system analysts or operators keep or acquire records of previously identified bugs and corresponding patches installed for each identified bug. Then, when a bug is encountered in a system, the system analyst efforts to fix the problem begin with a search of these records of prior bugs to identify the bug or find a similar, previously-identified bug. Once the bug is identified, a relevant patch is selected that may correct the problem or a new patch may be written similar to or based on the previous patch. Additionally, the analyst may determine if a newer version of the patch is now available.
For example, a bug may be identified that causes an exception, such as causing the computer system to fall into panic when two specific programs are run concurrently. A record of the bug would then be created and stored in a database including a bug identifier (e.g., alpha-numeric identification code) along with descriptive information such as a synopsis describing the problem (for the above example, “system falls into panic while shutdown procedure is executed during writing”) and information describing the results or symptoms of the bug (e.g., a crash, hang, stack trace, type of panic, and the like). Once a fix for the bug is available, a patch may be created containing the bug fix and other bug fixes. A patch record is associated with each patch. The patch record includes identifying information such as a patch identifier (e.g., an alpha-numeric code), references to corrected or addressed bugs, textual description of the purposes of the patch, references to specific software useful with the patch (e.g., a specific user application, kernel software for specific operating systems, and the like), dependent packages, related patches, and other useful identifying and patch-user information.
While providing useful information to a system analyst, the volume of information in these bug and patch files usually grows into a very large, unmanageable amount of information (e.g., 500,000 and more bug entries for widely-used operating computer systems and networks), and the amount of data in these files continues to grow as new bugs and patches are identified, created, and installed. Hence, the task of identifying appropriate patches for an identified bug is a difficult task, and system analysts often resort to making educated guesses for searching these lengthy patch records.
Existing searching methods for identifying appropriate patches to correct bugs do not meet the needs of system analysts. Searching methods and tools are typically fully or partially manual processes involving manually entering search terms to process the large patch record lists, identifying potentially relevant patches, and then selecting one or more patches.
In addition, the more direct approach of analyzing the resulting core file to accurately identify the bug causing the problem is an even more difficult task. The core file analysis tools available are typically only useful for kernel core files and are difficult to effectively use (e.g., require extensive training and knowledge of the system being analyzed which often can only be gained with years of working experience).
Often, the operator is unable to identify a specific patch for the problem and is forced to install numerous patches to increase the likelihood that the bug will be corrected. This inaccurate “over” patching is often time consuming, costly, and disruptive to the computer system, which may not be acceptable to users of the system. Some patch tools are available to identify patches that are installed on the computer system for which new versions are available (which in many systems is hundreds of patches at any given time), but these tools do not assist in identifying a particular patch for correcting an identified bug.
Hence, there remains a need for an improved method and system for identifying patches for installation in a computer system to correct or address software bugs or glitches. Such a method and system preferably would leverage existing tools and files (e.g., bug and patch files) and be configured to be easy to use with little or no operator training while still providing an accurate identification of appropriate patches to correct bugs identifiable in a core file (such as a kernel core file and, also, a user core file).
SUMMARY OF THE INVENTION
The present invention addresses the above discussed and additional problems by providing an automated core analysis system including a core analysis tool to allow a user, such as a system analyst, to quickly process a core file and search through available patches to identify one or more patches that address the problems (i.e., bugs) found in the core file. Significantly, the analysis of the core dump or core file is performed automatically by the core analysis tool, thereby reducing the need for special training and system knowledge. Patch searching is also performed automatically and in one embodiment, is more effective because it includes an initial step of creating a patch search set based on the software packages actually installed on the client computer system that generated the core file. The patch search set may be further narrowed based on the identified problem type. The patches in the patch search set are th

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

Automated analysis of kernel and user core files including... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Automated analysis of kernel and user core files including..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Automated analysis of kernel and user core files including... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3209325

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