Entry Point Table Substitution for Software Defect Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Locating defects in new versions of complex software applications is challenging due to their large size and modular architecture, making it difficult for developers to identify and correct errors efficiently, especially when updates introduce changes, additions, or deletions in programming code.

Innovation Solution

A method that generates entry point tables for both new and golden versions of software programs, allowing for prioritized substitutions of procedures to isolate defects by replacing modules and procedures based on calculated priority values, using a substitution methodology that iteratively narrows down the defect scope until the responsible procedure is identified.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If developers manually search through large complex software applications to locate defects, then they can identify and correct errors, but the time and resources required increase significantly

Engineering Contradiction:
Improvedefect location accuracyVSAvoiddebugging time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the software application into modules and procedures, creating a hierarchical structure that can be systematically analyzed. By dividing the large complex codebase into smaller manageable units (modules containing procedures), the system can isolate defects to specific segments rather than searching through the entire application, thereby reducing debugging time while maintaining accurate defect location.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by generating entry point tables and calculating priority values for modules and procedures before the actual defect search begins. This pre-processing establishes a structured framework with pre-computed metrics that guide the subsequent defect localization process, eliminating the need for time-consuming manual exploration during debugging.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If developers search through all modules and procedures to find defects, then they can ensure comprehensive coverage, but the complexity of the debugging process increases

Engineering Contradiction:
Improvedefect detection completenessVSAvoiddebugging process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces priority values as a new parameter that quantifies the likelihood of each module or procedure containing a defect. By calculating and utilizing this parameter, the system transforms the debugging process from a brute-force search through all components to a targeted search based on priority rankings, thereby maintaining comprehensive defect detection while reducing process complexity through automated prioritization.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback mechanisms where the system tests modules and procedures in priority order, observes whether defects are reproduced, and uses this information to refine the search. This feedback loop allows the system to adaptively narrow down the defect location based on actual test results, ensuring comprehensive coverage of problematic areas while avoiding unnecessary examination of low-priority components.

Inventive Principle:
Principle #23Feedback

3Productivity

If systematic substitution of modules and procedures is performed to locate defects, then defect scope is narrowed efficiently, but the computational resources required increase

Engineering Contradiction:
Improvedefect location speedVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by performing systematic substitution only on the subset of modules and procedures that have high priority values, rather than exhaustively testing all components. By focusing computational resources on the most likely candidates for containing defects (those with highest priority values), the system achieves efficient defect location speed while avoiding the excessive computational cost of analyzing every module and procedure in the application.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11645045B2Efficient defect location in new code versions
Publication Date: 2023.05.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11645045B2 patent drawing
  • US11645045B2 patent drawing
  • US11645045B2 patent drawing

AI summary

Source code of a golden version and a next version of a program is received in which procedure calls are modified to call from an entry point table (EPT) with index numbers corresponding to procedure memory addresses. An executable defect-free golden version program and next version program with a defect are received. A first entry point table (first EPT) for the new version program and a second EPT for the golden version program are generated. A series of substitutions of procedures from the second EPT to the first EPT is performed and an order of substitutions includes: a module set, a module of the module set, a procedure set of the module, and a procedure of the procedure set. The defect producing procedure is identified by substituting in order until the defect is absent and proceeding to the next substitution in order.