or
Bookmark and Share
Test protection, and repair through binary-code augmentation
   
Document Number
US Patent 5966541
Issued Date
October 12, 1999
Link
Inventors
Map
Abstract
A type mismatch problem in computer programs is said to occur when there is a mismatch between the form or classification of a value encountered during program execution and that anticipated by the program. A method for repairing or testing for many type mismatch problems in programs works by transforming a binary representation of the program into a new binary in which the problem is fixed or identified. The fix or identification is implemented by converting code that operates on variables that can suffer a mismatch into code that correctly accounts for or tests for the mismatch. Static or dynamic correlation methods, and/or control and data flow graphs are used to track certain values, to determine where to install patches and how to adjust branch, jump and procedure call references after patch installation has shifted the target references.
Drawing
Test protection, and repair through binary-code augmentation - US Patent 5966541 Drawing
Drawing from US Patent 5966541
Tags:
Description:
Amusing 0%
Clever 0%
Complex 0%
Efficient 0%
Historic 0%
Important 0%
Innovative 0%
Interesting 0%
Practical 0%
Simple 0%
Number of Claims:
27
Comments:
no comments yet
Owner
Published
October 12, 1999
Application Number
08/985,052
Filed
December 4, 1997
US Classification
717/132   717/128 717/130
Int'l Classification
G06F   9/45   (20060101)  
Examiner
Assistant Examiner
USPTO Field of Search
395/712  
Related Patents
6769114 - Methods and apparatus for preventing software modifications from invalidating previously passed integration tests

A software tool and methods for preventing software modifications from invalidating previously passed integration test cases is provided. The software tool and methods automatically modify an integrated software subroutine to collect test data for selected units of the integrated software. The software tool and methods also generate a software test environment including a driver and one or more stubs for each selected software unit. Subsequent versions of the software unit are then stimulated by the driver and stubs using the collected test data. The responses from the new version of the software unit are compared to the responses collected from the old version. Differences between the responses of the two software version are flagged, thereby preventing software modifications on the software unit from invalidating previously passed tests. Furthermore, the software tool and methods automate the incremental integration and testing of software units whose modifications are related. The software tool and methods automatically determines the set of software units to be combined, the set of test cases to exercise and the test results that must be satisfied so that previously passed integration tests will not fail. Several methods of reducing the potentially unbounded test data to a manageable amount are also described. The test data may be used to analyze important properties of the software. The test data and test environment are useful in several different phases of software development.

7325227 - System, method, and computer program product for identifying code development errors - Owned by Siemens Product Lifecycle Management Software

A preferred embodiment provides a system, method, and computer program product for software code testing. When a code change causes a regression, the system tests each modification to determine and isolate the cause of the regression.

7401322 - Software debugging tool - Owned by EMC Corporation (Hopkinton, MA)

In a method for testing computer code, each branch that occurs within the machine-readable code is located. A first tracepoint is placed immediately after the beginning of the branch and a second tracepoint at the target address of each branch, each tracepoint generating an indicator. When the machine-readable code with the tracepoints is executed on the target computer, the method identifies those indicators that have been generated by their corresponding tracepoints, thereby permitting determination of those branches that the program control flow has not passed through. The test cases are modified to exercise the previously omitted branches, and the converted code is re-executed, until all branches have been properly exercised. The tracepoints are automatically eliminated after they have performed their intended function.

6769116 - Diagnostic technique for debugging memory corruption - Owned by Oracle International Corporation (Redwood Shores, CA)

Memory management routines for a program are instrumented to check if the address of an object they are handling is equal to the value of a predetermined pointer. If the address of the object equals the value of the global pointer, then a debugging routine is called. In a debugger, a breakpoint is placed on the debugging routine, and the program is run until the breakpoint is tripped. At this or one of the later breakpoints, the corrupted memory address is repeatedly inspected until the operation that caused the corruption is executed.

6279127 - System for predicting year-2000 instruction failures - Owned by International Business Machines Corporation (Armonk, NY)

Object-code instruction traces are employed to analyze selected instructions of an application program for possible failure when confronted by a year-2000 date. The analysis includes directly identifying one or more instructions of the application program that may fail, as well as identifying whether the one or more instructions have a characteristic of a predefined false-positive failure pattern. A failure-pattern descriptor is assigned to each examined instruction which is indicative of whether the instruction may fail when confronted by a date in the year-2000 range, and whether the instruction is a possible false-positive failing instruction. The analysis employs user-specifiable run-control values, as well as predetermined filter-specification values in comparing traces of each selected object-code instruction to predefined instruction failure patterns.

Claims
Description
About| FAQs| Terms & Disclaimer| Link to Us| Contact Us